Converting Rotation Matrices (Left handed to Right handed)

In summary, the person is trying to find a right handed rotation matrix that will provide the same rotations as the left handed rotation matrix they have, but will be standard so that they can use code libraries.
  • #1
neorich
20
1
Dear All,

I have inherited a few rotation matrices through some old computer code I am updating. The code is used to construct some geometry.

The matrices I have inherited are left handed rotation matrices and they are being applied to a right handed coordinate system, but they give the correct rotations (by correct I mean that the objects being rotated have the correct x, y and z in the right handed coordinate system).

What I want to do is to find the right handed equivalent rotation matrices to apply to the right handed coordinate system such that the the objects positions are unchanged, but my matrices become "standard". I require standard right handed matrices to allow me to make use of some code libraries.

So to re-cap:

I have a left handed matrix ML, a starting position vector V1, and a rotated position vector V2, at present I have:

V2 = ML * V1 ... and this gives the correct V2 for my geometry.

What I want is a right handed matrix MR, which also gives:

V2 = MR * V1 ... where V2 is the same in both equations and V1 is the same in both equations.

I need my solution to hold true for any V1 I choose to use, I am able to get a RH rotation matrix which applies to any given pair V1 and V2, but not simultaneously to all pairs.

Simply looking at the above equations, it is unclear that this can be done unless ML=MR.

But considering the geometry, I must be able to construct a RH rotation matrix that provides me with the rotations I need.

Below is an example of one of my present left handed rotation matrices:

ColX, ColY, ColZ
( 0.0397092 , -0.0288239 , 0.998795 )
( 0.808299 , -0.586725 , -0.0490677 )
( -0.587432 , -0.809273 , 0 )

clearly X cross Y = -Z here, and I need a matrix which has the property X cross Y = Z.

Thanks for any solutions, pointers and advice you can provide to me.

Regards

neorich
 
Physics news on Phys.org
  • #2
Your rotation matrices have determinant -1. In 3D, you can multiply them by -1 to make them proper rotation matrices with determinant 1.
 
  • #3
Thanks fzero, that was really helpful.

Regards

neorich
 

1. What is the difference between left-handed and right-handed rotation matrices?

Left-handed and right-handed rotation matrices are two different ways of representing rotations in three-dimensional space. The main difference is the direction of rotation. In a left-handed rotation matrix, the rotation is counterclockwise, while in a right-handed rotation matrix, the rotation is clockwise.

2. Why would you need to convert a rotation matrix from left-handed to right-handed?

There are a few reasons why someone might need to convert a rotation matrix from left-handed to right-handed. One common reason is when working with computer graphics or video game engines, which often use right-handed coordinate systems. Converting from left-handed to right-handed ensures that the rotations are represented correctly in these systems.

3. How do you convert a rotation matrix from left-handed to right-handed?

To convert a rotation matrix from left-handed to right-handed, you need to change the direction of rotation. This can be done by simply changing the sign of one of the elements in the matrix, depending on which axis you want to rotate around. For example, to convert a rotation around the x-axis, you would change the sign of the yz element in the matrix.

4. Are there any other differences between left-handed and right-handed rotation matrices?

Aside from the direction of rotation, left-handed and right-handed rotation matrices are essentially the same. They both have the same number of elements and represent the same rotations. The only difference is the direction of rotation, which is important when working with different coordinate systems.

5. Is it possible to convert a rotation matrix from right-handed to left-handed?

Yes, it is possible to convert a rotation matrix from right-handed to left-handed by changing the direction of rotation in the opposite way as when converting from left-handed to right-handed. This can also be done by changing the sign of one of the matrix elements, depending on the axis of rotation. However, it is important to note that converting back and forth between left-handed and right-handed can lead to cumulative errors, so it is best to avoid unnecessary conversions.

Similar threads

Replies
2
Views
725
Replies
6
Views
1K
Replies
3
Views
1K
Replies
5
Views
3K
  • Calculus and Beyond Homework Help
Replies
2
Views
1K
Replies
8
Views
551
Replies
4
Views
1K
Replies
3
Views
662
Replies
22
Views
1K
Replies
5
Views
2K
Back
Top