Rotate Basis Vectors Programmatically
古いコメントを表示
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.
採用された回答
その他の回答 (2 件)
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 件のコメント
Mohammad MSBR
2022 年 9 月 30 日
Chunru
2022 年 9 月 30 日
See the update answer.
Mohammad MSBR
2022 年 10 月 1 日
Chunru
2022 年 10 月 2 日
Rotation on any hyper plane will not change orthogonity.
Mohammad MSBR
2022 年 10 月 2 日
Mohammad MSBR
2022 年 9 月 30 日
0 投票
4 件のコメント
Jan
2022 年 9 月 30 日
I do not understand this question. If you specify a hyperplane to rotate in and the rotational angle, the rotation matrix is unique. There is no order of rotations.
There is an infinite number of rotations in 6D, not just 6. Even rotations around the unit vectors are not meaningful for more than 3 dimensions, because there is not unique rotational axes. Therefore planes are required and the 6 unit vectors build 30 planes.
Mohammad MSBR
2022 年 10 月 1 日
Sorry, there are only 15 hyperplanes in 6D: 6 choices for the first vector, 5 possible choices for the 2nd one, but the order does not matter, so divide by 2.
nchoosek(1:6, 2)
Mohammad MSBR
2022 年 10 月 2 日
カテゴリ
ヘルプ センター および File Exchange で Multiobjective Optimization についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!