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

34 views (last 30 days)
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);

Answers (1)

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

Sign in to comment.

Categories

Find more on Cartesian Coordinate System Conversion in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!