22
$\begingroup$

If I combine 2 rotation quaternions by multiplying them, lets say one represents some rotation around x axis and other represents some rotation around some arbitrary axis.

The order of rotation matters, so the order of the quaternion multiplication to "combine" the rotation matters also.

My question is, how does the combining of quaternion rotations work? Is it like matrix transformations, where

$$(M_2 M_1) p = M_2 (M_1 p) \, ?$$

The point $p$ will be transformed by $M_1$, and then by $M_2$, even though technically it's just being multiplied by $M_2 M_1$. Do rotation quaternions work the same way? Does the earliest rotation have to be on the right side, and then subsequent rotations are applied by multiplying on the left?

$\endgroup$

2 Answers 2

19
$\begingroup$

To rotate a vector $v = ix + jy + kz$ by a quaternion $q$ you compute $v^q = q v q^{-1} $.

So if $q$ and $q'$ are two rotation quaternions, to rotate by $q$ then $q'$ you calculate $(v^q)^{q'} = q' q \,v\, q^{-1} q'^{-1} = q' q \,v\, (q' q)^{-1} = v^{q'q}.$


References

Quaternions and spatial rotation

$\endgroup$
9
$\begingroup$

If you check some of the resources in the earlier question you'll find that the most useful way quaternions act as rotations is by conjugation.

Think of the $i,j,k$ vectors as orthonormal vectors in 3-dimensional space, as we usually do in physics. Every point in 3-space then is just a linear combination of these three vectors. These are the "pure quaternions" whose real parts are 0.

Given a quaternion with norm 1, call it $u$, you can rotate a pure quaternions $v$ by conjugating: $v\mapsto uvu^{-1}$. Let $w$ be another quaternion with norm 1. Then as you observed, you can rotate by $u$ and $w$ in two different orders:

$$wuvu^{-1}w^{-1}=(wu)v(wu)^{-1}$$

or

$$uwvw^{-1}u^{-1}=(uw)v(uw)^{-1}$$

which potentially can be different.

Let's try it with a few very simple choices of $u$ and $w$. Try $u=i$ and $w=j$, and see what happens to the $i,j,k$ vectors under those rotations. If we try this with $u=i$, you can check that $$i\mapsto iii^{-1}=i$$ $$j\mapsto iji^{-1}=-j$$ $$k\mapsto iki^{-1}=-k$$.

Visualize what has happened to the original triad $i,j,k$ after rotation. I'll leave the other example to you.

To customize length 1 quaternions that rotate things the way you want to, you'll have to take a look at the wiki article. Basically the idea is this: every rotation in 3-space is specified by an axis of rotation and the angle you rotate about that axis. To find your customized $u$, you first compute a unit quaternion $h$ which is normal to the plane of rotation, and then an expression like $u=\cos(\theta/2)+h\sin(\theta/2)$ turns out to be what you want. (I haven't been careful about specifying the direction and rotation or signs in this sketch, so take care when following the detailed explanation.)

$\endgroup$
5
  • $\begingroup$ OK, so I think this is a good answer. I'm really learning something by breaking this down. I have only this to say. When strung together, the different quaternions w, u and v basically melt together. I can hardly tell which is which when they are displayed in that math font. :/ $\endgroup$ Aug 16, 2016 at 9:02
  • $\begingroup$ What happens if you conjugate a non-pure quaternion by a non-pure quaternion? $\endgroup$ Aug 7, 2020 at 6:43
  • 1
    $\begingroup$ @LukeHutchison The result of $qxq^{-1}$ is just another quaternions with the same real part as $x$ and it’s complex part rotated. $\endgroup$
    – rschwieb
    Aug 7, 2020 at 10:07
  • $\begingroup$ @rschweib thanks. That almost makes sense since if $x$ is a pure quaternion, this is exactly how to rotate $x$ by $q$. I'm sure the preservation of the real part comes out of the expansion of quaternion multiplication. However what is the intuition as to why the real part is not touched by the transformation? $\endgroup$ Aug 8, 2020 at 12:47
  • 1
    $\begingroup$ @LukeHutchison because the real numbers are central in the quaternions. $qrq^{-1}=rqq^{-1}=r$ $\endgroup$
    – rschwieb
    Aug 8, 2020 at 17:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .