how to combine angle rotations along different axes into one rotation along a single vector

3.6k Views Asked by At

So, lets say I have some rotation a about the x-axis(vector:$(1, 0 ,0)$) and some other rotation about y-axis(vector $(0, 1, 0)$) and a rotation about the z-axis(vector: $(0,0,1)$). How would I combine these rotations so they have an equivalent rotation about a single vector?

2

There are 2 best solutions below

0
On BEST ANSWER

Rotations in 3D space can be represented by means of quaternions (see my answer here) with the representation $ R_{\,\vec v,2\theta}(\vec y)= e^{\mathbf v\, \theta}\mathbf y e^{-\mathbf v\, \theta}$, were $\mathbf v$, $\mathbf y $ are the pure imaginary quaternions corresponding to the vectors $\vec v$ and $\vec y$.

In your case we have:

$$ R_{\,\vec i,2\alpha}\rightarrow e^{\mathbf i\, \alpha} \qquad R_{\,\vec j,2\beta}\rightarrow e^{\mathbf j\, \beta} \qquad R_{\,\vec k,2\gamma}\rightarrow e^{\mathbf k\, \gamma} $$

The product of the three rotations is not commutative, if we choose the order: $$ R_{\,\vec k,2\gamma}R_{\,\vec j,2\beta}R_{\,\vec i,2\alpha} $$ than this corresponds to the quaternion $$ e^{\mathbf k\, \gamma}e^{\mathbf j\, \beta}e^{\mathbf i\, \alpha}=\left( \cos \gamma + \mathbf k \dfrac{\sin \gamma}{\gamma}\right)\left( \cos \beta + \mathbf j \dfrac{\sin \beta}{\beta}\right)\left( \cos \alpha + \mathbf i \dfrac{\sin \alpha}{\alpha}\right) $$ performing this product you can put it in the form: $$ \mathbf q=\cos \theta +\mathbf u \dfrac{\sin \theta}{\theta}= e^{\theta \mathbf u} $$ where $\mathbf u$ is the versor of the axis of rotation and $ \theta$ is the angle.

0
On

Write them as $3 \times 3$ orthogonal matrices. Multiply the matrices. The find the real Jordan form of the product, and an orthogonal change of basis matrix which coverts the product into real Jordan form.