Rodrigues' rotation formula
   HOME

TheInfoList



OR:

In the theory of
three-dimensional rotation In mechanics and geometry, the 3D rotation group, often denoted SO(3), is the group of all rotations about the origin of three-dimensional Euclidean space \R^3 under the operation of composition. By definition, a rotation about the origin is a t ...
, Rodrigues' rotation formula, named after
Olinde Rodrigues Benjamin Olinde Rodrigues (6 October 1795 – 17 December 1851), more commonly known as Olinde Rodrigues, was a French banker, mathematician, and social reformer. In mathematics Rodrigues is remembered for Rodrigues' rotation formula for vectors, ...
, is an efficient algorithm for rotating a
vector Vector most often refers to: *Euclidean vector, a quantity with a magnitude and a direction *Vector (epidemiology), an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematic ...
in space, given an
axis An axis (plural ''axes'') is an imaginary line around which an object rotates or is symmetrical. Axis may also refer to: Mathematics * Axis of rotation: see rotation around a fixed axis * Axis (mathematics), a designator for a Cartesian-coordinat ...
and
angle of rotation In mathematics, the angle of rotation is a measurement of the amount, of namely angle, that a figure is rotated about a fixed point, often the center of a circle. A clockwise rotation is considered a negative rotation, so that, for instance ...
. By extension, this can be used to transform all three
basis vector In mathematics, a set of vectors in a vector space is called a basis if every element of may be written in a unique way as a finite linear combination of elements of . The coefficients of this linear combination are referred to as components ...
s to compute a
rotation matrix In linear algebra, a rotation matrix is a transformation matrix that is used to perform a rotation in Euclidean space. For example, using the convention below, the matrix :R = \begin \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \en ...
in , the group of all rotation matrices, from an axis–angle representation. In other words, the Rodrigues' formula provides an algorithm to compute the exponential map from , the Lie algebra of , to without actually computing the full matrix exponential. This formula is variously credited to
Leonhard Euler Leonhard Euler ( , ; 15 April 170718 September 1783) was a Swiss mathematician, physicist, astronomer, geographer, logician and engineer who founded the studies of graph theory and topology and made pioneering and influential discoveries in ma ...
,
Olinde Rodrigues Benjamin Olinde Rodrigues (6 October 1795 – 17 December 1851), more commonly known as Olinde Rodrigues, was a French banker, mathematician, and social reformer. In mathematics Rodrigues is remembered for Rodrigues' rotation formula for vectors, ...
, or a combination of the two. A detailed historical analysis in 1989 concluded that the formula should be attributed to Euler, and recommended calling it "Euler's finite rotation formula." This proposal has received notable support, but some others have viewed the formula as just one of many variations of the
Euler–Rodrigues formula 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 para ...
, thereby crediting both.


Statement

If is a vector in and is a
unit vector In mathematics, a unit vector in a normed vector space is a vector (often a spatial vector) of length 1. A unit vector is often denoted by a lowercase letter with a circumflex, or "hat", as in \hat (pronounced "v-hat"). The term ''direction v ...
describing an axis of rotation about which rotates by an angle according to the right hand rule, the Rodrigues formula for the rotated vector is The intuition of the above formula is that the first term scales the vector down, while the second skews it (via
vector addition In mathematics, physics, and engineering, a Euclidean vector or simply a vector (sometimes called a geometric vector or spatial vector) is a geometric object that has magnitude (or length) and direction. Vectors can be added to other vectors a ...
) toward the new rotational position. The third term re-adds the height (relative to \textbf) that was lost by the first term. An alternative statement is to write the axis vector as a cross product of any two nonzero vectors and which define the plane of rotation, and the sense of the angle is measured away from and towards . Letting denote the angle between these vectors, the two angles and are not necessarily equal, but they are measured in the same sense. Then the unit axis vector can be written :\mathbf = \frac = \frac\,. This form may be more useful when two vectors defining a plane are involved. An example in physics is the
Thomas precession In physics, the Thomas precession, named after Llewellyn Thomas, is a relativistic correction that applies to the spin of an elementary particle or the rotation of a macroscopic gyroscope and relates the angular velocity of the spin of a pa ...
which includes the rotation given by Rodrigues' formula, in terms of two non-collinear boost velocities, and the axis of rotation is perpendicular to their plane.


Derivation

Let be a
unit vector In mathematics, a unit vector in a normed vector space is a vector (often a spatial vector) of length 1. A unit vector is often denoted by a lowercase letter with a circumflex, or "hat", as in \hat (pronounced "v-hat"). The term ''direction v ...
defining a rotation axis, and let be any vector to rotate about by angle ( right hand rule, anticlockwise in the figure). Using the dot and cross products, the vector can be decomposed into components parallel and perpendicular to the axis , : \mathbf = \mathbf_\parallel + \mathbf_\perp \,, where the component parallel to is : \mathbf_\parallel = (\mathbf \cdot \mathbf) \mathbf called the
vector projection The vector projection of a vector on (or onto) a nonzero vector , sometimes denoted \operatorname_\mathbf \mathbf (also known as the vector component or vector resolution of in the direction of ), is the orthogonal projection of onto a straig ...
of on , and the component perpendicular to is :\mathbf_ = \mathbf - \mathbf_ = \mathbf - (\mathbf \cdot \mathbf) \mathbf = - \mathbf\times(\mathbf\times\mathbf) called the
vector rejection The vector projection of a vector on (or onto) a nonzero vector , sometimes denoted \operatorname_\mathbf \mathbf (also known as the vector component or vector resolution of in the direction of ), is the orthogonal projection of onto a straig ...
of from . The vector can be viewed as a copy of rotated anticlockwise by 90° about , so their magnitudes are equal but directions are perpendicular. Likewise the vector a copy of rotated anticlockwise through about , so that and are equal in magnitude but in opposite directions (i.e. they are negatives of each other, hence the minus sign). Expanding the
vector triple product In geometry and algebra, the triple product is a product of three 3-dimensional vectors, usually Euclidean vectors. The name "triple product" is used for two different products, the scalar-valued scalar triple product and, less often, the vector- ...
establishes the connection between the parallel and perpendicular components, for reference the formula is given any three vectors , , . The component parallel to the axis will not change magnitude nor direction under the rotation, :\mathbf_ = \mathbf_\parallel \,, only the perpendicular component will change direction but retain its magnitude, according to :\begin \left, \mathbf_\ &= \left, \mathbf_\perp\ \,, \\ \mathbf_ &= \cos(\theta) \mathbf_\perp + \sin(\theta) \mathbf\times\mathbf_\perp \,, \end and since and are parallel, their cross product is zero , so that :\mathbf \times \mathbf_\perp = \mathbf \times \left(\mathbf - \mathbf_\right) = \mathbf \times \mathbf - \mathbf \times \mathbf_ = \mathbf \times \mathbf and it follows :\mathbf_ = \cos(\theta) \mathbf_\perp + \sin(\theta) \mathbf\times\mathbf \,. This rotation is correct since the vectors and have the same length, and is rotated anticlockwise through about . An appropriate scaling of and using the
trigonometric functions In mathematics, the trigonometric functions (also called circular functions, angle functions or goniometric functions) are real functions which relate an angle of a right-angled triangle to ratios of two side lengths. They are widely used in al ...
sine and cosine gives the rotated perpendicular component. The form of the rotated component is similar to the radial vector in 2D planar
polar coordinates In mathematics, the polar coordinate system is a two-dimensional coordinate system in which each point on a plane is determined by a distance from a reference point and an angle from a reference direction. The reference point (analogous to th ...
in the Cartesian basis :\mathbf = r\cos(\theta) \mathbf_x + r\sin(\theta) \mathbf_y \,, where , are
unit vector In mathematics, a unit vector in a normed vector space is a vector (often a spatial vector) of length 1. A unit vector is often denoted by a lowercase letter with a circumflex, or "hat", as in \hat (pronounced "v-hat"). The term ''direction v ...
s in their indicated directions. Now the full rotated vector is :\mathbf_ = \mathbf_ + \mathbf_ \,, By substituting the definitions of and in the equation results in :\begin \mathbf_ & = \mathbf_\parallel + \cos(\theta) \, \mathbf_\perp + \sin(\theta) \, \mathbf\times\mathbf \\ & = \mathbf_\parallel + \cos(\theta) \left(\mathbf - \mathbf_\parallel\right) + \sin(\theta) \, \mathbf\times\mathbf \\ & = \cos(\theta) \, \mathbf + (1 - \cos\theta)\mathbf_\parallel + \sin(\theta) \, \mathbf\times\mathbf \\ & = \cos(\theta) \, \mathbf + (1 - \cos\theta)(\mathbf \cdot \mathbf)\mathbf + \sin(\theta) \, \mathbf\times\mathbf \end


Matrix notation

Representing and as column matrices, the cross product can be expressed as a
matrix product In mathematics, particularly in linear algebra, matrix multiplication is a binary operation that produces a matrix from two matrices. For matrix multiplication, the number of columns in the first matrix must be equal to the number of rows in the s ...
:\begin (\mathbf\times\mathbf)_x \\ (\mathbf\times\mathbf)_y \\ (\mathbf\times\mathbf)_z \end = \begin k_y v_z - k_z v_y \\ k_z v_x - k_x v_z \\ k_x v_y - k_y v_x \end = \begin 0 & -k_z & k_y \\ k_z & 0 & -k_x \\ -k_y & k_x & 0 \end \begin v_x \\ v_y \\ v_z \end \,. By , denote the " cross-product matrix" for the unit vector , : \mathbf= \left begin 0 & -k_z & k_y \\ k_z & 0 & -k_x \\ -k_y & k_x & 0 \end\right,. That is to say, : \mathbf\mathbf = \mathbf\times\mathbf for any vector . (In fact, is the unique matrix with this property. It has eigenvalues 0 and ). It follows that iterating the cross product is equivalent to multiplying by the cross-product matrix on the left; specifically: : \mathbf(\mathbf\mathbf) = \mathbf^2\mathbf = \mathbf\times(\mathbf\times\mathbf) \,. The previous rotation formula in matrix language is therefore :\begin \mathbf_\mathrm & = \mathbf \cos\theta + (\mathbf \times \mathbf)\sin\theta + \mathbf ~(\mathbf \cdot \mathbf) (1 - \cos\theta) \\ & = \mathbf \cos\theta + (\mathbf \times \mathbf)\sin\theta + (\mathbf - \mathbf_) (1 - \cos\theta) \\ & = \mathbf \cos\theta + (\mathbf \times \mathbf)\sin\theta + (\mathbf + \mathbf\times(\mathbf\times\mathbf))(1 - \cos\theta) \\ & = \mathbf \cos\theta + (\mathbf \times \mathbf)\sin\theta + (\mathbf + \mathbf(\mathbf\mathbf)) (1 - \cos\theta) \\ & = \mathbf (\cos\theta + 1 - \cos\theta) + (\mathbf \times \mathbf)\sin\theta + \mathbf(\mathbf\mathbf) (1 - \cos\theta) \end So we have: :\mathbf_ = \mathbf + (\sin\theta) \mathbf\mathbf + (1 - \cos\theta)\mathbf^2\mathbf \,,\quad \, \mathbf\, _2 = 1\,. Note the coefficient of the leading term is ''now'' 1, in this notation: see the Lie-Group discussion below. Factorizing the allows the compact expression :\mathbf_\mathrm = \mathbf\mathbf where is the
rotation matrix In linear algebra, a rotation matrix is a transformation matrix that is used to perform a rotation in Euclidean space. For example, using the convention below, the matrix :R = \begin \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \en ...
through an angle counterclockwise about the axis , and the identity matrix. This matrix is an element of the rotation group of , and is an element of the Lie algebra \mathfrak(3) generating that Lie group (note that is skew-symmetric, which characterizes \mathfrak(3)). In terms of the matrix exponential, :\mathbf = \exp (\theta\mathbf)\,. To see that the last identity holds, one notes that :\mathbf(\theta) \mathbf(\phi) = \mathbf (\theta+\phi), \quad \mathbf(0) = \mathbf\,, characteristic of a one-parameter subgroup, i.e. exponential, and that the formulas match for infinitesimal . For an alternative derivation based on this exponential relationship, see exponential map from \mathfrak(3) to . For the inverse mapping, see log map from to \mathfrak(3). The
Hodge dual In mathematics, the Hodge star operator or Hodge star is a linear map defined on the exterior algebra of a finite-dimensional oriented vector space endowed with a nondegenerate symmetric bilinear form. Applying the operator to an element of the a ...
of the rotation \mathbf is just \mathbf^* = -\sin(\theta)\mathbf which enables the extraction of both the axis of rotation and the sine of the angle of the rotation from the rotation matrix itself, with the usual ambiguity, :\begin \sin(\theta) &= \sigma \left, \mathbf^*\ \\ pt \mathbf &= -\frac \end where \sigma = \pm 1. The above simple expression results from the fact that the Hodge duals of \mathbf and \mathbf^2 are zero, and \mathbf^* = -\mathbf. When applying the Rodrigues' formula, however, the usual ambiguity could be removed with an extended form of the formula.


See also

* Axis angle *
Rotation (mathematics) Rotation in mathematics is a concept originating in geometry. Any rotation is a motion of a certain space that preserves at least one point. It can describe, for example, the motion of a rigid body around a fixed point. Rotation can have sig ...
*
SO(3) In mechanics and geometry, the 3D rotation group, often denoted SO(3), is the group of all rotations about the origin of three-dimensional Euclidean space \R^3 under the operation of composition. By definition, a rotation about the origin is a tr ...
and
SO(4) In mathematics, the group of rotations about a fixed point in four-dimensional Euclidean space is denoted SO(4). The name comes from the fact that it is the special orthogonal group of order 4. In this article ''rotation'' means ''rotational dis ...
*
Euler–Rodrigues formula 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 para ...


References

*
Leonhard Euler Leonhard Euler ( , ; 15 April 170718 September 1783) was a Swiss mathematician, physicist, astronomer, geographer, logician and engineer who founded the studies of graph theory and topology and made pioneering and influential discoveries in ma ...
, "Problema algebraicum ob affectiones prorsus singulares memorabile", ''Commentatio 407 Indicis Enestoemiani, Novi Comm. Acad. Sci. Petropolitanae'' 15 (1770), 75–106. *
Olinde Rodrigues Benjamin Olinde Rodrigues (6 October 1795 – 17 December 1851), more commonly known as Olinde Rodrigues, was a French banker, mathematician, and social reformer. In mathematics Rodrigues is remembered for Rodrigues' rotation formula for vectors, ...
, "Des lois géométriques qui régissent les déplacements d'un système solide dans l'espace, et de la variation des coordonnées provenant de ces déplacements considérés indépendants des causes qui peuvent les produire", ''Journal de Mathématiques Pures et Appliquées'' 5 (1840), 380–440
online
*Friedberg, Richard (2022). " Rodrigues, Olinde: "Des lois géométriques qui régissent les déplacements d'un systéme solide...", translation and commentary". ''arXiv:2211.07787''. *Don Koks, (2006) ''Explorations in Mathematical Physics'', Springer Science+Business Media,LLC. . Ch.4, pps 147 et seq. ''A Roundabout Route to Geometric Algebra'' *


External links

* Johan E. Mebius
Derivation of the Euler-Rodrigues formula for three-dimensional rotations from the general formula for four-dimensional rotations.
''arXiv General Mathematics'' 2007. * For another descriptive example see: http://chrishecker.com/Rigid_Body_Dynamics#Physics_Articles, Chris Hecker, physics section, part 4. "The Third Dimension" – on page 3, section ``Axis and Angle'', http://chrishecker.com/images/b/bb/Gdmphys4.pdf {{DEFAULTSORT:Rodrigues' Rotation Formula Rotation in three dimensions Euclidean geometry Orientation (geometry) fr:Rotation vectorielle#Cas général