Rodrigues' rotation formula
- This article is about the Rodrigues' rotation formula, which is distinct from Euler–Rodrigues parameters and The Euler–Rodrigues formula for 3D rotation.
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 from an axis–angle representation. In other words, the Rodrigues formula provides an algorithm to compute the exponential map from so(3) to SO(3) without computing the full matrix exponent.
Given a rotation axis represented by a unit vector and a vector that we wish to rotate about by the angle ,
is the component of parallel to , also called the vector projection of on , and
is the component of orthogonal to , also called the vector rejection of from .
The vectors and have the same length, but is perpendicular to both and . This can be shown via
since has unit length, is parallel to and is perpendicular to .
The vector can be viewed as a copy of rotated by 90° about . Using trigonometry, we can now rotate by around to obtain . Thus,
is also the rejection from of the vector , defined as the desired vector, rotated about by the angle . Since v∥ is not affected by a rotation about , the projection of on coincides with . Thus,
This can easily be checked to have the property that
for any vector v (in fact, K is the unique matrix with this property).
Now, from the last equation in the previous sub-section, we may write
To simplify further, use the well-known formula for the vector triple product,
with a = b = k, and c = v, to obtain
This means (substituting the above equation in the last one for vrot) ,
resulting in the Rodrigues' rotation formula in matrix notation,
where R is the rotation matrix
Since K is defined in terms of the components of the rotation axis k, and θ is the rotation angle, R is the rotation matrix about k by angle θ, and is easy to compute.
For an alternative derivation based on this exponential relationship, see Axis–angle representation#Exponential map from so(3) to SO(3). For the inverse mapping, see Axis–angle representation#Log map from SO(3) to so(3).
- 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'
- Weisstein, Eric W., "Rodrigues' Rotation Formula", MathWorld.
- 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