Rotate Basis Vectors Programmatically
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Mohammad MSBR
am 30 Sep. 2022
Kommentiert: Mohammad MSBR
am 2 Okt. 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 Kommentare
Akzeptierte Antwort
Weitere Antworten (2)
Chunru
am 30 Sep. 2022
Bearbeitet: Chunru
am 30 Sep. 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 Kommentare
Siehe auch
Kategorien
Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!