Rodrigues Rotation FormulaEdit
Rodrigues rotation formula is a compact, closed-form expression for rotating a vector in three-dimensional space about a fixed axis by a given angle. It provides a coordinate-free way to perform the rotation, decomposing the original vector into components parallel and perpendicular to the rotation axis and then combining these components with sine and cosine factors. The formula is widely used in physics, engineering, and computer science because it yields the rotated vector directly without having to construct a full rotation matrix first.
The formula is named after Olinde Rodrigues, who published the result in the 19th century, contributing to the geometric understanding of rotations long before modern linear algebra and group theory formalized the subject. Over time, Rodrigues’ insight has remained a staple in the toolkit for handling three-dimensional rotations, alongside representations such as rotation matrices, axis–angle descriptions, and quaternions. It also serves as a bridge between intuitive geometric reasoning and more abstract treatments of the rotation group SO(3) and related concepts like the skew-symmetric matrix representation of cross products Skew-symmetric matrix.
Rodrigues Rotation Formula
Let v be a vector in three-dimensional space, let k be a unit vector along the axis of rotation (the axis is sometimes denoted as the rotation axis), and let θ be the rotation angle. The rotated vector v′ is given by
v′ = v cos θ + (k × v) sin θ + k (k · v) (1 − cos θ).
Here, × denotes the cross product and · denotes the dot product. This expression can be understood by decomposing v into a component parallel to the axis, v_parallel = (k · v) k, and a perpendicular component, v_perp = v − v_parallel. The parallel component remains fixed under the rotation, while the perpendicular component is rotated in the plane orthogonal to k by θ. The cross-product term (k × v) sin θ captures the rotation within that plane.
Matrix form
The same rotation can be written in matrix form using a skew-symmetric cross-product matrix [k]×:
v′ = R v, where
R = I cos θ + (1 − cos θ) k k^T + [k]× sin θ,
and
[k]× = [[ 0, −k_z, k_y], [ k_z, 0, −k_x], [−k_y, k_x, 0 ]].
In this notation, k is treated as a column vector, I is the 3×3 identity matrix, and k k^T is the outer product of k with itself. The matrix R is a proper rotation matrix when k is a unit vector, and it belongs to the specialization of the rotation group SO(3).
Derivation and connections
Rodrigues’ formula can be derived from the exponential map of skew-symmetric matrices or by direct geometric consideration of the axis–angle decomposition. If one writes the skew-symmetric matrix [k]× and uses the identity exp([k]× θ) = I cos θ + [k]× sin θ + (1 − cos θ) k k^T, applying this operator to v yields the same v′ as above. This viewpoint highlights the close relationship between Rodrigues’ expression, the mathematical structure of three-dimensional rotations, and the more abstract language of Lie groups Axis–angle representation and Quaternions as alternative means of encoding the same transformation.
Geometric interpretation
- Decompose v into parallel and perpendicular parts with respect to the rotation axis k. The parallel part, v_parallel = (k · v) k, is invariant under rotation.
- The perpendicular part, v_perp = v − v_parallel, is rotated by θ in the plane orthogonal to k. The action on v_perp is equivalent to v_perp cos θ + (k × v) sin θ.
- Adding the rotated perpendicular component to the unchanged parallel component yields the full rotated vector v′.
Practical considerations and applications
Rodrigues’ formula is particularly convenient in computer graphics, robotics, spacecraft attitude control, and any setting where efficient, explicit rotation of vectors is required. Its direct form avoids bookkeeping with larger rotation matrices when only the transformed vector is needed. In practice, many systems combine Rodrigues’ approach with axis–angle representations and, in some cases, with quaternions to optimize performance and numerical stability Rotation matrix; Quaternions.
Related topics
- Axis–angle representation of rotations Axis–angle representation: a compact way to describe a rotation by an axis and an angle, often used as a precursor to Rodrigues’ formula.
- 3D geometry and vector algebra Vector and Cross product: foundational tools used in deriving and applying the formula.
- The special orthogonal group in three dimensions SO(3): the mathematical structure that abstracts rotations in space.
- Skew-symmetric matrices Skew-symmetric matrix: a key algebraic device in expressing cross products and rotation generators.