Rotate a cube along a line segment

575 Views Asked by At

Given a unit cube with one corner at $(0,0,0)$ and the opposite corner at $(1,1,1)$, derive the transformations necessary to rotate the cube by $\theta$ degrees about the line segment $[AB]$, $A(0,0,0)$ and $B(0.5,1,0.5)$ in the clockwise direction when looking along the diagonal from B to A ?

By transformations, I mean translations and rotations (only about the $x,y$ and $z$ axis).

What would be the algorithm to achieve that ?

1

There are 1 best solutions below

6
On BEST ANSWER

Let $X(\phi)$, $Y(\phi)$ and $Z(\phi)$ be counterclockwise rotations of angle $\phi$ about the axes. Let $\alpha=\arctan(1/2)$ be the angle formed by the projection of $[AB]$ on $xy$ plane with $y$ axis, and $\beta=\arctan(\sqrt5)$ the angle formed by $[AB]$ with $z$ axis.

Notice that $Z(\alpha)$ carries $[AB]$ to $[AB']$ on $zy$ plane, and $X(\beta)$ carries $[AB']$ to $[AB'']$ on $z$ axis. You can then perform the required rotation $Z(-\theta)$ about $[AB'']$ and then rotate back to undo the first two rotations. The required transformation is then: $$ Z(-\alpha)X(-\beta)Z(-\theta)X(\beta)Z(\alpha). $$