Effacer les filtres
Effacer les filtres

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

29 vues (au cours des 30 derniers jours)
Nora Hora
Nora Hora le 25 Jan 2017
Commenté : Niels le 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);

Réponses (1)

Niels
Niels le 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 commentaire
Niels
Niels le 25 Jan 2017
same for the opposite case.
you could also just use the negativ angle (same effect) -> replace theta with -theta)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Cartesian Coordinate System Conversion dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by