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

\]

great formulas!!!! see also

sourceforge.net/projects/frc4/files/706

bye from salsomaggiore IT 3 gen 2017

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

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

Hurrah! Its also nice piece of writing concerning JavaScript, I am genuinely eager of learning JavaScript. thanks admin

What’s up i am kavin, its my first time to commenting anyplace, when i read this piece of writing i thought i could also create comment due to this good article.