Dual quaternion: Difference between revisions
Created page with "Dual quaternions are an 8-dimensional number system (i.e. isomorphic to <math>\mathbb{R}^8</math>) which can be used to jointly represent rotations and translations in 3D spac..." |
No edit summary |
||
Line 1: | Line 1: | ||
Dual quaternions are an 8-dimensional number system (i.e. isomorphic to <math>\mathbb{R}^8</math>) which can be used to jointly represent rotations and translations in 3D space. They can be used in place of the standard <math>4 \times 4</math> homogeneous transformation matrices. | Dual quaternions are an 8-dimensional number system (i.e. isomorphic to <math>\mathbb{R}^8</math>) which can be used to jointly represent rotations and translations in 3D space. They can be used in place of the standard <math>4 \times 4</math> homogeneous transformation matrices. | ||
== | ==Background== | ||
{{ main | Wikipedia: Dual quaternion}} | {{ main | Wikipedia: Dual quaternion}} | ||
A dual quaternion can be written as <math>q = q_r + q_d \epsilon</math>. | |||
Here, <math>\epsilon^2=0</math>. | |||
Multiplication is: | |||
<math>\mathbf{q}_1 \mathbf{q}_2 = \mathbf{q}_{r1} \mathbf{q}_{r2} + (\mathbf{q}_{r1}\mathbf{q}_{d2} + \mathbf{q}_{d1} \mathbf{q}_{r2})\epsilon</math>. | |||
===Rotations and Translations=== | |||
A translation is represented as: | |||
<math>\mathbf{q}_t = [1,0,0,0][0, \frac{t_x}{2}, \frac{t_y}{2}, \frac{t_z}{2}] = 1 + \frac{\epsilon}{2}\mathbf{t}</math> | |||
A rotation is represented as: | |||
<math>\mathbf{q}_r = [\cos(\frac{\theta}{2}), \sin(\frac{\theta}{2})n_x, \sin(\frac{\theta}{2})n_y, \sin(\frac{\theta}{2})n_z][0,0,0,0] = \cos(\frac{\theta}{2}) + \sin(\frac{\theta}{2}) \mathbf{n}</math> | |||
These can be combined as <math>\mathbf{q} = \mathbf{q}_t \times \mathbf{q}_r = \mathbf{q}_r + \frac{\epsilon}{2}\mathbf{t}\mathbf{q}_r</math>. | |||
Applying the transformation to a point <math>\mathbf{p}</math> is: | |||
<math>\mathbf{p}' = \mathbf{q}\mathbf{p}\mathbf{q}^*</math> | |||
==Resources== | ==Resources== | ||
* [https://cs.gmu.edu/~jmlien/teaching/cs451/uploads/Main/dual-quaternion.pdf A Beginners Guide to Dual-Quaternions by Ben Kenwright] | * [https://cs.gmu.edu/~jmlien/teaching/cs451/uploads/Main/dual-quaternion.pdf A Beginners Guide to Dual-Quaternions by Ben Kenwright] |
Revision as of 21:38, 15 October 2020
Dual quaternions are an 8-dimensional number system (i.e. isomorphic to \(\displaystyle \mathbb{R}^8\)) which can be used to jointly represent rotations and translations in 3D space. They can be used in place of the standard \(\displaystyle 4 \times 4\) homogeneous transformation matrices.
Background
A dual quaternion can be written as \(\displaystyle q = q_r + q_d \epsilon\).
Here, \(\displaystyle \epsilon^2=0\).
Multiplication is:
\(\displaystyle \mathbf{q}_1 \mathbf{q}_2 = \mathbf{q}_{r1} \mathbf{q}_{r2} + (\mathbf{q}_{r1}\mathbf{q}_{d2} + \mathbf{q}_{d1} \mathbf{q}_{r2})\epsilon\).
Rotations and Translations
A translation is represented as:
\(\displaystyle \mathbf{q}_t = [1,0,0,0][0, \frac{t_x}{2}, \frac{t_y}{2}, \frac{t_z}{2}] = 1 + \frac{\epsilon}{2}\mathbf{t}\)
A rotation is represented as:
\(\displaystyle \mathbf{q}_r = [\cos(\frac{\theta}{2}), \sin(\frac{\theta}{2})n_x, \sin(\frac{\theta}{2})n_y, \sin(\frac{\theta}{2})n_z][0,0,0,0] = \cos(\frac{\theta}{2}) + \sin(\frac{\theta}{2}) \mathbf{n}\)
These can be combined as \(\displaystyle \mathbf{q} = \mathbf{q}_t \times \mathbf{q}_r = \mathbf{q}_r + \frac{\epsilon}{2}\mathbf{t}\mathbf{q}_r\).
Applying the transformation to a point \(\displaystyle \mathbf{p}\) is:
\(\displaystyle \mathbf{p}' = \mathbf{q}\mathbf{p}\mathbf{q}^*\)