Dual quaternion: Difference between revisions

 
Line 24: Line 24:
==Rotations and Translations==
==Rotations and Translations==
A translation is represented as:   
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>
<math>\mathbf{q}_t = [1,0,0,0][0, \frac{t_x}{2}, \frac{t_y}{2}, \frac{t_z}{2}] = 1 + \frac{\varepsilon}{2}\mathbf{t}</math>


A rotation is represented as:   
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>
<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 * \mathbf{q}_r = \mathbf{q}_r + \frac{\epsilon}{2}\mathbf{t}\mathbf{q}_r</math>.   
These can be combined as <math>\mathbf{q} = \mathbf{q}_t * \mathbf{q}_r = \mathbf{q}_r + \frac{\varepsilon}{2}\mathbf{t}\mathbf{q}_r</math>.   
Applying the transformation to a point <math>\mathbf{v} \in \mathbb{R}^3</math> is:
Applying the transformation to a point <math>\mathbf{v} \in \mathbb{R}^3</math> is:


<math>\mathbf{p}' = \mathbf{q}(1 + \epsilon\mathbf{v})\mathbf{q}^*</math>
<math>\mathbf{p}' = \mathbf{q}(1 + \varepsilon\mathbf{v})\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]