Multiplication theorem: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
en>Bnottelm
m Characteristic zero: Parse error fixed.
Line 1: Line 1:
[[File:Quaternion Plaque on Broom Bridge.jpg|thumb|right|Plaque on Broom bridge (Dublin) commemorating Hamilton's invention of quaternions]]
Andrew Simcox is the name his mothers and fathers gave him and he completely enjoys this name. Distributing manufacturing has been his occupation for some time. My spouse doesn't like it the psychic phone readings ([http://cpacs.org/index.php?document_srl=90091&mid=board_zTGg26 cpacs.org]) way I do but what I truly like performing is caving but I don't have the time lately. My spouse and I live in Kentucky.<br><br>Feel [http://kard.dk/?p=24252 free tarot readings] to visit my webpage :: [http://www.aseandate.com/index.php?m=member_profile&p=profile&id=13352970 best psychic readings]
In [[mathematics]] and [[mechanics]], the set of '''dual quaternions''' is a [[Clifford algebra#Examples:_constructing_quaternions_and_dual_quaternions|Clifford algebra]] that can be used to represent spatial rigid body displacements.<ref>A.T. Yang, ''Application of Quaternion Algebra and Dual Numbers to the Analysis of Spatial Mechanisms'', Ph.D thesis, Columbia University, 1963.</ref>  A dual quaternion is an ordered pair of [[quaternion]]s {{nowrap|''Â'' {{=}} (''A'', ''B'')}} and therefore is constructed from eight real parameters.  Because rigid body displacements are defined by six parameters, dual quaternion parameters include two algebraic constraints.
 
In [[ring theory]], dual quaternions are a [[ring (mathematics)|ring]] constructed in the same way as the quaternions, except using [[dual number]]s instead of [[real number]]s as coefficients.  A dual quaternion can be represented in the form ''p'' + ε ''q'' where ''p'' and ''q'' are ordinary quaternions and ε is the dual unit (εε = 0) and commutes with every element of the algebra. Unlike quaternions they do not form a [[division ring]].
 
Similar to the way that rotations in 3D space can be represented by quaternions of unit length, rigid motions in 3D space can be represented by dual quaternions of unit length.  This fact is used in theoretical [[kinematics]] (see McCarthy<ref name="mccarthy"/>), and in applications to 3D [[computer graphics]], [[robot]]ics and [[computer vision]].<ref>[http://www.dsi.unive.it/~rodola/cvpr11-dual.pdf A. Torsello, E. Rodolà and A. Albarelli, ''Multiview Registration via Graph Diffusion of Dual Quaternions'', Proc. of the XXIV IEEE Conference on Computer Vision and Pattern Recognition, pp. 2441-2448, June 2011.]</ref>
 
==History==
[[W. R. Hamilton]] introduced [[quaternion]]s<ref>W. R. Hamilton, "On quaternions, or on a new system of imaginaries in algebra," Philos. Mag. 18, installments July 1844 – April 1850, ed. by D. E. Wilkins (2000)</ref><ref>[http://books.google.com/books?id=GFYtAAAAYAAJ&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false W. R. Hamilton, ''Elements of Quaternions, Longmans, Green & Co., London, 1866]</ref> in 1843, and by 1873 [[William Kingdon Clifford|W. K. Clifford]] obtained a broad generalization of these numbers that he called ''biquaternions'',<ref>W. K. Clifford, "Preliminary sketch of bi-quaternions, Proc. London Math. Soc. Vol. 4 (1873) pp. 381–395</ref><ref>W. K. Clifford, ''Mathematical Papers'', (ed. R. Tucker), London: Macmillan, 1882.</ref> which is an example of what is now called a [[Clifford algebra]].<ref name="mccarthy">[http://books.google.com/books?id=glOqQgAACAAJ&dq=inauthor:%22J.+M.+McCarthy%22&hl=en&ei=_QoMToDvMcfd0QGFh-mvDg&sa=X&oi=book_result&ct=book-thumbnail&resnum=3&ved=0CDsQ6wEwAg J. M. McCarthy, ''An Introduction to Theoretical Kinematics'', pp.&nbsp;62–5, MIT Press 1990.]</ref> At the turn of the 20th century, [[Aleksandr Kotelnikov]]<ref>A. P. Kotelnikov, ''Screw calculus and some applications to geometry and mechanics'', Annal. Imp. Univ. Kazan (1895)</ref> and E. Study<ref>E. Study, ''Geometrie der Dynamen'', Teubner, Leipzig, 1901.</ref> developed dual vectors and dual quaternions for use in the study of mechanics.
 
In 1891 [[Eduard Study]] realized that this [[associative algebra]] was ideal for describing the group of motions of [[three-dimensional space]]. He further developed the idea in ''Geometrie der Dynamen'' in 1901. [[B. L. van der Waerden]] called the structure "Study biquaternions", one of three eight-dimensional algebras referred to as [[biquaternion]]s.
 
==Formulas==
In order to describe operations with dual quaternions, it is helpful to first consider [[quaternion]]s.<ref>[http://books.google.com/books?id=f8I4yGVi9ocC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false O. Bottema and B. Roth, ''Theoretical Kinematics'', North Holland Publ. Co., 1979]</ref>
 
A quaternion is a linear combinations of the basis elements 1, ''i'', ''j'', and ''k''.  Hamilton's product rule for ''i'', ''j'', and ''k'' is often written as
:<math> i^2 = j^2 = k^2 = ijk = -1.\!</math>
Compute {{nowrap|''i''  ( ''i j k'' ) {{=}} −''j k'' {{=}} −''i''}}, to obtain {{nowrap|''j k'' {{=}} ''i''}}, and {{nowrap|( ''i j k'' ) ''k'' {{=}} −''i j'' {{=}} −''k''}} or {{nowrap|''i j'' {{=}} ''k''}}. Now because {{nowrap|''j'' ( ''j k'' ) {{=}} ''j i'' {{=}} −''k''}}, we see that this product yields {{nowrap|''i j'' {{=}} −''j i''}}, which links quaternions to the properties of determinants.
 
A convenient way to work with the quaternion product is to write a quaternion as the sum of a scalar and a vector, that is {{nowrap|''A'' {{=}} ''a''<sub>0</sub> + '''A'''}}, where ''a''<sub>0</sub> is a real number and {{nowrap|'''A''' {{=}} ''A''<sub>1</sub> ''i'' + ''A''<sub>2</sub> ''j'' + ''A''<sub>3</sub> ''k''}} is a three dimensional vector.  The vector dot and cross operations can now be used to define the quaternion product  of {{nowrap|''A'' {{=}} ''a''<sub>0</sub> + '''A'''}} and {{nowrap|''C'' {{=}} ''c''<sub>0</sub> + '''C'''}} as
<!--reformatted this equation
:G = AC = (a<sub>0</sub>+'''A''')(c<sub>0</sub>+'''C''') = (a<sub>0</sub>c<sub>0</sub> − '''A'''·'''C''') + (c<sub>0</sub>'''A''' + a<sub>0</sub>'''C''' + '''A'''×'''C''').
-->
:<math> G = AC = (a_0 + \mathbf{A})(c_0 + \mathbf{C}) = (a_0 c_0 - \mathbf{A}\cdot \mathbf{C}) + (c_0 \mathbf{A} + a_0 \mathbf{C} + \mathbf{A}\times\mathbf{C}).</math>
 
A dual quaternion is usually described as a quaternion with dual numbers as coefficients.  A [[dual number]] is an ordered pair {{nowrap|''â'' {{=}} ( ''a'', ''b'' )}}.  Two dual numbers add componentwise and multiply by the rule {{nowrap|''â ĉ'' {{=}} ( ''a'', ''b'' ) ( ''c'', ''d'' ) {{=}} (''a c'', ''a d'' + ''b c'')}}.  Dual numbers are often written in the form {{nowrap|''â'' {{=}} ''a'' + ε''b''}}, where ε is the dual unit that commutes with ''i'', ''j'', ''k'' and has the property {{nowrap|ε<sup>2</sup> {{=}} 0}}. 
 
The result is that a dual quaternion is the ordered pair of quaternions {{nowrap|''Â'' {{=}} ( ''A'', ''B'' )}}.  Two dual quaternions add componentwise and multiply by the rule,
<!-- reformatted this equation
:ÂĈ = (A, B)(C, D) = (AC, AD+BC).
-->
:<math> \hat{A}\hat{C} = (A, B)(C, D) = (AC, AD+BC).\!</math>
It is convenient to write a dual quaternion as the sum of a dual scalar and a dual vector,  {{nowrap|''Â'' {{=}} ''â''<sub>0</sub> + ''A''}}, where {{nowrap|''â''<sub>0</sub> {{=}} ( ''a'', ''b'' )}} and {{nowrap|''A'' {{=}} ( '''A''', '''B''' )}} is the dual vector that defines a [[screw theory|screw]].  This notation allows us to write the product of two dual quaternions as
<!-- reformatted equation
:Ĝ = ÂĈ =(â<sub>0</sub> + A)(ĉ<sub>0</sub> + C) = (â<sub>0</sub>ĉ<sub>0</sub> - A•C) + (ĉ<sub>0</sub>A + â<sub>0</sub>C + A×C).
-->
:<math> \hat{G} = \hat{A}\hat{C} = (\hat{a}_0 + \mathsf{A})(\hat{c}_0 + \mathsf{C}) = (\hat{a}_0 \hat{c}_0 - \mathsf{A}\cdot \mathsf{C}) + (\hat{c}_0 \mathsf{A} + \hat{a}_0 \mathsf{C} + \mathsf{A}\times\mathsf{C}).</math>
 
=== Addition ===
The addition of dual quaternions is defined componentwise so that given,
<!-- reformatted equation
:Â = (A, B) = a<sub>0</sub> + a<sub>1</sub>i + a<sub>2</sub>j + a<sub>3</sub>k +  b<sub>0</sub>ε + b<sub>1</sub>εi + b<sub>2</sub>εj + b<sub>3</sub>εk, and
:Ĉ = (C, D) = c<sub>0</sub> + c<sub>1</sub>i + c<sub>2</sub>j + c<sub>3</sub>k +  d<sub>0</sub>ε + d<sub>1</sub>εi + d<sub>2</sub>εj + d<sub>3</sub>εk,
-->
:<math> \hat{A} = (A, B) = a_0 + a_1 i + a_2 j + a_3 k + b_0 \epsilon + b_1 \epsilon i + b_2 \epsilon j + b_3 \epsilon k, </math>
and
:<math> \hat{C} = (C, D) = c_0 + c_1 i + c_2 j + c_3 k + d_0 \epsilon + d_1 \epsilon i + d_2 \epsilon j + d_3 \epsilon k, </math>
then
<!-- reformatted equation
:Â + Ĉ = (a<sub>0</sub>+c<sub>0</sub>) + (a<sub>1</sub>+c<sub>1</sub>)i + (a<sub>2</sub>+c<sub>2</sub>)j + (a<sub>3</sub>+c<sub>3</sub>)k +  (b<sub>0</sub>+d<sub>0</sub>)ε + (b<sub>1</sub>+d<sub>1</sub>)εi + (b<sub>2</sub>+d<sub>2</sub>)εj + (b<sub>3</sub>+d<sub>3</sub>)εk.
-->
:<math> \hat{A} + \hat{C} = (A+C, B+D) = (a_0+c_0) + (a_1+c_1) i + (a_2+c_2) j + (a_3+c_3) k + (b_0+d_0) \epsilon + (b_1+d_1) \epsilon i + (b_2+d_2) \epsilon j + (b_3+d_3) \epsilon k, </math>
 
===Multiplication===
Multiplication of two dual quaternion follows from the multiplication rules for the quaternion units i, j, k and commutative multiplication by the dual unit ε.  In particular, given
<!-- :Â = (A, B) =  A + εB and Ĉ = (C, D) = C + εD, -->
:<math> \hat{A} = (A, B) = A + \epsilon B, </math>
and
:<math> \hat{C} = (C, D) = C + \epsilon D, </math>
then
<!-- :ÂĈ = AC + ε(AD+BC) -->
:<math> \hat{A}\hat{C} = (A + \epsilon B)(C + \epsilon D) = AC + \epsilon (AD+BC). \!</math>
Notice that there is no ''BD'' term, because the definition of dual numbers requires that {{nowrap|ε<sup>2</sup> {{=}} 0}}.
 
This gives us the multiplication table (note the multiplication order is row times column):
 
{| class="wikitable" style="text-align: center; width: 400px; height: 200px;"
|+ Multiplication table for dual quaternion units
|-
! scope="col" | ×
! scope="col" | 1
! scope="col" | ''i''
! scope="col" | ''j''
! scope="col" | ''k''
! scope="col" | ε
! scope="col" | ε''i''
! scope="col" | ε''j''
! scope="col" | ε''k''
|-
! scope="row" | 1
| 1 || ''i'' || ''j'' || ''k'' || ε || ε''i'' || ε''j''  || ε''k''
|-
! scope="row" | ''i''
| ''i'' || −1 || ''k'' || −''j'' || ε''i'' || −ε || ε''k''  || −ε''j''
|-
! scope="row" | ''j''
| ''j'' || −''k'' || −1 || ''i'' || ε''j'' || −ε''k'' || −ε  || ε''i''
|-
! scope="row" | ''k''
| ''k'' || ''j'' || −''i'' || −1 || ε''k'' || ε''j'' || −ε''i''  || −ε
|-
! scope="row" | ε
| ε || ε''i'' || ε''j'' || ε''k'' || 0 || 0 || 0 || 0
|-
! scope="row" | ε''i''
| ε''i'' || −ε || ε''k'' || −ε''j'' || 0 || 0 || 0 || 0
|-
! scope="row" | ε''j''
| ε''j'' || −ε''k'' || −ε || ε''i'' || 0 || 0 || 0 || 0
|-
! scope="row" | ε''k''
| ε''k'' || ε''j'' || −ε''i'' || −ε || 0 || 0 || 0 || 0
|-
|}
 
<!-- replaced this table with wiki table format
<table border="1">
  <tr>
    <td><math>Q_1 * Q_2\,\!</math></td>
    <td><math>Q_2.1\,\!</math></td>
    <td><math>Q_2.i\,\!</math></td>
    <td><math>Q_2.j\,\!</math></td>
    <td><math>Q_2.k\,\!</math></td>
    <td><math>Q_2.\varepsilon</math></td>
    <td><math>Q_2.\varepsilon i</math></td>
    <td><math>Q_2.\varepsilon j</math></td>
    <td><math>Q_2.\varepsilon k</math></td>
  </tr>
  <tr>
    <td><math>Q_1.1\,\!</math></td>
    <td>1</td>
    <td>i</td>
    <td>j</td>
    <td>k</td>
    <td><math>\varepsilon</math></td>
    <td><math>\varepsilon i</math></td>
    <td><math>\varepsilon j</math></td>
    <td><math>\varepsilon k</math></td>
  </tr>
  <tr>
    <td><math>Q_1.i\,\!</math></td>
    <td>i</td>
    <td>-1</td>
    <td>k</td>
    <td>-j</td>
    <td><math>\varepsilon i</math></td>
    <td><math>-\varepsilon</math></td>
    <td><math>\varepsilon k</math></td>
    <td><math>-\varepsilon j</math></td>
  </tr>
  <tr>
    <td><math>Q_1.j\,\!</math></td>
    <td>j</td>
    <td>-k</td>
    <td>-1</td>
    <td>i</td>
    <td><math>\varepsilon j</math></td>
    <td><math>-\varepsilon k</math></td>
    <td><math>-\varepsilon</math></td>
    <td><math>\varepsilon i</math></td>
  </tr>
  <tr>
    <td><math>Q_1.k\,\!</math></td>
    <td>k</td>
    <td>j</td>
    <td>-i</td>
    <td>-1</td>
    <td><math>\varepsilon k</math></td>
    <td><math>\varepsilon j</math></td>
    <td><math>-\varepsilon i</math></td>
    <td><math>-\varepsilon</math></td>
  </tr>
  <tr>
    <td><math>Q_1.\varepsilon</math></td>
    <td><math>\varepsilon</math></td>
    <td><math>\varepsilon i</math></td>
    <td><math>\varepsilon j</math></td>
    <td><math>\varepsilon k</math></td>
    <td>0</td>
    <td>0</td>
    <td>0</td>
    <td>0</td>
  </tr>
  <tr>
    <td><math>Q_1.\varepsilon i</math></td>
    <td><math>\varepsilon i</math></td>
    <td><math>-\varepsilon</math></td>
    <td><math>\varepsilon k</math></td>
    <td><math>-\varepsilon j</math></td>
    <td>0</td>
    <td>0</td>
    <td>0</td>
    <td>0</td>
  </tr>
  <tr>
    <td><math>Q_1.\varepsilon j</math></td>
    <td><math>\varepsilon j</math></td>
    <td><math>-\varepsilon k</math></td>
    <td><math>-\varepsilon</math></td>
    <td><math>\varepsilon i</math></td>
    <td>0</td>
    <td>0</td>
    <td>0</td>
    <td>0</td>
  </tr>
  <tr>
    <td><math>Q_1.\varepsilon k</math></td>
    <td><math>\varepsilon k</math></td>
    <td><math>\varepsilon j</math></td>
    <td><math>-\varepsilon i</math></td>
    <td><math>-\varepsilon</math></td>
    <td>0</td>
    <td>0</td>
    <td>0</td>
    <td>0</td>
  </tr>
</table>
-->
 
===Conjugate===
<!-- This is not a useful definition of the conjugate of a dual quaternion
A dual quaternion has three different definitions of conjugate, which can be expressed as follows.
Where <math>q</math> is the dual quaternion, <math>r</math> is a the 'real' quaternion part, and <math>d</math> is the dual part.
* <math>q^\dagger = r^* + \varepsilon d^*</math>
* <math>q_\varepsilon = r - \varepsilon d</math>
* <math>q^\dagger_\varepsilon = r^* - \varepsilon d^*</math>
-->
 
The conjugate of a dual quaternion is the extension of the conjugate of a quaternion, that is
:<math> \hat{A}^* = (A^*, B^*) = A^* + \epsilon B^*. \!</math>
 
As for quaternions, the conjugate of the product of dual quaternions, {{nowrap|''Ĝ'' {{=}} ''ÂĈ''}}, is the product of their conjugates in reverse order,
:<math> \hat{G}^* = (\hat{A}\hat{C})^* = \hat{C}^*\hat{A}^*.\!</math>
 
It is useful to introduce the functions Sc(∗) and Vec(∗) that select the scalar and vector parts of a quaternion, or the dual scalar and dual vector parts of a dual quaternion.  In particular, if {{nowrap|''Â'' {{=}} ''â''<sub>0</sub> + ''A''}}, then
:<math> \mbox{Sc}(\hat{A}) = \hat{a}_0, \mbox{Vec}(\hat{A}) = \mathsf{A}.\!</math>
This allows the definition of the conjugate of ''Â'' as
:<math> \hat{A}^* = \mbox{Sc}(\hat{A}) - \mbox{Vec}(\hat{A}).\!</math>
or,
:<math> (\hat{a}_0+\mathsf{A})^* = \hat{a}_0 - \mathsf{A}.\!</math>
 
The product of a dual quaternion with its conjugate yields
:<math>\hat{A}\hat{A}^* = (\hat{a}_0+\mathsf{A})(\hat{a}_0 - \mathsf{A}) = \hat{a}_0^2 + \mathsf{A}\cdot\mathsf{A}.\!</math>
This is a dual scalar which is the ''magnitude squared'' of the dual quaternion.
 
=== Norm ===
The ''norm'' of a dual quaternion |''Â''| is computed using the conjugate to compute {{nowrap|{{!}}''Â''{{!}} {{=}} √(''Â Â''<sup>*</sup>)}}.  This is a dual number called the ''magnitude'' of the dual quaternion.  Dual quaternions with {{nowrap|{{!}}''Â''{{!}} {{=}} 1}} are ''unit dual quaternions''.
 
Dual quaternions of magnitude 1 are used to represent spatial Euclidean displacements. Notice that the requirement that {{nowrap|''Â Â''<sup>*</sup>}} {{=}} 1, introduces two algebraic constraints on the components of ''Â'', that is
:<math> \hat{A}\hat{A}^* = (A, B)(A^*, B^*) = (AA^*, AB^* + BA^*) = (1, 0).\!</math>
 
=== Inverse ===
If ''p'' + ε ''q'' is a dual quaternion, and ''p'' is not zero, then the inverse dual quaternion is given by
:''p''<sup>&minus;1</sup> (1 &minus; ε ''q'' ''p''<sup>&minus;1</sup>).
Thus the elements of the subspace { ε q : q ∈ H } do not have inverses. This subspace is called an [[ideal (ring theory)|ideal]] in ring theory. It happens to be the unique [[maximal ideal]] of the ring of dual numbers.
 
The [[group of units]] of the dual number ring then consists of numbers not in the ideal. The dual numbers form a [[local ring]] since there is a unique maximal ideal. The group of units is a [[Lie group]] and can be studied using the [[exponential mapping]]. Dual quaternions have been used to exhibit transformations in the [[Euclidean group]]. A typical element can be written as a [[screw theory#Homography|screw transformation]].
 
== Dual quaternions and spatial displacements ==
A benefit of the dual quaternion formulation of the composition of two spatial displacements D<sub>B</sub>=([R<sub>B</sub>], '''b''') and D<sub>A</sub>=([R<sub>A</sub>],'''a''') is that the resulting dual quaternion yields directly the [[screw axis]] and dual angle of the composite displacement D<sub>C</sub>=D<sub>B</sub>D<sub>A</sub>.
 
In general, the dual quaternion associated with a spatial displacement D = ([A],'''d''') is constructed from its [[screw axis]] S=('''S''', '''V''') and the dual angle (φ, d) where φ is the rotation about and d the slide along this axis, which defines the displacement D.  The associated dual quaternion is given by,
:<math> \hat{S} = \cos\frac{\hat{\phi}}{2} + \sin\frac{\hat{\phi}}{2} \mathsf{S}. </math>
 
Let the composition of the displacement D<sub>B</sub> with D<sub>A</sub> be the displacement D<sub>C</sub>=D<sub>B</sub>D<sub>A</sub>.  The screw axis and dual angle of D<sub>C</sub> is obtained from the product of the dual quaternions of D<sub>A</sub> and D<sub>B</sub>, given by
:<math>\hat{A}=\cos(\hat{\alpha}/2)+ \sin(\hat{\alpha}/2)\mathsf{A}\quad
\text{and}\quad \hat{B}=\cos(\hat{\beta}/2)+ \sin(\hat{\beta}/2)\mathsf{B}.</math>
That is, the composite displacement D<sub>C</sub>=D<sub>B</sub>D<sub>A</sub> has the associated dual quaternion given by
:<math> \hat{C}  = \cos\frac{\hat{\gamma}}{2}+\sin\frac{\hat{\gamma}}{2}\mathsf{C}
=
\Big(\cos\frac{\hat{\beta}}{2}+\sin\frac{\hat{\beta}}{2}\mathsf{B}\Big) \Big(\cos\frac{\hat{\alpha}}{2}+
\sin\frac{\hat{\alpha}}{2}\mathsf{A}\Big).
</math>
 
Expand this product in order to obtain
:<math>
\cos\frac{\hat{\gamma}}{2}+\sin\frac{\hat{\gamma}}{2} \mathsf{C}  =
\Big(\cos\frac{\hat{\beta}}{2}\cos\frac{\hat{\alpha}}{2} -
\sin\frac{\hat{\beta}}{2}\sin\frac{\hat{\alpha}}{2} \mathsf{B}\cdot \mathsf{A}\Big)  +  \Big(\sin\frac{\hat{\beta}}{2}\cos\frac{\hat{\alpha}}{2} \mathsf{B} +
\sin\frac{\hat{\alpha}}{2}\cos\frac{\hat{\beta}}{2} \mathsf{A} +
\sin\frac{\hat{\beta}}{2}\sin\frac{\hat{\alpha}}{2} \mathsf{B}\times \mathsf{A}\Big).
</math>
 
Divide both sides of this equation by the identity
:<math> \cos\frac{\hat{\gamma}}{2} = \cos\frac{\hat{\beta}}{2}\cos\frac{\hat{\alpha}}{2} -
\sin\frac{\hat{\beta}}{2}\sin\frac{\hat{\alpha}}{2} \mathsf{B}\cdot \mathsf{A}</math>
to obtain
:<math> \tan\frac{\hat{\gamma}}{2} \mathsf{C}  = \frac{\tan\frac{\hat{\beta}}{2}\mathsf{B} +
\tan\frac{\hat{\alpha}}{2} \mathsf{A} +
\tan\frac{\hat{\beta}}{2}\tan\frac{\hat{\alpha}}{2} \mathsf{B}\times \mathsf{A}}{1 -
\tan\frac{\hat{\beta}}{2}\tan\frac{\hat{\alpha}}{2} \mathsf{B}\cdot \mathsf{A}}.
</math>
 
This is Rodrigues formula for the screw axis of a composite displacement defined in terms of the screw axes of the two displacements.  He derived this formula in 1840.<ref>Rodrigues, O. (1840), Des lois géométriques qui régissent les déplacements d’un système solide dans l’espace, et la variation des coordonnées provenant de ses déplacements con- sidérés indépendamment des causes qui peuvent les produire, Journal de Mathématiques Pures et Appliquées de Liouville 5, 380–440.</ref> 
 
The three screw axes A, B, and C form a [http://books.google.com/books?id=f8I4yGVi9ocC&lpg=PP1&pg=PA64#v=twopage&q&f=false spatial triangle] and the dual angles at these ''vertices'' between the common normals that form the sides of this triangle are directly related to the dual angles of the three spatial displacements.
 
== Matrix form of dual quaternion multiplication ==
The matrix representation of the quaternion product is convenient for programming quaternion computations using matrix algebra, which is true for dual quaternion operations as well. 
 
The quaternion product AC is a linear transformation by the operator A of the components of the quaternion C, therefore there is a matrix representation of A operating on the vector formed from the components of C.
 
Assemble the components of the quaternion C=c<sub>0</sub>+'''C''' into the array C=(C<sub>1</sub>, C<sub>2</sub>, C<sub>3</sub>, c<sub>0</sub>).  Notice that the components of the vector part of the quaternion are listed first and the scalar is listed last.  This is an arbitrary choice, but once this convention is selected we must abide by it.
 
The quaternion product AC can now be represented as the matrix product
:<math>
AC = [A^+] C =
\begin{bmatrix}
a_0 & -A_3 & A_2 & A_1 \\
A_3 & a_0 & -A_1 & A_2 \\
-A_2 & A_1 & a_0  & A_3 \\
-A_1 & -A_2 & -A_3 & a_0
\end{bmatrix}
\begin{Bmatrix} C_1 \\ C_2 \\ C_3 \\ c_0 \end{Bmatrix}.
</math>
 
The product AC can also be viewed as an operation by C on the components of A, in which case we have
:<math>
AC = [C^-] A = \begin{bmatrix}
c_0 & C_3 & -C_2 & C_1 \\
-C_3 & c_0 & C_1 & C_2 \\
C_2 & -C_1 & c_0  & C_3 \\
-C_1 & -C_2 & -C_3 & c_0
\end{bmatrix}
\begin{Bmatrix} A_1 \\ A_2 \\ A_3 \\ a_0 \end{Bmatrix}.
</math>
 
The dual quaternion product ÂĈ = (A, B)(C, D) = (AC, AD+BC) can be formulated as a matrix operation as follows.  Assemble the components of Ĉ into the eight dimensional array Ĉ = (C<sub>1</sub>, C<sub>2</sub>, C<sub>3</sub>, c<sub>0</sub>, D<sub>1</sub>, D<sub>2</sub>, D<sub>3</sub>, d<sub>0</sub>), then ÂĈ is given by the 8x8 matrix product
:<math>
\hat{A}\hat{C} = [\hat{A}^+]\hat{C} = \begin{bmatrix} A^+ & 0 \\ B^+ & A^+ \end{bmatrix}\begin{Bmatrix} C \\ D\end{Bmatrix}.
</math>
 
As we saw for quaternions, the product ÂĈ can be viewed as the operation of Ĉ on the coordinate vector Â, which means ÂĈ can also be formulated as,
:<math>
\hat{A}\hat{C} = [\hat{C}^-]\hat{A} = \begin{bmatrix} C^- & 0 \\ D^- & C^- \end{bmatrix}\begin{Bmatrix} A \\ B\end{Bmatrix}.
</math>
 
== More on spatial displacements ==
The dual quaternion of a displacement D=([A], '''d''') can be constructed from the quaternion S=cos(φ/2) + sin(φ/2)'''S''' that defines the rotation [A] and the vector quaternion constructed from the translation vector '''d''', given by D = d<sub>1</sub>i + d<sub>2</sub>j + d<sub>3</sub>k.  Using this notation, the dual quaternion for the displacement D=([A], '''d''') is given by
:<math> \hat{S} = S + \varepsilon \frac{1}{2}DS. </math>
 
Let the Plücker coordinates of a line in the direction '''x''' through a point '''p''' in a moving body and its coordinates in the fixed frame which is in the direction '''X''' through the point '''P''' be given by,
:<math>\hat{x}=\mathbf{x} + \varepsilon \mathbf{p}\times\mathbf{x}\quad\text{and}\quad\hat{X}=\mathbf{X} + \varepsilon \mathbf{P}\times\mathbf{X}.</math>
Then the dual quaternion of the displacement of this body transforms Plücker coordinates in the moving frame to Plücker coordinates in the fixed frame by the formula
:<math>\hat{X} = \hat{S}\hat{x}\hat{S}^*.</math>
 
Using the matrix form of the dual quaternion product this becomes,
:<math>\hat{X} =[\hat{S}^+][\hat{S}^-]^*\hat{x}.</math>
This calculation is easily managed using matrix operations.
 
== Dual quaternions and 4×4 homogeneous transforms ==
It might be helpful, especially in rigid body motion, to represent dual quaternions as [[homogeneous transformation matrix|homogeneous matrices]]. As given above a dual quaternion can be written as: <math>\hat q = r + d\varepsilon</math> where ''r'' and ''d'' are both quaternions. The ''r'' quaternion is known as the real or rotational part and the <math>d</math> quaternion is known as the dual or displacement part. A 3 dimensional position vector,
:<math>\vec{v} = (v_0, v_1, v_2)</math>
can be transformed by constructing the dual-quaternion representation,
:<math>\hat v := 1 + \varepsilon (v_0 i + v_1 j + v_2 k)</math>
then a transformation by <math>\hat q</math> is given by
:<math>\vec{v}' = \hat q \cdot \hat v \cdot \hat q^{-1}</math>.
The rotation part can be given by
:<math>r = r_w + r_xi + r_yj + r_zk = \cos \left( \frac{\theta}{2} \right) + \sin \left( \frac{\theta}{2} \right) \cdot \vec{a}</math>
where <math>\theta</math> is the angle of rotation about axis <math>\vec{a}</math>. The rotation part can be expressed as a 3×3 [[orthogonal matrix]] by
: <math>R =\begin{pmatrix}
r_w^2+r_x^2-r_y^2-r_z^2  &2r_xr_y-2r_wr_z          &2r_xr_z+2r_wr_y        \\
2r_xr_y+2r_wr_z          &r_w^2-r_x^2+r_y^2-r_z^2 &2r_yr_z-2r_wr_x        \\
2r_xr_z-2r_wr_y          &2r_yr_z+2r_wr_x        &r_w^2-r_x^2-r_y^2+r_z^2\\
\end{pmatrix}.</math>
The displacement can be written as
: <math>d r^* = 0 + \frac{\Delta x}{2}i + \frac{\Delta y}{2}j + \frac{\Delta z}{2}k</math>.
Translation and rotation combined in one transformation matrix is:
: <math> [R|t] = \begin{pmatrix}
  &  &  & \Delta x \\
  & R &  & \Delta y \\
  &  &  & \Delta z \\
0 & 0 & 0 & 1 \\
\end{pmatrix}</math>
Where the left upper 3×3 matrix is the rotation matrix we just calculated.
 
==Eponyms==
Since both  [[Eduard Study]] and [[William Kingdon Clifford]] used, and wrote upon, the dual quaternions, at times authors refer to dual quaternions as “Study biquaternions” or “Clifford biquaternions”. The latter [[eponym]] has also been used to refer to [[split-biquaternion]]s. Read the article by Joe Rooney linked below for view of a supporter of W.K. Clifford’s claim. Since the claims of Clifford and Study are in contention, it is convenient to use the current designation ''dual quaternion'' to avoid conflict.
 
==See also==
* [[Screw theory]]
* [[Screw axis]]
* [[Quaternion]]
* [[Rational motion]]
* [[Quaternions and spatial rotation]]
* [[Biquaternion]]
* [[Conversion between quaternions and Euler angles]]
* [[Clifford algebra]]
* [[Olinde Rodrigues]]
 
==References==
{{Reflist}}
* A.T. Yang (1963) ''Application of quaternion algebra and dual numbers to the analysis of spatial mechanisms'', Ph.D thesis, [[Columbia University]].
* A.T. Yang (1974) "Calculus of Screws" in ''Basic Questions of Design Theory'', William R. Spillers, editor, [[Elsevier]], pages 266 to 281.
* J.M. McCarthy (1990) ''An Introduction to Theoretical Kinematics'', pp.&nbsp;62–5, [[MIT]] Press [ISBN 0-262-13252-4].
* L. Kavan, S. Collins, C. O'Sullivan, J. Zara (2006) [https://www.cs.tcd.ie/publications/tech-reports/reports.06/TCD-CS-2006-46.pdf ''Dual Quaternions for Rigid Transformation Blending''], Technical report, Trinity College Dublin.
* Joe Rooney [http://oro.open.ac.uk/8455/01/chapter4(020507).pdf William Kingdon Clifford], Department of Design and Innovation, the Open University, London.
* Joe Rooney (2007) "William Kingdon Clifford", in Marco Ceccarelli, ''Distinguished figures in mechanism and machine science'', Springer.
* [[Eduard Study]] (1891) "Von Bewegungen und Umlegung", [[Mathematische Annalen]] 39:520.
 
==External links==
* [[Wilhelm Blaschke]] (1958) D.H. Delphenich translator, [http://neo-classical-physics.info/uploads/3/0/6/5/3065888/blaschke_-_dual_quaternions.pdf "Applications of dual quaternions to kinematics"]
* Wilhelm Blaschke (1960) D.H. Delphenich translator, [http://neo-classical-physics.info/uploads/3/0/6/5/3065888/blaschke_-_kinematics_and_quaternions.pdf Quaternions and Kinematics] from Neo-classical-physics.info.
 
{{DEFAULTSORT:Dual Quaternion}}
[[Category:Machines]]
[[Category:Kinematics]]
[[Category:Quaternions]]

Revision as of 11:35, 3 March 2014

Andrew Simcox is the name his mothers and fathers gave him and he completely enjoys this name. Distributing manufacturing has been his occupation for some time. My spouse doesn't like it the psychic phone readings (cpacs.org) way I do but what I truly like performing is caving but I don't have the time lately. My spouse and I live in Kentucky.

Feel free tarot readings to visit my webpage :: best psychic readings