[Math] Quaternions and spatial translations

3dquaternions

From my understanding, in spatial applications (3D rendering, games and similar applications) quaternions can only be used to describe rotations/orientations and not translations (like a transformation matrix does).

This seems to be backed up by the fact that most 3D frameworks that use quaternions (OGRE3D for example), use quaternions together with vectors to describe an orientation and translation (which in other frameworks would only need a single transformation matrix).

  • Did I understand it correctly?
  • Why can't they describe translations together with rotations?

An argument that I am having trouble countering is: you can describe a translation as a series of rotations around multiple axes and combine those rotations in a single quaternion.

Further research showed me that double quaternions can be used to describe rotation and translation, but I am interested in "single" quaternions.

Best Answer

In a sense, there "aren't enough" unit quaternions to describe translations. Let me try to make this more precise, if not completely rigorous.

Conventionally, we can describe rotations using the set of unit quaternions $H = \{a+bi+cj+dk: a,b,c,d\in\mathbb{R}, a^2+b^2+c^2+d^2=1\}$; each such quaternion can be written in the form $\cos(\frac\alpha 2) + \sin(\frac\alpha 2)(xi + yj + zk)$, representing a rotation by angle $\alpha$ around the axis given by $(x,y,z)$.

Just as the unit circle in $\mathbb{R}^2$ is described by the equation $a^2+b^2=1$, and the unit sphere in $\mathbb{R}^3$ is described by the equation $a^2+b^2+c^2=1$, the above description of $H$ identifies it as the unit hypersphere in $\mathbb{R}^4$. It is thus a compact space, which means that it is "small" in a certain precise sense. As a consequence of this, if you choose any sequence of unit quaternions, then it will have a convergent subsequence - that is, you can throw out enough points from that original sequence and thereby obtain a sequence which converges to a unit quaternion.

Now suppose we choose a way to describe rotations and/or translations by means of unit quaternions. This means that to each quaternion $q$ we associate a rotation or translation $f(q)$. In order to be useful for computation, this association should be a homomorphism: it should satisfy the rule $f(q_1q_2) = f(q_1)\circ f(q_2)$. This ensures that $f$ relates the multiplication of quaternions to the composition of transformations, which is what we usually mean by the quaternions "describing" a set of transformations.

This map $f$ should also be continuous: if $q_1,q_2,\ldots$ is a sequence of unit quaternions which converges to some unit quaternion $q$, then the sequence $f(q_1),f(q_2),\ldots$ should converge to $f(q)$. We impose this continuity condition to avoid strange behaviour, and because in practice just about any reasonable $f$ you can come up with will be continuous.

I claim that no matter how you choose such an $f$, it cannot produce any translation. On the contrary, suppose that we had some $q$ such that $f(q)$ is a translation. Precisely, suppose that $f(q)$ is the translation "add $v$" where $v$ is some nonzero vector in $\mathbb{R}^3$. Since $f$ is a homomorphism, it follows that $f(q^2)$ is the translation "add $v$, then add $v$ again", i.e. "add $2v$". Likewise, for any $n>0$ we have that $f(q^n)$ is the translation "add $nv$".

Consider the sequence $q,q^2,q^3,\ldots$ of unit quaternions. Since $H$ is compact, there are positive integers $n_1< n_2< n_3\cdots$ such that the sequence $q^{n_1}, q^{n_2}, q^{n_3}, \ldots$ converges to a unit quaternion $\bar q$.

Now since $f$ is continuous, it follows that the sequence "add $n_1v$", "add $n_2v$", "add $n_3v$", $\ldots$ converges to $f(\bar q)$, which is some transformation of $\mathbb{R}^3$. But this sequence can't possibly converge to anything, because the sequence of vectors $n_1v,n_2v,\ldots$ shoots off to infinity and so the corresponding sequence of translations does, too. By this contradiction, we conclude that $f(q)$ could not have been a translation.

Related Question