Skip to content
Surf Wiki
Save to docs
general/rotation-in-three-dimensions

From Surf Wiki (app.surf) — the open knowledge base

Euler–Rodrigues formula

Math formula for 3D vector rotation


Math formula for 3D vector rotation

In mathematics and mechanics, the Euler–Rodrigues formula describes the rotation of a vector in three dimensions. It is based on Rodrigues' rotation formula, but uses a different parametrization.

The rotation is described by four Euler parameters due to Leonhard Euler. The Rodrigues' rotation formula (named after Olinde Rodrigues), a method of calculating the position of a rotated point, is used in some software applications, such as flight simulators and computer games.

Definition

A rotation about the origin is represented by four real numbers, a, b, c, d such that :a^2 + b^2 + c^2 + d^2 = 1. When the rotation is applied, a point at position \vec x rotates to its new position, :\vec x' = \begin{pmatrix} a^2+b^2-c^2-d^2 & 2(bc-ad) & 2(bd + ac) \ 2(bc+ad) & a^2+c^2-b^2-d^2 & 2(cd - ab) \ 2(bd-ac) & 2(cd+ab) & a^2+d^2-b^2-c^2 \end{pmatrix}\vec x.

Vector formulation

The parameter a may be called the scalar parameter and \vec \omega = (b, c, d) the vector parameter. In standard vector notation, the Rodrigues rotation formula takes the compact form \vec x ' = \vec x + 2a(\vec \omega\times\vec x) + 2\left (\vec \omega\times(\vec \omega\times\vec x)\right ) |border

Symmetry

The parameters (a, b, c, d) and (−a, −b, −c, −d) describe the same rotation. Apart from this symmetry, every set of four parameters describes a unique rotation in three-dimensional space.

Composition of rotations

The composition of two rotations is itself a rotation. Let (a1, b1, c1, d1) and (a2, b2, c2, d2) be the Euler parameters of two rotations. The parameters for the compound rotation (rotation 2 after rotation 1) are as follows: :\begin{align} a & = a_1a_2 - b_1b_2 - c_1c_2 - d_1d_2; \ b & = a_1b_2 + b_1a_2 - c_1d_2 + d_1c_2; \ c & = a_1c_2 + c_1a_2 - d_1b_2 + b_1d_2; \ d & = a_1d_2 + d_1a_2 - b_1c_2 + c_1b_2. \end{align}

