Monday, December 23, 2019

How To Represent A 3D Vector As A Unit Dual Qauternion

To see how any $3D$ vector $\vec{v} = \big(a, b, c\big)$ can be represented as a unit dual quaternion, let's start with the dual quaternion $\pmb{\hat{q}} = \pmb{q_0} + \epsilon\pmb{q_{\epsilon}}$ with quaternions components $\pmb{q_0}$ and $\pmb{q_{\epsilon}}$. The real and imaginary parts of $\pmb{q_0}$ and $\pmb{q_{\epsilon}}$ are given as follows with the imaginary part italicized and an arrow above:

$$\begin{align} \pmb{q_0} &= w_0 + \vec{q}_{0} = w_0 + \big(x_0\vec{i} + y_0\vec{j} + z_0\vec{k}\big)\\ \pmb{q_{\epsilon}} &= w_{\epsilon} + \vec{q}_{\epsilon} = w_{\epsilon} + \big(x_{\epsilon}\vec{i} + y_{\epsilon}\vec{j} + z_{\epsilon}\vec{k} \big) \end{align}$$

Their respective conjugates are:

$$\begin{align} \pmb{q_{0}^{*}} &= w_0 - \vec{q}_{0} = w_0 - \big(x_0\vec{i} + y_0\vec{j} + z_0\vec{k}\big)\\ \pmb{q_{\epsilon}^{*}} &= w_{\epsilon} - \vec{q}_{\epsilon} = w_{\epsilon} - \big(x_{\epsilon}\vec{i} + y_{\epsilon}\vec{j} + z_{\epsilon}\vec{k} \big) \end{align}$$

Unlike regular quaternions, there are three different conjugations of dual quaternions which depend on whether:

  1. The dual number is conjugated

    $$\pmb{\bar{\hat{q}}} = \pmb{q_0} - \epsilon\pmb{q_{\epsilon}}$$

    This finds little use except in deriving the third type of conjugation $\pmb{\bar{\hat{q}}^{*}}$.

  2. The quaternion components are conjugated

    $$\pmb{\hat{q}^{*}} = \pmb{q_{0}^{*}} + \epsilon\pmb{q_{\epsilon}^{*}}$$

    The result of $\pmb{\hat{q}}\pmb{\hat{q}^{*}}$ is a dual scalar but it can be just a regular scalar when the dot-product $\pmb{q_{0}} \cdot \pmb{q_{\epsilon}} = 0$ (i.e. when $\pmb{q_{0}}$ and $\pmb{q_{\epsilon}}$ are orthogonal 4-tuples).

  3. The dual number and quaternion components are both conjugated.

    $$\pmb{\bar{\hat{q}}^{*}} = \pmb{q_{0}^{*}} - \epsilon\pmb{q_{\epsilon}^{*}}$$

    The product $\pmb{\hat{q}}\pmb{\bar{\hat{q}}^{*}}$ is a dual quaternion whose real part is a scalar and dual part is a vector.

The conjugate $\pmb{\hat{q}^{*}} = \pmb{q_{0}^{*}} + \epsilon\pmb{q_{\epsilon}^{*}}$ is used to define the norm of $\pmb{\hat{q}}$:

$$\begin{align} \Vert \pmb{\hat{q}} \Vert &= \sqrt{\pmb{\hat{q}\hat{q}^{*}}} \\ &= \sqrt{\big(\pmb{q_0} + \epsilon\pmb{q_{\epsilon}}\big)\big(\pmb{q_{0}^{*}} + \epsilon\pmb{q_{\epsilon}^{*}}\big)} \\ &= \sqrt{\pmb{q_0q_{0}^{*}} + \epsilon\big(\pmb{q_0q_{\epsilon}^{*}} + \pmb{q_{\epsilon}q_0^{*}}\big)} \\ &= \sqrt{\pmb{q_0q_{0}^{*}} + 2\epsilon\big(\pmb{q_0} \cdot \pmb{q_{\epsilon}}\big)} \end{align}$$

where

$$\begin{align} \pmb{q_0q_{0}^{*}} &= \big(w_0 + x_0\pmb{i} + y_0\pmb{j} + z_0\pmb{k}\big)\big( w_0 - x_0\pmb{i} - y_0\pmb{j} - z_0\pmb{k}\big) \\ &= w_0^2 + x_0^2 + y_0^2 + z_0^2 \end{align}$$

and

$$\begin{align} \pmb{q_0q_{\epsilon}^{*}} + \pmb{q_{\epsilon}q_0^{*}} &= 2\big(w_0 w_{\epsilon} + x_0 x_{\epsilon} + y_0 y_{\epsilon} + z_0 z_{\epsilon} \big) \\ &= 2\big(\pmb{q_0} \cdot \pmb{q_{\epsilon}}\big) \end{align}$$

A unit dual quaternion has a norm $\Vert \pmb{\hat{q}} \Vert = 1$. Choosing $\pmb{q_0}$ and $\pmb{q_{\epsilon}}$ to be orthogonal makes the dot-product $\pmb{q_0} \cdot \pmb{q_{\epsilon}} = 0$ which then leaves us with $\sqrt{\pmb{q_0q_{0}^{*}}} = 1$ and therefore $w_0^2 + x_0^2 + y_0^2 + z_0^2 = 1$. Choosing $\vec{q}_{0} = 0$, $\mathrm{q_{\epsilon}} = 0$ and the coefficients of $\vec{q}_{\epsilon}$ to be $\big(a, b, c\big)$ of vector $\pmb{v}$ satisfies the conditions of the $\pmb{q_0} \cdot \pmb{q_{\epsilon}} = 0$ and $w_0^2 + x_0^2 + y_0^2 + z_0^2 = 1$:

$$w_0 w_{\epsilon} + x_0 x_{\epsilon} + y_0 y_{\epsilon} + z_0 z_{\epsilon} = w_0(0) + (0)a + (0)b + (0)c = 0$$
$$w_0^2 + x_0^2 + y_0^2 + z_0^2 = w_0^2 + (0)^2 + (0)^2 + (0)^2 = w_0^2$$ $$w_0^2 = 1$$

Thus $w_0 = 1$ and the vector $\vec{v} = \big(a, b, c\big)$ is encoded in a dual quaternion as:

$$\begin{align} &1 + \epsilon\big( a\vec{i} + b\vec{j} + c\vec{k} \big) \\ &1 + \epsilon\vec{v} \end{align}$$

No comments:

Post a Comment