## Dual Quaternion

In Clifford algebra all units forms a group, so we can construct a unit dual-quaternion from two quaternions q and t where q is a unit rotation quaternion and t is a pure quaternion representing the translation:

$d = (1 + \frac{1}{2}te)q = q + \frac{1}{2}tq e$

It’s unit because

\begin{align}
d d^* &= (q + \frac{1}{2}tqe)(q^* – \frac{1}{2}q^*t e) \\
&= qq^* + (t – t)\frac{e}{2} \\
&= 1
\end{align}

Thus

$d^{-1} = d^*$

If there are 2 unit dual-quaternions $$d$$ and $$c$$ we have

$(dc)(dc)^* = dcc^*d^* = dd^* = 1$

Now we examine its action on $$R^3$$. In Clifford algebra points can be represented with the form: $$w + ve$$

$e_{123} + (xe_{23} + ye_{31} + ze_{12})e$

the action of the group on the space is given by

\begin{align}
& (q+\frac{1}{2}tqe)(w+ve)(q^* – \frac{1}{2}q^*te) = w + (qvq^* + h)e
\end{align}

Where

$h = t_x e_{23} + t_y e_{31} + t_z e_{12}$

Another representation of points is using the translation subgroup: let $$1 + xe$$ be a dual-quaternion that represents a element in $$R^3$$, the action is

\begin{align}
& (q + \frac{1}{2}tq e)(1+xe)(q^* + \frac{1}{2}q^*te) \\
&= (q + qxe + \frac{1}{2}tqe)(q^* + \frac{1}{2}q^*te) \\
&= 1 + \frac{1}{2}te + qxq^*e + \frac{1}{2}te \\
&= 1 + (qxq^* + t)e
\end{align}

So the action on the elements of $$R^3$$ is a rigid motion:

$v \mapsto qvq^* + t$

We can combine dual-quaternions through multiplication

\begin{align}
& (q_2 + \frac{1}{2}t_2 q_2 e)(q_1 + \frac{1}{2}t_1 q_1 e) \\
&= q_2 q_1 + \frac{1}{2}(t_2 + q_2 t_1 q_2^*)q_2 q_1 e \\
&= (1 + \frac{1}{2}(t_2 + q_2 t_1 q_2^*))q_2 q_1 e
\end{align}

then we obtain

$v \mapsto q_2q_1vq_1^*q_2^* + q_2t_1q_2^* +t_2$

1. GABRI says:

sourceforge.net/projects/frc4/files/706
bye from salsomaggiore IT 3 gen 2017

2. Andrey says:

Blending of dual quaternions can be elegantly computed in a vertex shader with complexity comparable to standard linear blending.

3. Andrey says:

The above blending of Dual Quaternions will compute a new Dual Quaternion which is guaranteed to represent only a rotation and a translation.