- #1
Zal
- 2
- 0
So, I've been fiddling around with a computer game (not the most productive use of my time, I know) and I've come across a problem that seems to have broader mathematical import, and most certainly has been found before, so I thought I'd ask about it here.
Basically I need to rotate an object (well group of objects) using rotation around the X, Y, and Z axes, in that order) to match a rotation around the Z, X, and Y axes, also in that order. Now doing the brute force method of multiplying the matrices through and solving the resulting system of equations will work, but lacking access to mathematica or the like, it's going to kill a lot of trees. And considering my propensity for simple errors, cause a lot of frustration as well. But I'm guessing there's some sort of neat trick or higher level math way of looking at this that will make things a lot quicker and be a lot more insightful. Any ideas?
Put more mathematically, I need to find [tex]\Theta_{1},\Theta_{2},\Theta_{3}[/tex] such that [tex]X(\Theta_{1})Y(\Theta_{2})Z(\Theta_{3})[/tex] equals [tex]Z(\Phi_{1})X(\Phi_{2})Y(\Phi_{3})[/tex] where [tex]\Phi_{i}[/tex] are constants.
X, Y, Z are 3x3 rotation matrices around the given axis, i.e. the Z matrix would be:
[tex]
\[ \left( \begin{array}{ccc}
cos(\Theta) & -sin(\Theta) & 0 \\
sin(\Theta) & cos(\Theta) & 0 \\
0 & 0 & 1 \end{array} \right)\]
[/tex]
Basically I need to rotate an object (well group of objects) using rotation around the X, Y, and Z axes, in that order) to match a rotation around the Z, X, and Y axes, also in that order. Now doing the brute force method of multiplying the matrices through and solving the resulting system of equations will work, but lacking access to mathematica or the like, it's going to kill a lot of trees. And considering my propensity for simple errors, cause a lot of frustration as well. But I'm guessing there's some sort of neat trick or higher level math way of looking at this that will make things a lot quicker and be a lot more insightful. Any ideas?
Put more mathematically, I need to find [tex]\Theta_{1},\Theta_{2},\Theta_{3}[/tex] such that [tex]X(\Theta_{1})Y(\Theta_{2})Z(\Theta_{3})[/tex] equals [tex]Z(\Phi_{1})X(\Phi_{2})Y(\Phi_{3})[/tex] where [tex]\Phi_{i}[/tex] are constants.
X, Y, Z are 3x3 rotation matrices around the given axis, i.e. the Z matrix would be:
[tex]
\[ \left( \begin{array}{ccc}
cos(\Theta) & -sin(\Theta) & 0 \\
sin(\Theta) & cos(\Theta) & 0 \\
0 & 0 & 1 \end{array} \right)\]
[/tex]