Filter löschen
Filter löschen

How to convert a right handed rotation matrix into a left handed one?

29 Ansichten (letzte 30 Tage)
Nora Hora
Nora Hora am 25 Jan. 2017
Kommentiert: Niels am 25 Jan. 2017
Previsouly I used this(page 7): http://answers.unity3d.com/storage/temp/12048-lefthandedtorighthanded.pdf to transform my rotational matrix into a right handed one. Now I would like to make the opposite with a right handed one into left. Is there any suggestion? See my left to right conversion which is based on this paper.
[RH_R]=left_to_right(R_cw, alpha, beta, gamma)
%%left-handed rotation angles
theta_x = gamma;
theta_y = beta;
theta_z = alpha;
%%left-handed coordinate rotation matrices
R_cw_X = [1 0 0; 0 cos(theta_x) -sin(theta_x); 0 sin(theta_x) cos(theta_x)];
R_cw_Y = [cos(theta_y) 0 sin(theta_y); 0 1 0; -sin(theta_y) 0 cos(theta_y)];
R_cw_Z = [cos(theta_z) -sin(theta_z) 0; sin(theta_z) cos(theta_z) 0; 0 0 1];
%%left-handed composite rotation
LH_R= R_cw_Z * R_cw_Y * R_cw_X;
%%right-handed composite rotation
RH_R=LH_R;
RH_R(1,3) = -RH_R(1,3);
RH_R(2,3) = -RH_R(2,3);
RH_R(3,1) = -RH_R(3,1);
RH_R(3,2) = -RH_R(3,2);

Antworten (1)

Niels
Niels am 25 Jan. 2017
to change the direction of rotation it is enough to transpose the rotation matrix
if matrix A rotates clockwise then
A' rotates anticlockwise
  1 Kommentar
Niels
Niels am 25 Jan. 2017
same for the opposite case.
you could also just use the negativ angle (same effect) -> replace theta with -theta)

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Cartesian Coordinate System Conversion 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!

Translated by