Rotate Basis Vectors Programmatically
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Mohammad MSBR
el 30 de Sept. de 2022
Comentada: Mohammad MSBR
el 2 de Oct. de 2022
I have six 6-dimensional basis vectors, i.e., that are orthogonal. I wonder how I can rotate these 6 vectors programatically in the 6D space to build new basis vectors. In other words, is there a way to parameterize these basis vectors so that I can change them without losing orthogonality?
A = [a1,a2,...,a6];
B = [b1,b2,...,b6];
C = [c1,c2,...,c6];
D = [d1,d2,...,d6];
E = [e1,e2,...,e6];
F = [f1,f2,...,f6];
Thank you.
0 comentarios
Respuesta aceptada
Más respuestas (2)
Chunru
el 30 de Sept. de 2022
Editada: Chunru
el 30 de Sept. de 2022
V1 = orth(randn(6)) % your original orthonormal basis
% Then you can apply any other orthonormal basis to it
% For example,
V2 = orth(randn(6)); % get another orthonormal basis
Vnew = V2*V1; % this is the transform of the original orthonormal basis
Vnew*Vnew' % to demonstrate the oorthonormal property
% If you want to control the rotation with angle in N-D space
% Rotate on hyperplane i-j by theta
i=2; j=4; % for example
theta = 5; % deg
R = eye(6); % 6D
R([i j], [i j]) = [cosd(theta) -sind(theta); sind(theta) cosd(theta)]
% Then you can have a series of rotation matrices and you can put them
% together as one rotation matrices
5 comentarios
Ver también
Categorías
Más información sobre Loops and Conditional Statements en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!