Rotate by unit quaternion (log and exp)

1.1k Views Asked by At

We know that rotate and quaternion multiply are not commutative:

$$q_1q_2 \neq q_2q_1$$

$\exp$ and $\log$ transform between unit quaternion and rotation vector , but if we do this:

$$\log(q_1q_2) = \log(q_1)+\log(q_2)=\log(q_2q_1)$$

$$q_1q_2 = e^{\log(q_1q_2)} = e^{\log(q_2q_1)} = q_2q_1$$

what wrong with my equation?

1

There are 1 best solutions below

0
On BEST ANSWER

Just because quaternion does not commute, for two quaternion (unit or not it's not important) $q_1,q_2$ we have, in general: $$ e^{q_1}e^{q_2}\ne e^{q_2}e^{q_1} \ne e^{q_1+q_2} $$

and this means that, also if we define e "principal value" for the logarithm of quaternions, in general we cannot have $\log (q_1 q_2)=\log q_1 + \log q_2$.

In other words: exponential and logarithm of quaternions have not the usual properties because quaternions are not a field.