0
$\begingroup$

Say you have a rectangular prism, whose sides can be expressed as specific domains and ranges of 3 dimensional planes. I'm trying to calculate the new position of the prism after a series of rotations. For the sake of an example, one of the prism's vertices fall upon the origin. Initially I thought that every possible rotation can be encapsulated in a theta rotation, whose axis is the z-axis with values ranging from 0 to 2$\pi$, and a phi rotation, ranging from $\frac{-\pi}{2}$ to $\frac{\pi}{2}$, whose axis rotates with theta. However this excludes twists (if that makes sense).

So now I'm trying to rotate the prism via three rotations about the X, Y, and Z axis. Among the problems I'm faced with is whether to have static axis or dynamic axis. To elaborate, should the axis move with the prism or not (Question 1)? The other is that the order of rotations is variable and non-commutable. Basically I don't know what axis should be rotated about first. Also depending on which one is first, I can get different result. Using static (fixed) axis, could all 6 six orders (depending on the specific rotation, it can be less than six as some results overlap) individually yield all potential rotations (question 2)?

And question 3, am I just delirious so that there is a simpler option that I am just missing?

$\endgroup$
0
$\begingroup$

You will get different results if depending on which axis you rotate about first. There is a nifty proof by Euler that says, that any combination of rotations will leave one fixes axis.

the easy way... each rotation some variant off of this matrix.

$\pmatrix{1&0&0\\0&\cos(\theta) & -\sin(\theta) \\0& \sin(\theta) & \cos(\theta)}$

For your compound rotation, then multiply these matrices together. Then multiply the coordinates of your vertexes by this matrix for the transformed coordinates.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.