It is straightforward, though tedious, to check that . (This is essentially Euler's four-square identity.)

Rotation angle and rotation axis

Any central rotation in three dimensions is uniquely determined by its axis of rotation (represented by a unit vector ) and the rotation angle φ. The Euler parameters for this rotation are calculated as follows:

: \begin{align}

a & = \cos \frac{\varphi}{2}; \ b & = k_x \sin \frac{\varphi}{2}; \ c & = k_y \sin \frac{\varphi}{2}; \ d & = k_z \sin \frac{\varphi}{2}. \end{align} Note that if φ is increased by a full rotation of 360 degrees, the arguments of sine and cosine only increase by 180 degrees. The resulting parameters are the opposite of the original values, (−a, −b, −c, −d); they represent the same rotation.

In particular, the identity transformation (null rotation, ) corresponds to parameter values . Rotations of 180 degrees about any axis result in .

Connection with quaternions

The Euler parameters can be viewed as the coefficients of a quaternion; the scalar parameter a is the real part, the vector parameters b, c, d are the imaginary parts. Thus we have the quaternion :q = a + bi + cj + dk, which is a quaternion of unit length (or versor) since :\left|q\right|^2 = a^2 + b^2 + c^2 + d^2 = 1. Most importantly, the above equations for composition of rotations are precisely the equations for multiplication of quaternions q = q_2 , q_1. In other words, the group of unit quaternions with multiplication, modulo the negative sign, is isomorphic to the group of rotations with composition.

A rotation in 3D can thus be represented by a unit quaternion q: :q = \cos \frac{\varphi}{2} + \mathbf{k} \sin \frac{\varphi}{2} = a + \vec\omega, where:

  • \cos \tfrac{\varphi}{2} is the scalar (real) part,
  • \mathbf{k} \sin \tfrac{\varphi}{2} is the vector (imaginary) part,
  • \mathbf{k} is a unit vector representing the axis of rotation.

For a 3D vector \mathbf{v} identified as a pure quaternion, the rotated vector \mathbf{v}' is given by: : \mathbf{v}' = q \mathbf{v} q^{-1}, where q^{-1} = \cos \tfrac{\varphi}{2} - \mathbf{k} \sin \tfrac{\varphi}{2} = a - \vec\omega.

The previous equation can be shown to be equivalent to the Euler-Rodrigues equation by exploiting the commutation relationship :q_2 q_1 = q_1 q_2 - 2 \mathbf{k_1} \times \mathbf{k_2} and the fact that qq^{-1}=1 as follows: :q \mathbf{v} q^{-1} = q(q^{-1}\mathbf{v} - 2(-\vec\omega)\times\mathbf{v}) :\phantom{q \mathbf{v} q^{-1}} = \cancel{qq^-1}\mathbf{v}+\underbrace{(a+\vec\omega)}_q(2\vec\omega\times\mathbf{v}) :\phantom{q \mathbf{v} q^{-1}} = \mathbf{v} + 2a(\vec\omega\times\mathbf{v}) + 2(\cancel{-\vec\omega\cdot(\vec\omega\times\mathbf{v})} + \vec\omega\times(\vec\omega\times\mathbf{v})) :\phantom{q \mathbf{v} q^{-1}} = \mathbf{v} + 2a(\vec\omega\times\mathbf{v}) + 2(\vec\omega\times(\vec\omega\times\mathbf{v}))

where, in the second to last equality, the dot product of two orthogonal vectors is zero.

Connection with SU(2) spin matrices

The Lie group SU(2) can be used to represent three-dimensional rotations in complex 2 × 2 matrices. The SU(2)-matrix corresponding to a rotation, in terms of its Euler parameters, is :U = \begin{pmatrix} \ a-di & -c-bi \ c-bi & a+di \end{pmatrix}. which can be written as the sum :\begin{align}U & = a\ \begin{pmatrix} 1 & 0 \ 0 & 1 \end{pmatrix}

  • ib\ \begin{pmatrix} 0 & 1 \ 1 & 0 \end{pmatrix}
  • ic\ \begin{pmatrix} 0 & -i \ i & 0 \end{pmatrix}
  • id\ \begin{pmatrix} 1 & 0 \ 0 & -1 \end{pmatrix} \ & = a,I-ib,\sigma_x-ic,\sigma_y-id,\sigma_z,\end{align} where the σi are the Pauli spin matrices.

Rotation is given by X^\prime \equiv (x^\prime_1 \sigma_x + x^\prime_2 \sigma_y + x^\prime_3 \sigma_z ) = U ; X ; U^\dagger = (a,I-ib,\sigma_x-ic,\sigma_y-id,\sigma_z)(x_1 \sigma_x + x_2 \sigma_y + x_3 \sigma_z )(a,I+ib,\sigma_x+ic,\sigma_y+id,\sigma_z), which it can be confirmed by multiplying out gives the Euler–Rodrigues formula as stated above.

Thus, the Euler parameters are the real and imaginary coordinates in an SU(2) matrix corresponding to an element of the spin group Spin(3), which maps by a double cover mapping to a rotation in the orthogonal group SO(3). This realizes \mathbb{R}^3 as the unique three-dimensional irreducible representation of the Lie group SU(2) ≈ Spin(3).

Cayley–Klein parameters

The elements of the matrix U are known as the Cayley–Klein parameters, after the mathematicians Arthur Cayley and Felix Klein,{{refn|group=lower-alpha|name=ckparams|Goldstein (1980) considers a passive (contravariant, or "alias") transformation, rather than the active (covariant, or "alibi") transformation here.
His matrix A therefore corresponds to the transpose of the Euler–Rodrigues matrix given at the head of this article, or, equivalently, to the Euler–Rodrigues matrix for an active rotation of -\varphi rather than \varphi. Taking this into account, it is apparent that his e_1, e_2, and e_3 in eqn 4-67 (p.153) are equal to b, c, and d here. However his \alpha, \beta, \gamma, and \delta, the elements of his matrix Q, correspond to the elements of matrix U^\dagger here, rather than the matrix U. This then gives his parametrization :\begin{align} \alpha &= ;; a+di & \beta &= c+bi \ \gamma &= -c + bi & \delta &= a - di \end{align} In consequence, while his formula (4-64) is identical symbol-by-symbol to the transformation matrix given here, using his definitions for \alpha, \beta, \gamma, and \delta it gives his matrix A, whereas the definitions based on the matrix U above lead to the (active) Euler–Rodrigues matrix presented here. Pennestrì et al (2016) similarly define their \alpha, \beta, \gamma, and \delta in terms of the passive matrix Q rather than the active matrix U. The parametrization here accords with that used in eg Sakurai and Napolitano (2020), p. 165, and Altmann (1986), eqn. 5 p. 113 / eqn. 9 p. 117. }} :\begin{align} \alpha &= a-di & \beta &= -c-bi \ \gamma &= c - bi & \delta &= \ a + di \end{align}

In terms of these parameters the Euler–Rodrigues formula can then also be written :\vec x' = \begin{pmatrix} \frac{1}{2}(\alpha^2 -\gamma^2 +\delta^2 -\beta^2) & \frac{1}{2} i (\gamma^2 -\alpha^2 +\delta^2 -\beta^2) & \gamma \delta - \alpha \beta \ \frac{1}{2}i (\alpha^2 +\gamma^2 -\beta^2 - \delta^2) & \frac{1}{2} (\alpha^2 +\gamma^2 +\beta^2 + \delta^2) & -i (\alpha \beta + \gamma \delta) \ \beta \delta - \alpha \gamma & i(\alpha \gamma + \beta \delta) & \alpha\delta + \beta\gamma \end{pmatrix}\vec x.

Klein and Sommerfeld used the parameters extensively in connection with Möbius transformations and cross-ratios in their discussion of gyroscope dynamics.

Notes

References

References

  1. e.g. [[Felix Klein]] (1897), ''The mathematical theory of the top'', New York: Scribner. p.[https://archive.org/details/mathematicaltheo00kleiuoft/page/4/mode/2up?view=theater 4]
  2. (2020). "[[Modern Quantum Mechanics]]".
  3. Altmann, S. (1986), ''Rotations, Quaternions and Double Groups''. Oxford:Clarendon Press. {{ISBN. 0-19-855372-2
  4. [[Herbert Goldstein. Goldstein, H.]] (1980), "The Cayley-Klein Parameters and Related Quantities". §4-5 in ''[[Classical Mechanics (Goldstein). Classical Mechanics]]'', 2nd ed. Reading, MA: Addison-Wesley. p. 153
  5. [[Eric W. Weisstein. Weisstein, Eric W.]], [https://mathworld.wolfram.com/Cayley-KleinParameters.html Cayley-Klein Parameters], ''[[MathWorld]]''. Accessed 2024-05-10
  6. E. Pennestrì, P.P. Valentini, G. Figliolini, J. Angeles (2016), "Dual Cayley–Klein parameters and Möbius transform: Theory and applications", ''Mechanism and Machine Theory'' '''106'''(January):50-67. {{doi. 10.1016/j.mechmachtheory.2016.08.008. [https://www.researchgate.net/publication/308037375_Dual_Cayley-Klein_parameters_and_Mobius_transform_Theory_and_applications pdf] available via [[ResearchGate]]
  7. [[Felix Klein]] and [[Arnold Sommerfeld]], ''Über die Theorie des Kreisels'', vol 1. (Teubner, 1897). Translated (2008) as: ''The Theory of the Top'', vol 1. Boston: Birkhauser. {{ISBN. 0817647201
Info: Wikipedia Source

This article was imported from Wikipedia and is available under the Creative Commons Attribution-ShareAlike 4.0 License. Content has been adapted to SurfDoc format. Original contributors can be found on the article history page.

Want to explore this topic further?

Ask Mako anything about Euler–Rodrigues formula — get instant answers, deeper analysis, and related topics.

Research with Mako

Free with your Surf account

Content sourced from Wikipedia, available under CC BY-SA 4.0.

This content may have been generated or modified by AI. CloudSurf Software LLC is not responsible for the accuracy, completeness, or reliability of AI-generated content. Always verify important information from primary sources.

Report