Rotation Matrix in 3D: Correcting Errors in 3D Coordinate System Rotation

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 2K views
Niles
Messages
1,834
Reaction score
0

Homework Statement


Hi

I have a coordinate system as attached, and I want to rotate it along the y-axis in the clockwise direction as shown. For this purpose I use
[tex] R = \left( {\begin{array}{*{20}c}<br /> {\cos \theta } & 0 & {\sin \theta } \\<br /> 0 & 1 & 0 \\<br /> { - \sin \theta } & 0 & {\cos \theta } \\<br /> <br /> \end{array} } \right)[/tex]
where θ<0 since I rotate CW. Say I now look at the point (x, y, z) = (1, 0, 1). This I want to rotate by θ=-45 degrees, which then becomes in the new system (x', y', z') = (0, 0, 1/√2). But that is wrong, according to my figure (which satisfies the right-hand rule) it should give (x', y', z') = (1/√2, 0, 0).

I thought I had followed the convention with the right-hand rule, but I must have made an error somewhere. I can't figure out where it is though, it seems consistent. I would be happy to get some feedback.Niles.
 

Attachments

  • coordinate_system.JPG
    coordinate_system.JPG
    2.3 KB · Views: 445
Last edited:
Physics news on Phys.org
Hello Niles

I don't know how you got (0, 0, 1/√2).

I multiplied your rotation matrix with (1,0,1) & got the right answer, which is (√2, 0, 0)

cos(-45) = 0.707
sin(-45) = -0.707
 
prash_neo said:
Hello Niles

I don't know how you got (0, 0, 1/√2).

I multiplied your rotation matrix with (1,0,1) & got the right answer, which is (√2, 0, 0)

cos(-45) = 0.707
sin(-45) = -0.707

Hi, and thanks

I think you must have made an error, it does give (0, 0, 1/√2). I just tried it out in Mathematica.
 
Hello Niles,

I think it should give (0,0,√2)

The point (1,0,1) lies on XZ plane. So its distance from origin is √ (1 + 1) = √2
As per the image you have attached.
It makings an angle of 45° CCW with Z-axis.
Now you are rotating the point CW 45°.
i.e you are moving the point about Y-axis, towards Z-axis.
So with distance from origin (or Y-axis) remaining constant, the point should now lie on Z-axis.
So the final point is (0,0,√2)
 
Niles said:

Homework Statement


Hi

I have a coordinate system as attached, and I want to rotate it along the y-axis in the clockwise direction as shown. For this purpose I use
[tex] R = \left( {\begin{array}{*{20}c}<br /> {\cos \theta } & 0 & {\sin \theta } \\<br /> 0 & 1 & 0 \\<br /> { - \sin \theta } & 0 & {\cos \theta } \\<br /> <br /> \end{array} } \right)[/tex]
IF you are doing the calculation as "Av" so that v is a column vector, then it should be
[tex]R= \begin{pmatrix}cos(\theta) & 0 & -sin(\theta) \\ 0 & 1 & 0 \\ sin(\theta) & 0 & cos(\theta)\end{pmatrix}[/tex]

If you do the calculation as vA, with v a row vector, then what you give would be correct.

where θ<0 since I rotate CW. Say I now look at the point (x, y, z) = (1, 0, 1). This I want to rotate by θ=-45 degrees, which then becomes in the new system (x', y', z') = (0, 0, 1/√2). But that is wrong, according to my figure (which satisfies the right-hand rule) it should give (x', y', z') = (1/√2, 0, 0).

I thought I had followed the convention with the right-hand rule, but I must have made an error somewhere. I can't figure out where it is though, it seems consistent. I would be happy to get some feedback.Niles.
 
prash_neo said:
Hello Niles,

I think it should give (0,0,√2)

The point (1,0,1) lies on XZ plane. So its distance from origin is √ (1 + 1) = √2
As per the image you have attached.
It makings an angle of 45° CCW with Z-axis.
Now you are rotating the point CW 45°.
i.e you are moving the point about Y-axis, towards Z-axis.
So with distance from origin (or Y-axis) remaining constant, the point should now lie on Z-axis.
So the final point is (0,0,√2)

I'm rotating the coordinate system, not the point as such. So it should give (√2,0,0) -- and it does when I follow HallsOfIvy's approach.

Thanks to both of you.