How can I convert global rotation to local rotation for objects?

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
1 replies · 3K views
Fly7
Messages
2
Reaction score
0
Hi all, I don't know if this is the right section, but I really need to solve this problem. I've been searching for the correct formula for two days. OK, here's the picture:

ac2z6g.jpg

The global rotation of all objects (rot_x, rot_y, rot_z): red object (0.00, 45.00, 0.00), blue object (45.00, 0.00, 90.00) and green object (30.00, 35.26, 35.26).

I need to calculate the local rotation of the objects, so the local rotation of the green object should be (0.00, 45.00, 45.00). I want to be able to rotate objects locally, not globally. Here is one formula, but I don't understand how to use it:
Code:
[   1      0       0   ]
[   0    cos(a)  sin(a)] = Rx(a)
[   0   -sin(a)  cos(a)] 

[ cos(a)   0    -sin(a)]
[   0      1       0   ] = Ry(a)
[ sin(a)   0     cos(a)]

[ cos(a) sin(a)   0    ]
[-sin(a) cos(a)   0    ] = Rz(a)
[   0      0      1    ]

[URL="http://stackoverflow.com/questions/6252223/adding-local-rotation-to-global-rotation"]source[/URL]
I hope someone can help me solve this because I'm newbie in math. :frown:
 
on Phys.org
OK, I've figured out that the global rotation is in euler angles (Z is parent, then X, then Y). Now, maybe someone can help me to convert object's local angles to euler angles. I hope that makes sense to someone. :smile: