fbpx
Wikipedia

Rodrigues' rotation formula

In the theory of three-dimensional rotation, Rodrigues' rotation formula, named after Olinde Rodrigues, is an efficient algorithm for rotating a vector in space, given an axis and angle of rotation. By extension, this can be used to transform all three basis vectors to compute a rotation matrix in SO(3), 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 so(3), the Lie algebra of SO(3), to SO(3) without actually computing the full matrix exponential.

This formula is variously credited to Leonhard Euler, Olinde Rodrigues, 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."[1] This proposal has received notable support,[2] but some others have viewed the formula as just one of many variations of the Euler–Rodrigues formula, thereby crediting both.[3]

Statement

If v is a vector in 3 and k is a unit vector describing an axis of rotation about which v rotates by an angle θ according to the right hand rule, the Rodrigues formula for the rotated vector vrot is

 

The intuition of the above formula is that the first term scales the vector down, while the second skews it (via vector addition) toward the new rotational position. The third term re-adds the height (relative to  ) that was lost by the first term.

An alternative statement is to write the axis vector as a cross product a × b of any two nonzero vectors a and b which define the plane of rotation, and the sense of the angle θ is measured away from a and towards b. 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

 

This form may be more useful when two vectors defining a plane are involved. An example in physics is the Thomas precession 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

 
Rodrigues' rotation formula rotates v by an angle θ around vector k by decomposing it into its components parallel and perpendicular to k, and rotating only the perpendicular component.
 
Vector geometry of Rodrigues' rotation formula, as well as the decomposition into parallel and perpendicular components.

Let k be a unit vector defining a rotation axis, and let v be any vector to rotate about k by angle θ (right hand rule, anticlockwise in the figure).

Using the dot and cross products, the vector v can be decomposed into components parallel and perpendicular to the axis k,

 

where the component parallel to k is

 

called the vector projection of v on k, and the component perpendicular to k is

 

called the vector rejection of v from k.

The vector k × v can be viewed as a copy of v rotated anticlockwise by 90° about k, so their magnitudes are equal but directions are perpendicular. Likewise the vector k × (k × v) a copy of v rotated anticlockwise through 180° about k, so that k × (k × v) and v 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 establishes the connection between the parallel and perpendicular components, for reference the formula is a × (b × c) = (a · c)b − (a · b)c given any three vectors a, b, c.

The component parallel to the axis will not change magnitude nor direction under the rotation,

 

only the perpendicular component will change direction but retain its magnitude, according to

 

and since k and v are parallel, their cross product is zero k × v = 0, so that

 

and it follows

 

This rotation is correct since the vectors v and k × v have the same length, and k × v is v rotated anticlockwise through 90° about k. An appropriate scaling of v and k × v using the trigonometric functions 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 (r, θ) in the Cartesian basis

 

where ex, ey are unit vectors in their indicated directions.

Now the full rotated vector is

 

By substituting the definitions of v∥rot and v⊥rot in the equation results in

 

Matrix notation

Representing v and k × v as column matrices, the cross product can be expressed as a matrix product

 

By K, denote the "cross-product matrix" for the unit vector k,

 

That is to say,

 

for any vector v. (In fact, K is the unique matrix with this property. It has eigenvalues 0 and ±i).

It follows that iterating the cross product is equivalent to multiplying by the cross-product matrix on the left; specifically:

 

The previous rotation formula in matrix language is therefore

 

So we have:

 

Note the coefficient of the leading term is now 1, in this notation: see the Lie-Group discussion below.

Factorizing the v allows the compact expression

 

where

 

is the rotation matrix through an angle θ counterclockwise about the axis k, and I the 3 × 3 identity matrix.[4] This matrix R is an element of the rotation group SO(3) of 3, and K is an element of the Lie algebra   generating that Lie group (note that K is skew-symmetric, which characterizes  ).

In terms of the matrix exponential,

 

To see that the last identity holds, one notes that

 

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   to SO(3). For the inverse mapping, see log map from SO(3) to  .

The Hodge dual of the rotation   is just   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,

 

where  . The above simple expression results from the fact that the Hodge duals of   and   are zero, and  .

When applying the Rodrigues' formula, however, the usual ambiguity could be removed with an extended form of the formula.a

See also

References

  1. ^ Cheng, Hui; Gupta, K. C. (March 1989). "An Historical Note on Finite Rotations". Journal of Applied Mechanics. American Society of Mechanical Engineers. 56 (1): 139–145. Retrieved 2022-04-11.
  2. ^ Fraiture, Luc (2009). "A History of the Description of the Three-Dimensional Finite Rotation". The Journal of the Astronautical Sciences. Springer. 57: 207–232. Retrieved 2022-04-15.
  3. ^ Dai, Jian S. (October 2015). "Euler–Rodrigues formula variations, quaternion conjugation and intrinsic connections". Mechanism and Machine Theory. Elsevier. 92: 144–152. Retrieved 2022-04-14.
  4. ^ Belongie, Serge. "Rodrigues' Rotation Formula". mathworld.wolfram.com. Retrieved 2021-04-07.
  • Leonhard Euler, "Problema algebraicum ob affectiones prorsus singulares memorabile", Commentatio 407 Indicis Enestoemiani, Novi Comm. Acad. Sci. Petropolitanae 15 (1770), 75–106.
  • Olinde Rodrigues, "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. ISBN 0-387-30943-8. Ch.4, pps 147 et seq. A Roundabout Route to Geometric Algebra
  • ^a Liang, Kuo Kan (2018). "Efficient conversion from rotating matrix to rotation axis and angle by extending Rodrigues' formula". arXiv:1810.02999 [cs].

External links

