Dual quaternions may be used to perform combined rotations and translations in a single dual quaternion product operation.

Translation is performed by placing the displacement, $d$ in vector of the dual with a unit real, $\bf{d}$ $=1 + d\varepsilon$; rotation is performed as normal with the rotation vector, $r$ being placed in the non-dual vector, $\bf{r}$ $= r + 0\varepsilon$. The products of these two numbers can be used to perform either a rotate-then-translate

$\bf{q} = \bf{d \cdot r}$,

or translate-then-rotate operation,

$\bf{q} = \bf{r \cdot d}$,

on a point, $p$, which is in the vector of the dual, $\bf{p}$ $=1 + p\varepsilon$,

$\bf{p}' = \bf{q \cdot p \cdot q^*}$.

The vector of the dual of $\bf{p}'$ then contains the transformed point.

This is suggestive that a similar approach could be used with dual complex numbers for transformations on the plane. However, using this approach does not result in the correct transform for the rotate-then-translate case.

The dual quaternion case is discussed here and the dual complex case here.

Is there something I am missing here or am I correct that the product approach analogous to that using dual quaternions is not possible with dual complex numbers?

(A pending pull request to add dual complex and dual quaternion numbers is the reason for this question. It and examples of the transforms shown here are here).

  • $\begingroup$ Something's missing. The dual complex numbers do not behave like claimed: The product $(1+\epsilon)i$ ought to mean rotate by 90 degrees then translate in the $x$-direction; yet it gives $i-i\epsilon$, a translation in the negative $y$ direction. $\endgroup$ Feb 6, 2019 at 9:38
  • $\begingroup$ @Chrystomath Where is the claim? From me or the linked page? Where does the $(1 + \varepsilon)i$ come from? $\endgroup$
    – kortschak
    Feb 6, 2019 at 10:18
  • $\begingroup$ The linked website to the dual complex case claims that $1+a\epsilon$ acts like translation by $a$ and $i$ acts like rotation. Secondly, clarify how $d.r=r.d$ for complex duals, keeping in mind that $\epsilon i=-i\epsilon$. $\endgroup$ Feb 6, 2019 at 11:03
  • $\begingroup$ Oh. Sorry. I missed that thank you. $\endgroup$
    – kortschak
    Feb 6, 2019 at 11:16
  • $\begingroup$ @Chrystomath, I've now fixed the commutativity error, but as you say, there is still something missing. The non-dual ends up being $i$ instead of $1$. I'm at a loss to understand how this should work. $\endgroup$
    – kortschak
    Feb 7, 2019 at 9:31

1 Answer 1


The term "dual complex numbers" is misleading.

Let $\mathbb D$ denote the dual numbers. Then the dual quaternions are defined as $\mathbb D \otimes \mathbb H$. In other words, they are exactly the quaternions with dual number components instead of real components. The "dual complex numbers" correspond to the subalgebra spanned by $$\{1,i,\epsilon j, \epsilon k\}$$

[EDIT: The following account of the dual complex numbers is based on them being a subalgebra of the dual quaternions. I make use of the idea that the dual quaternions are effectively an "infinitesimal thickening" of the quaternions. We can use this to study what happens if we vary the axis and angle of a rotation by an infinitesimal amount. Understanding this requires some familiarity with the quaternions, and some comfort with the "infinitesimal" interpretation of the dual numbers. I do not make use of the fact that the dual quaternions can be used to express rigid body motions in 3D.]

Consider the "infinitesimal plane" $$\Pi = \{i + x\epsilon j + y\epsilon k: x \in \mathbb R, y\in \mathbb R\}$$

Rotations about $i$, represented by the quaternions $e^{i\theta/2}$, rotate this plane back onto itself. This is how to represent the rotations about the origin of a plane using dual-complex numbers.

Rotations about an axis $A j + B k$ (where $A, B \in \mathbb R$) which is perpendicular to $\Pi$, by the infinitesimal angle $\epsilon$, are represented by the dual complex numbers $e^{\frac 1 2 (A \,\epsilon j + B\, \epsilon k)}$. These also map $\Pi$ back onto itself. Points on $\Pi$ experience a translation.

Those are two extreme cases.

In general, each dual complex number has one of two polar forms:

  • $e^{(i+ A\, \epsilon j + B\, \epsilon k)\theta/2} = \cos(\theta/2) + \sin(\theta/2)(i+A\, \epsilon j + B\, \epsilon k)$. From a planar point of view, these represent a rotation of angle $\theta$ about the point $(A, B)$. From a 3D point of view, $i+A\, \epsilon j + B\, \epsilon k$ is the axis of rotation, and $\theta$ is the angle.

  • $e^{\frac 1 2 (A \,\epsilon j + B\, \epsilon k)}=1+\frac 1 2(A\, \epsilon j + B\, \epsilon k)$. These represent the translations. The 3D and 2D points of view are described above.

In a sense, a translation is equal to a rotation about a point at infinity. To illustrate this, consider the following limit of the first polar form: $$\lim_{S \to \infty} e^{(i+S(A\, \epsilon k + B \epsilon k))\theta/(2S)} = e^{(A\, \epsilon j + B\, \epsilon k))\theta/2}$$ The result has the second polar form. Note that in order to obtain the desired limit, the angle of rotation has to get shrunk at the same rate as the centre of rotation goes to infinity, otherwise the arc of rotation grows to an infinite length.


You must log in to answer this question.

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