What is the calculation for the angle formed by the rotated x-axis in a 3D plot?

  • Thread starter Thread starter irishetalon00
  • Start date Start date
  • Tags Tags
    Rotation
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
1 reply · 2K views
irishetalon00
Messages
20
Reaction score
2

Homework Statement


I am working in Matlab, and have a 3D plot that I made:
ATTACH]

mkx2mt.png

IKX0GUG.png
x is parallel to axis labeled "lateral direction (m)"
y is parallel to axis labeled "long. dir. (m)"
z is normal to these (right hand coordinate sytem)

The original view was looking parallel with +y. To get the current view, I rotated our viewpoint about the x-axis -15 degrees, then rotated about the ORIGINAL z axis 10 degrees.

How do I calculate the angle that the x-axis now forms on the page?

For comparison, I used image editing software to measure the angle of the axis. It is a rectangle 12 high, 322 wide, so the angle is -2.134 deg.

Homework Equations

The Attempt at a Solution


I attempted to do rotation matrices. I did:
phi = -15deg
theta = 10deg

A =
[cos(theta) sin(theta) 0;
-sin(theta) cos(theta) 0;
0 0 1]

B =
[1 0 0;
0 cos(phi) -sin(phi);
0 sin(phi) cos(phi)]

B*A =
[ cos(theta), cos(phi)*sin(theta), -sin(phi)*sin(theta);
[ -sin(theta), cos(phi)*cos(theta), -cos(theta)*sin(phi);
[ 0, sin(phi), cos(phi)]

And do get the angle that the original x-axis forms with our new viewpoint, I do

r =
[1;
0;
0]

then do:
B*A*r

and I get:
[cos(theta);
-sin(theta);
0]

Which does not give me a correct result. Not only that, there is no way that a rotation in two different axes does not depend on both theta and phi.
 

Attachments

  • mkx2mt.png
    mkx2mt.png
    20.1 KB · Views: 276
Last edited:
Physics news on Phys.org
I made a mental faux pas. The reason for the discrepancy is that the axes in MATLAB are not equal by default. Once I set the axes to be equal, my calculated angle matches the measured axis angle.