rodrigues, rotation, formula, confused, with, euler, rodrigues, parameters, euler, rodrigues, formula, rotation, this, article, includes, list, general, references, lacks, sufficient, corresponding, inline, citations, please, help, improve, this, article, intr. Not to be confused with the Euler Rodrigues parameters and The Euler Rodrigues formula for 3D rotation This article includes a list of general references but it lacks sufficient corresponding inline citations Please help to improve this article by introducing more precise citations May 2021 Learn how and when to remove this template message In the theory of three dimensional rotation Rodrigues rotation formula named after Olinde Rodrigues is an efficient algorithm for rotating a vector in space given an axis and angle of rotation By extension this can be used to transform all three basis vectors to compute a rotation matrix in SO 3 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 so 3 the Lie algebra of SO 3 to SO 3 without actually computing the full matrix exponential This formula is variously credited to Leonhard Euler Olinde Rodrigues 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 1 This proposal has received notable support 2 but some others have viewed the formula as just one of many variations of the Euler Rodrigues formula thereby crediting both 3 Contents 1 Statement 2 Derivation 3 Matrix notation 4 See also 5 References 6 External linksStatement EditIf v is a vector in ℝ3 and k is a unit vector describing an axis of rotation about which v rotates by an angle 8 according to the right hand rule the Rodrigues formula for the rotated vector vrot is v r o t v cos 8 k v sin 8 k k v 1 cos 8 displaystyle mathbf v mathrm rot mathbf v cos theta mathbf k times mathbf v sin theta mathbf k mathbf k cdot mathbf v 1 cos theta The intuition of the above formula is that the first term scales the vector down while the second skews it via vector addition toward the new rotational position The third term re adds the height relative to k displaystyle textbf k that was lost by the first term An alternative statement is to write the axis vector as a cross product a b of any two nonzero vectors a and b which define the plane of rotation and the sense of the angle 8 is measured away from a and towards b Letting a denote the angle between these vectors the two angles 8 and a are not necessarily equal but they are measured in the same sense Then the unit axis vector can be written k a b a b a b a b sin a displaystyle mathbf k frac mathbf a times mathbf b mathbf a times mathbf b frac mathbf a times mathbf b mathbf a mathbf b sin alpha This form may be more useful when two vectors defining a plane are involved An example in physics is the Thomas precession 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 Edit Rodrigues rotation formula rotates v by an angle 8 around vector k by decomposing it into its components parallel and perpendicular to k and rotating only the perpendicular component Vector geometry of Rodrigues rotation formula as well as the decomposition into parallel and perpendicular components Let k be a unit vector defining a rotation axis and let v be any vector to rotate about k by angle 8 right hand rule anticlockwise in the figure Using the dot and cross products the vector v can be decomposed into components parallel and perpendicular to the axis k v v v displaystyle mathbf v mathbf v parallel mathbf v perp where the component parallel to k is v v k k displaystyle mathbf v parallel mathbf v cdot mathbf k mathbf k called the vector projection of v on k and the component perpendicular to k is v v v v k v k k k v displaystyle mathbf v perp mathbf v mathbf v parallel mathbf v mathbf k cdot mathbf v mathbf k mathbf k times mathbf k times mathbf v called the vector rejection of v from k The vector k v can be viewed as a copy of v rotated anticlockwise by 90 about k so their magnitudes are equal but directions are perpendicular Likewise the vector k k v a copy of v rotated anticlockwise through 180 about k so that k k v and v 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 establishes the connection between the parallel and perpendicular components for reference the formula is a b c a c b a b c given any three vectors a b c The component parallel to the axis will not change magnitude nor direction under the rotation v r o t v displaystyle mathbf v parallel mathrm rot mathbf v parallel only the perpendicular component will change direction but retain its magnitude according to v r o t v v r o t cos 8 v sin 8 k v displaystyle begin aligned left mathbf v perp mathrm rot right amp left mathbf v perp right mathbf v perp mathrm rot amp cos theta mathbf v perp sin theta mathbf k times mathbf v perp end aligned and since k and v are parallel their cross product is zero k v 0 so that k v k v v k v k v k v displaystyle mathbf k times mathbf v perp mathbf k times left mathbf v mathbf v parallel right mathbf k times mathbf v mathbf k times mathbf v parallel mathbf k times mathbf v and it follows v r o t cos 8 v sin 8 k v displaystyle mathbf v perp mathrm rot cos theta mathbf v perp sin theta mathbf k times mathbf v This rotation is correct since the vectors v and k v have the same length and k v is v rotated anticlockwise through 90 about k An appropriate scaling of v and k v using the trigonometric functions 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 r 8 in the Cartesian basis r r cos 8 e x r sin 8 e y displaystyle mathbf r r cos theta mathbf e x r sin theta mathbf e y where ex ey are unit vectors in their indicated directions Now the full rotated vector is v r o t v r o t v r o t displaystyle mathbf v mathrm rot mathbf v parallel mathrm rot mathbf v perp mathrm rot By substituting the definitions of v rot and v rot in the equation results in v r o t v cos 8 v sin 8 k v v cos 8 v v sin 8 k v cos 8 v 1 cos 8 v sin 8 k v cos 8 v 1 cos 8 k v k sin 8 k v displaystyle begin aligned mathbf v mathrm rot amp mathbf v parallel cos theta mathbf v perp sin theta mathbf k times mathbf v amp mathbf v parallel cos theta left mathbf v mathbf v parallel right sin theta mathbf k times mathbf v amp cos theta mathbf v 1 cos theta mathbf v parallel sin theta mathbf k times mathbf v amp cos theta mathbf v 1 cos theta mathbf k cdot mathbf v mathbf k sin theta mathbf k times mathbf v end aligned Matrix notation EditRepresenting v and k v as column matrices the cross product can be expressed as a matrix product k v x k v y k v z k y v z k z v y k z v x k x v z k x v y k y v x 0 k z k y k z 0 k x k y k x 0 v x v y v z displaystyle begin bmatrix mathbf k times mathbf v x mathbf k times mathbf v y mathbf k times mathbf v z end bmatrix begin bmatrix 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 bmatrix begin bmatrix 0 amp k z amp k y k z amp 0 amp k x k y amp k x amp 0 end bmatrix begin bmatrix v x v y v z end bmatrix By K denote the cross product matrix for the unit vector k K 0 k z k y k z 0 k x k y k x 0 displaystyle mathbf K left begin array ccc 0 amp k z amp k y k z amp 0 amp k x k y amp k x amp 0 end array right That is to say K v k v displaystyle mathbf K mathbf v mathbf k times mathbf v for any vector v In fact K is the unique matrix with this property It has eigenvalues 0 and i It follows that iterating the cross product is equivalent to multiplying by the cross product matrix on the left specifically K K v K 2 v k k v displaystyle mathbf K mathbf K mathbf v mathbf K 2 mathbf v mathbf k times mathbf k times mathbf v The previous rotation formula in matrix language is therefore v r o t v cos 8 k v sin 8 k k v 1 cos 8 v cos 8 k v sin 8 v v 1 cos 8 v cos 8 k v sin 8 v k k v 1 cos 8 v cos 8 k v sin 8 v K K v 1 cos 8 v cos 8 1 cos 8 k v sin 8 K K v 1 cos 8 displaystyle begin aligned mathbf v mathrm rot amp mathbf v cos theta mathbf k times mathbf v sin theta mathbf k mathbf k cdot mathbf v 1 cos theta amp mathbf v cos theta mathbf k times mathbf v sin theta mathbf v mathbf v perp 1 cos theta amp mathbf v cos theta mathbf k times mathbf v sin theta mathbf v mathbf k times mathbf k times mathbf v 1 cos theta amp mathbf v cos theta mathbf k times mathbf v sin theta mathbf v mathbf K mathbf K mathbf v 1 cos theta amp mathbf v cos theta 1 cos theta mathbf k times mathbf v sin theta mathbf K mathbf K mathbf v 1 cos theta end aligned So we have v r o t v sin 8 K v 1 cos 8 K 2 v K 2 1 displaystyle mathbf v mathrm rot mathbf v sin theta mathbf K mathbf v 1 cos theta mathbf K 2 mathbf v quad mathbf K 2 1 Note the coefficient of the leading term is now 1 in this notation see the Lie Group discussion below Factorizing the v allows the compact expression v r o t R v displaystyle mathbf v mathrm rot mathbf R mathbf v where R I sin 8 K 1 cos 8 K 2 displaystyle mathbf R mathbf I sin theta mathbf K 1 cos theta mathbf K 2 is the rotation matrix through an angle 8 counterclockwise about the axis k and I the 3 3 identity matrix 4 This matrix R is an element of the rotation group SO 3 of ℝ3 and K is an element of the Lie algebra s o 3 displaystyle mathfrak so 3 generating that Lie group note that K is skew symmetric which characterizes s o 3 displaystyle mathfrak so 3 In terms of the matrix exponential R exp 8 K displaystyle mathbf R exp theta mathbf K To see that the last identity holds one notes that R 8 R ϕ R 8 ϕ R 0 I displaystyle mathbf R theta mathbf R phi mathbf R theta phi quad mathbf R 0 mathbf I characteristic of a one parameter subgroup i e exponential and that the formulas match for infinitesimal 8 For an alternative derivation based on this exponential relationship see exponential map from s o 3 displaystyle mathfrak so 3 to SO 3 For the inverse mapping see log map from SO 3 to s o 3 displaystyle mathfrak so 3 The Hodge dual of the rotation R displaystyle mathbf R is just R sin 8 k displaystyle mathbf R sin theta mathbf k 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 sin 8 s R k s R R displaystyle begin aligned sin theta amp sigma left mathbf R right 3pt mathbf k amp frac sigma mathbf R left mathbf R right end aligned where s 1 displaystyle sigma pm 1 The above simple expression results from the fact that the Hodge duals of I displaystyle mathbf I and K 2 displaystyle mathbf K 2 are zero and K k displaystyle mathbf K mathbf k When applying the Rodrigues formula however the usual ambiguity could be removed with an extended form of the formula aSee also EditAxis angle Rotation mathematics SO 3 and SO 4 Euler Rodrigues formulaReferences Edit Cheng Hui Gupta K C March 1989 An Historical Note on Finite Rotations Journal of Applied Mechanics American Society of Mechanical Engineers 56 1 139 145 Retrieved 2022 04 11 Fraiture Luc 2009 A History of the Description of the Three Dimensional Finite Rotation The Journal of the Astronautical Sciences Springer 57 207 232 Retrieved 2022 04 15 Dai Jian S October 2015 Euler Rodrigues formula variations quaternion conjugation and intrinsic connections Mechanism and Machine Theory Elsevier 92 144 152 Retrieved 2022 04 14 Belongie Serge Rodrigues Rotation Formula mathworld wolfram com Retrieved 2021 04 07 Leonhard Euler Problema algebraicum ob affectiones prorsus singulares memorabile Commentatio 407 Indicis Enestoemiani Novi Comm Acad Sci Petropolitanae 15 1770 75 106 Olinde Rodrigues Des lois geometriques qui regissent les deplacements d un systeme solide dans l espace et de la variation des coordonnees provenant de ces deplacements consideres independants des causes qui peuvent les produire Journal de Mathematiques Pures et Appliquees 5 1840 380 440 online Friedberg Richard 2022 Rodrigues Olinde Des lois geometriques qui regissent les deplacements d un systeme solide translation and commentary arXiv 2211 07787 Don Koks 2006 Explorations in Mathematical Physics Springer Science Business Media LLC ISBN 0 387 30943 8 Ch 4 pps 147 et seq A Roundabout Route to Geometric Algebra a Liang Kuo Kan 2018 Efficient conversion from rotating matrix to rotation axis and angle by extending Rodrigues formula arXiv 1810 02999 cs External links EditJohan 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 Retrieved from https en wikipedia org w index php title Rodrigues 27 rotation formula amp oldid 1122338410, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.