Fact-checked by Grok 2 weeks ago

Rodrigues' rotation formula

Rodrigues' rotation formula is a vector-based mathematical expression for performing a in three-dimensional , transforming a given \mathbf{v} around a unit \mathbf{k} by an \theta, yielding the rotated \mathbf{v}' = \mathbf{v} \cos \theta + (\mathbf{k} \times \mathbf{v}) \sin \theta + \mathbf{k} (\mathbf{k} \cdot \mathbf{v}) (1 - \cos \theta). This formula decomposes the original into components and to the , rotates the component by \theta, and leaves the component unchanged, ensuring the preserves lengths and orientations in a right-handed . Named after the French mathematician (1795–1851), the formula was first derived and published in his 1840 paper "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ées indépendamment des causes qui peuvent les produire", where he explored the geometric laws governing displacements and introduced parameters now known as Rodrigues vectors for composing finite rotations. Although initially overlooked, the formula gained prominence in the late 19th and 20th centuries, particularly after its connections to quaternions—independently developed by in 1843—were recognized, providing an alternative algebraic representation for the same rotations. In matrix form, the rotation can be expressed as a 3×3 R with 1, given by R = I \cos \theta + (1 - \cos \theta) \mathbf{k} \mathbf{k}^T + \sin \theta [\mathbf{k}]_\times, where I is the and [\mathbf{k}]_\times is the skew-symmetric cross-product for \mathbf{k}, enabling efficient computation of rotated points via matrix-vector multiplication. This representation is computationally advantageous over Euler angle decompositions, as it avoids singularities like and directly parameterizes with three components (axis direction and angle magnitude). The formula finds widespread applications in fields requiring precise 3D transformations, including for rendering rotated objects, for manipulator and path planning, for , and for analyzing crystal misorientations via . Its efficiency and geometric intuition also make it valuable in numerical simulations of and in deriving related tools, such as the inverse Rodrigues formula for extracting axis-angle from a .

Core Concepts

Statement of the formula

Rodrigues' rotation provides an explicit expression for the result of rotating a in three-dimensional around a fixed by a specified . Given a \mathbf{v} \in \mathbb{R}^3 to be rotated, a \mathbf{k} \in \mathbb{R}^3 defining the of rotation (with \|\mathbf{k}\| = 1), and an \theta measured in radians, the rotated \mathbf{v}' is given by \mathbf{v}' = \mathbf{v} \cos \theta + (\mathbf{k} \times \mathbf{v}) \sin \theta + \mathbf{k} (\mathbf{k} \cdot \mathbf{v}) (1 - \cos \theta). This formula applies to proper rotations in the special orthogonal group SO(3), preserving orientation and the magnitude of the vector. The notation assumes standard vector operations: the dot product \mathbf{k} \cdot \mathbf{v} projects \mathbf{v} onto the axis, the cross product \mathbf{k} \times \mathbf{v} yields a vector perpendicular to both \mathbf{k} and \mathbf{v}, and \theta is taken in the right-handed sense with respect to \mathbf{k}. The formula holds for any \theta, including multiples of $2\pi, though rotations by \theta and \theta + 2\pi n (for integer n) yield identical results due to the periodicity of trigonometric functions. An equivalent formulation can be expressed in terms of the , where \mathbf{u} is a normal to the rotation plane (playing the role of \mathbf{k}): \mathbf{v}' = \cos \theta \, \mathbf{v} + \sin \theta \, (\mathbf{u} \times \mathbf{v}) + (1 - \cos \theta) (\mathbf{u} \cdot \mathbf{v}) \mathbf{u}. However, the axis-angle form is the primary and most commonly used representation for . To illustrate, consider a two-dimensional in the xy-, equivalent to a three-dimensional around the z- with \mathbf{k} = (0, 0, 1) and \mathbf{v} = (x, y, 0). Substituting into the formula yields \mathbf{v}' = (x \cos \theta - y \sin \theta, x \sin \theta + y \cos \theta, 0), recovering the standard 2D applied to (x, y). This example highlights how the formula generalizes planar rotations by treating the out-of-plane appropriately.

Geometric interpretation

The Rodrigues' rotation formula provides a geometric interpretation of rotations by decomposing an arbitrary \mathbf{v} into two components relative to the defined by a \mathbf{k}: a parallel component \mathbf{k} (\mathbf{k} \cdot \mathbf{v}), which lies along the and remains unchanged during the , and a component \mathbf{v} - \mathbf{k} (\mathbf{k} \cdot \mathbf{v}), which resides in the orthogonal to \mathbf{k} and undergoes circular motion around the . This decomposition reflects , which states that any is equivalent to a single about a fixed , preserving distances and orientations in the while fixing points on the . Intuitively, the formula's terms capture the transformation of the perpendicular component as follows: the \cos \theta factor scales the original perpendicular , representing its onto its rotated position in the ; the \sin \theta \, (\mathbf{k} \times \mathbf{v}) term introduces the orthogonal shift to both the and the original , akin to a tangential along the circular path via the , which defines the rotation's ; and the (1 - \cos \theta) \, \mathbf{k} (\mathbf{k} \cdot \mathbf{v}) term (or equivalently involving the double \mathbf{k} \times (\mathbf{k} \times \mathbf{v})) adjusts the contribution by projecting the parallel component to account for the arc-like bending of the perpendicular part toward the . Visually, this manifests as a blend of (via \cos \theta), shearing (through the term for directional sweep), and (adjusting alignments in the ), where the rotation \mathbf{k} scaled by the angle \theta forms the "Rodrigues " \boldsymbol{\theta} = \theta \mathbf{k}, encoding the finite rotation's and in a single . Special cases highlight the formula's behavior: for \theta = 0, the rotation is the , leaving \mathbf{v} unchanged as all trigonometric terms vanish; for \theta = \pi (a 180° rotation), the perpendicular component inverts relative to the , simplifying to a reflection-like operation across the plane normal to \mathbf{k}; and for small \theta, the formula approximates an infinitesimal , where \sin \theta \approx \theta and $1 - \cos \theta \approx \theta^2 / 2, reducing to a linear skew-symmetric transformation dominated by the cross product term.

Derivation

Vector decomposition approach

The vector decomposition approach derives Rodrigues' rotation formula by breaking down an arbitrary \mathbf{v} into components parallel and to the unit rotation axis \mathbf{k}, then applying the rotation solely to the component while leaving the parallel component unchanged. This method leverages the geometric fact that rotation around \mathbf{k} preserves distances along the axis and rotates the orthogonal by the angle \theta. Begin by decomposing \mathbf{v} as \mathbf{v} = \mathbf{v}_\parallel + \mathbf{v}_\perp, where the parallel component is \mathbf{v}_\parallel = (\mathbf{k} \cdot \mathbf{v}) \mathbf{k} and the perpendicular component is \mathbf{v}_\perp = \mathbf{v} - \mathbf{v}_\parallel. Under rotation by angle \theta around \mathbf{k}, \mathbf{v}_\parallel remains because it aligns with the axis. The rotated vector \mathbf{v}' thus satisfies \mathbf{v}' = \mathbf{v}_\parallel + \mathbf{v}_\perp', where \mathbf{v}_\perp' is the image of \mathbf{v}_\perp after rotation by \theta in the perpendicular to \mathbf{k}. To find \mathbf{v}_\perp', consider the plane spanned by \mathbf{v}_\perp and \mathbf{k} \times \mathbf{v}_\perp, which forms an for the (noting that \|\mathbf{k} \times \mathbf{v}_\perp\| = \|\mathbf{v}_\perp\| since \mathbf{k} is unit). In this 2D plane, the can be represented by the standard : \begin{pmatrix} \cos \theta & -\sin \theta \\ \sin \theta & \cos \theta \end{pmatrix}, applied to the coordinates of \mathbf{v}_\perp relative to the basis \{\mathbf{v}_\perp / \|\mathbf{v}_\perp\|, (\mathbf{k} \times \mathbf{v}_\perp) / \|\mathbf{v}_\perp\|\}. Assuming \mathbf{v}_\perp has coordinates (r, 0) in this basis (where r = \|\mathbf{v}_\perp\|), its rotated coordinates become (r \cos \theta, r \sin \theta), yielding \mathbf{v}_\perp' = \cos \theta \, \mathbf{v}_\perp + \sin \theta \, (\mathbf{k} \times \mathbf{v}_\perp). This confirms the form of the perpendicular , as the matrix rotates the vector by \theta while preserving the plane's . Since \mathbf{k} \times \mathbf{v}_\perp = \mathbf{k} \times \mathbf{v} (because \mathbf{k} \times \mathbf{v}_\parallel = \mathbf{0}), substitute to obtain \mathbf{v}' = \mathbf{v}_\parallel + \cos \theta \, (\mathbf{v} - \mathbf{v}_\parallel) + \sin \theta \, (\mathbf{k} \times \mathbf{v}). Simplifying algebraically gives \mathbf{v}' = \cos \theta \, \mathbf{v} + (1 - \cos \theta) \mathbf{v}_\parallel + \sin \theta \, (\mathbf{k} \times \mathbf{v}). Inserting \mathbf{v}_\parallel = (\mathbf{k} \cdot \mathbf{v}) \mathbf{k} yields the standard : \mathbf{v}' = \mathbf{v} \cos \theta + (\mathbf{k} \times \mathbf{v}) \sin \theta + \mathbf{k} (\mathbf{k} \cdot \mathbf{v}) (1 - \cos \theta). This derivation holds for any \mathbf{v} and unit \mathbf{k}, providing an explicit expression for the .

Infinitesimal rotation method

The method derives Rodrigues' rotation formula by modeling the continuous of a as the solution to a , integrating changes over a finite . Consider a \mathbf{v} subject to an by d\theta around a \mathbf{k}. The resulting change is d\mathbf{v} = \mathbf{k} \times \mathbf{v} \, d\theta, which follows from the instantaneous \boldsymbol{\omega} = \mathbf{k} \, d\theta / dt inducing a \dot{\mathbf{v}} = \boldsymbol{\omega} \times \mathbf{v}. To obtain the finite rotation, introduce the rotation matrix R(t) that transforms the initial vector to its position at time t. This matrix evolves according to the \dot{R} = [\boldsymbol{\omega}]_\times R, where [\boldsymbol{\omega}]_\times denotes the skew-symmetric cross-product matrix associated with \boldsymbol{\omega}, satisfying [\boldsymbol{\omega}]_\times \mathbf{x} = \boldsymbol{\omega} \times \mathbf{x} for any vector \mathbf{x}, with initial condition R(0) = I. The unique solution to this equation is the matrix exponential R(t) = \exp([\boldsymbol{\omega}]_\times t). For a total rotation angle \theta around \mathbf{k}, parameterize with constant angular speed such that \boldsymbol{\omega} = \mathbf{k} \theta / t over interval [0, t], or equivalently, let K = [\mathbf{k}]_\times and evaluate R(\theta) = \exp(\theta K). Expand the exponential using its Taylor series: \exp(\theta K) = I + \theta K + \frac{\theta^2}{2!} K^2 + \frac{\theta^3}{3!} K^3 + \frac{\theta^4}{4!} K^4 + \cdots. Since \|\mathbf{k}\| = 1, the matrix K obeys the identities K^2 = \mathbf{k} \mathbf{k}^T - I and K^3 = -K (with higher powers cycling accordingly). Substituting these relations groups the even-powered terms into a multiple of I and \mathbf{k} \mathbf{k}^T, and the odd-powered terms into a multiple of K, yielding the closed-form Rodrigues' matrix formula: \exp(\theta K) = \cos \theta \, I + (1 - \cos \theta) \, \mathbf{k} \mathbf{k}^T + \sin \theta \, K. Applying this to an arbitrary \mathbf{v} produces the vector form of , where the rotated vector is a linear combination of the parallel and perpendicular components to \mathbf{k}.

Matrix Representation

Explicit rotation matrix

The Rodrigues' rotation formula can be expressed in matrix form to represent the linear transformation that rotates any vector \mathbf{v} around a unit axis \mathbf{k} = (k_x, k_y, k_z) by an angle \theta. This yields R \mathbf{v} = \cos \theta \, \mathbf{v} + \sin \theta \, (\mathbf{k} \times \mathbf{v}) + (1 - \cos \theta) (\mathbf{k} \cdot \mathbf{v}) \mathbf{k}, where R is the 3×3 rotation matrix. Substituting the cross product with its matrix equivalent gives the closed-form expression R = \cos \theta \, I + \sin \theta \, K + (1 - \cos \theta) \, \mathbf{k} \mathbf{k}^T, with I the identity matrix and K the skew-symmetric matrix associated with \mathbf{k}, K = \begin{pmatrix} 0 & -k_z & k_y \\ k_z & 0 & -k_x \\ -k_y & k_x & 0 \end{pmatrix}. $$ The matrix $K$ satisfies $K^T = -K$ (skew-symmetry), $K^2 = \mathbf{k} \mathbf{k}^T - I$, and $K^3 = -K$, which facilitate the derivation and computation of $R$. The explicit components of $R$ for $\mathbf{k} = (k_x, k_y, k_z)$ are R = \begin{pmatrix} \cos \theta + k_x^2 (1 - \cos \theta) & k_x k_y (1 - \cos \theta) - k_z \sin \theta & k_x k_z (1 - \cos \theta) + k_y \sin \theta \ k_y k_x (1 - \cos \theta) + k_z \sin \theta & \cos \theta + k_y^2 (1 - \cos \theta) & k_y k_z (1 - \cos \theta) - k_x \sin \theta \ k_z k_x (1 - \cos \theta) - k_y \sin \theta & k_z k_y (1 - \cos \theta) + k_x \sin \theta & \cos \theta + k_z^2 (1 - \cos \theta) \end{pmatrix}. [](https://mathworld.wolfram.com/RodriguesRotationFormula.html) These entries ensure $R$ belongs to the special orthogonal group SO(3), preserving lengths and orientations. Verification confirms the key properties of $R$: it fixes the rotation axis since $R \mathbf{k} = \mathbf{k}$, as the formula decomposes $\mathbf{v}$ into components [parallel](/page/Parallel) and [perpendicular](/page/Perpendicular) to $\mathbf{k}$, rotating only the latter. The [determinant](/page/Determinant) is $\det R = 1$, reflecting a proper [rotation](/page/Rotation) without [reflection](/page/Reflection).[](https://mathworld.wolfram.com/RodriguesRotationFormula.html) [Orthogonality](/page/Orthogonality) holds as $R^T R = I$, ensuring $R$ is a [rigid transformation](/page/Rigid_transformation). For a numerical example, consider [rotation](/page/Rotation) by $\theta = 90^\circ$ ($\cos \theta = 0$, $\sin \theta = 1$) around $\mathbf{k} = (0, 0, 1)$. The matrix simplifies to R = \begin{pmatrix} 0 & -1 & 0 \ 1 & 0 & 0 \ 0 & 0 & 1 \end{pmatrix}. Applying $R$ to the basis vector $\mathbf{e}_1 = (1, 0, 0)$ yields $(0, 1, 0)$, consistent with a counterclockwise [rotation](/page/Rotation) in the xy-plane.[](https://mathworld.wolfram.com/RodriguesRotationFormula.html) ### Exponential map formulation The Lie algebra $\mathfrak{so}(3)$ associated with the special orthogonal group $SO(3)$ consists of all $3 \times 3$ real skew-symmetric matrices, which can be represented as $\hat{\mathbf{k}} = \begin{pmatrix} 0 & -k_z & k_y \\ k_z & 0 & -k_x \\ -k_y & k_x & 0 \end{pmatrix}$ for a vector $\mathbf{k} = (k_x, k_y, k_z)^\top \in \mathbb{R}^3$, satisfying $\hat{\mathbf{k}}^\top = -\hat{\mathbf{k}}$ and encoding [infinitesimal](/page/Infinitesimal) rotations via the cross-product operation $\hat{\mathbf{k}} \mathbf{v} = \mathbf{k} \times \mathbf{v}$ for any $\mathbf{v} \in \mathbb{R}^3$.[](https://www.cis.upenn.edu/~cis6100/geombchap14.pdf) For a [rotation](/page/Rotation) by [angle](/page/Angle) $\theta$ around the unit axis $\mathbf{k}$ (with $\|\mathbf{k}\| = 1$), the element $\theta \hat{\mathbf{k}}$ in $\mathfrak{so}(3)$ generates the corresponding finite rotation in $SO(3)$ through the [exponential map](/page/Exponential_map).[](https://www.ethaneade.com/lie.pdf) The exponential map $\exp: \mathfrak{so}(3) \to SO(3)$ is defined by the matrix exponential $\exp(\theta \hat{\mathbf{k}}) = \sum_{n=0}^\infty \frac{(\theta \hat{\mathbf{k}})^n}{n!}$, which converges to an [orthogonal matrix](/page/Orthogonal_matrix) with [determinant](/page/Determinant) 1, parameterizing all proper rotations.[](https://www.cis.upenn.edu/~cis6100/geombchap14.pdf) Since $\hat{\mathbf{k}}^2 = \mathbf{k} \mathbf{k}^\top - I$ and $\hat{\mathbf{k}}^3 = - \hat{\mathbf{k}}$ for unit $\mathbf{k}$, the powers cycle, yielding the closed-form expression: \exp(\theta \hat{\mathbf{k}}) = \cos \theta , I + \sin \theta , \hat{\mathbf{k}} + (1 - \cos \theta) , \mathbf{k} \mathbf{k}^\top. This is precisely Rodrigues' rotation formula, providing an explicit algorithm for the exponential map from $\mathfrak{so}(3)$ to $SO(3)$.[](https://www.ethaneade.com/lie.pdf)[](https://www.sciencedirect.com/science/article/pii/S0094114X15000415) Rodrigues' formula thus serves as the closed-form realization of the exponential map for rotations, bridging the infinitesimal generators in the Lie algebra with finite elements of the Lie group.[](https://www.sciencedirect.com/science/article/pii/S0094114X15000415) This unification facilitates analysis of rotation dynamics, as small rotations near the identity correspond to elements of $\mathfrak{so}(3)$, while the exponential extends naturally to larger angles; it also enables efficient composition of rotations using the Baker-Campbell-Hausdorff formula on the algebra, avoiding direct matrix multiplications for interpolated paths.[](https://www.cis.upenn.edu/~cis6100/geombchap14.pdf) For a non-unit axis $\mathbf{u}$ with $\|\mathbf{u}\| = \phi \neq 1$, the map generalizes by setting $\theta = \phi$ and $\mathbf{k} = \mathbf{u}/\phi$, so $\exp(\hat{\mathbf{u}}) = \exp(\phi \hat{\mathbf{k}})$ follows the same formula with angle $\phi$.[](https://www.ethaneade.com/lie.pdf) Additionally, Rodrigues parameters, defined as $\mathbf{r} = \tan(\theta/2) \mathbf{k}$, offer an alternative vector parametrization of $SO(3)$ related to the exponential coordinates $\theta \mathbf{k}$ via the Cayley transform, though they introduce singularities at $\theta = (2m+1)\pi$ for integer $m$.[](https://www.cs.cmu.edu/~spiff/moedit99/expmap.pdf) ## Historical Context ### Origins and attribution The vector form of the rotation formula was first published by Benjamin Olinde Rodrigues in 1840, in his paper "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," appearing in the *Journal de Mathématiques Pures et Appliquées*.[](http://www.numdam.org/item/JMPA_1840_1_5__380_0.pdf) In this work, Rodrigues derived an explicit expression for the effect of a finite [rotation](/page/Rotation) on a [vector](/page/Vector), using the [axis](/page/Axis) and [angle](/page/Angle) of [rotation](/page/Rotation) as parameters, thereby providing a coordinate-free approach to rigid body transformations.[](https://projecteuclid.org/journals/communications-in-mathematical-analysis/volume-13/issue-2/Hamilton-Rodrigues-Gauss-Quaternions-and-Rotations-a-Historical-Reassessment/cma/1349803591.full) Despite precursors in Leonhard Euler's 1775 analysis of direction cosines under rotation, the formula is conventionally attributed to and named after [Rodrigues](/page/Rodrigues).[](https://iel.ucdavis.edu/publication/1989/j_ASMEAM.pdf) In formulations linking it to [quaternion](/page/Quaternion) representations, it is often designated the [Euler–Rodrigues formula](/page/Euler–Rodrigues_formula), reflecting the interplay between vector methods and Hamilton's [quaternion](/page/Quaternion) algebra.[](https://projecteuclid.org/journals/communications-in-mathematical-analysis/volume-13/issue-2/Hamilton-Rodrigues-Gauss-Quaternions-and-Rotations-a-Historical-Reassessment/cma/1349803591.full) Rodrigues' contribution emerged amid 19th-century efforts to formalize the non-commutative nature of spatial rotations, just prior to William Rowan Hamilton's [1843](/page/1843) invention of [quaternions](/page/Quaternion), which offered a complementary [algebraic structure](/page/Algebraic_structure) for the same purpose.[](https://projecteuclid.org/journals/communications-in-mathematical-analysis/volume-13/issue-2/Hamilton-Rodrigues-Gauss-Quaternions-and-Rotations-a-Historical-Reassessment/cma/1349803591.full) The parameters introduced by Rodrigues, akin to the vector part of a unit [quaternion](/page/Quaternion), facilitated early explorations of rotation groups and influenced subsequent developments in transformation theory.[](https://arxiv.org/abs/2006.00196) Though initially overlooked, [Rodrigues' formula](/page/Rodrigues'_formula) achieved widespread recognition in the [20th century](/page/20th_century), particularly through its adoption in [rigid body dynamics](/page/Rigid_body_dynamics) for modeling angular motion in mechanical systems.[](https://www.researchgate.net/publication/223411253_An_historical_review_of_the_theoretical_development_of_rigid_body_displacements_from_Rodrigues_parameters_to_the_finite_twist) ### Relation to prior work The concept of finite rotations in [three-dimensional space](/page/Three-dimensional_space) was anticipated by several key developments in 18th-century mathematics, particularly in the context of [rigid body](/page/Rigid_body) motion and [celestial mechanics](/page/Celestial_mechanics). Leonhard Euler laid foundational groundwork in his 1775 paper "Formulae generales pro translatione quacunque corporum rigidorum," where he derived a formula for the effect of a finite rotation about an arbitrary axis using [spherical geometry](/page/Spherical_geometry) and series expansions of direction cosines, though expressed without the modern [vector notation](/page/Vector_notation).[](https://scholarlycommons.pacific.edu/euler-works/478/) This work built on Euler's earlier 1776 introduction of [Euler angles](/page/Euler_angles) in the same publication, which parameterized orientations through successive rotations about coordinate axes, marking a shift from earlier geometric approaches to more algebraic descriptions of rotations.[](https://scholarlycommons.pacific.edu/euler-works/478/) Subsequent analyses have highlighted Euler's priority in formulating the finite rotation idea. In a 1989 study, Hui Cheng and K.C. Gupta examined historical texts and concluded that Euler's 1775 derivation constitutes the first explicit finite rotation formula, predating later attributions, while emphasizing that Rodrigues later provided a more accessible vector-based expression for it.[](https://iel.ucdavis.edu/publication/1989/j_ASMEAM.pdf) They proposed renaming it "Euler's finite rotation formula" to reflect this origin, distinguishing it from Rodrigues' contributions to composing successive rotations. Other precursors include Joseph-Louis Lagrange's 1788 treatise *Mécanique Analytique*, where he analyzed the composition of rotational motions using coordinate transformations, analogizing them to rectilinear displacements in the context of [rigid body dynamics](/page/Rigid_body_dynamics).[](https://archive.org/details/mcaniqueanalyt01lagr) Lagrange's approach, rooted in variational principles, influenced early applications in [celestial mechanics](/page/Celestial_mechanics), such as modeling planetary perturbations, where Euler's axis-angle concepts were adapted for computational purposes. These ideas collectively transitioned from Euler's angle-based methods in the 1770s toward the axis-angle representation, setting the stage for clearer vector formulations in the [19th century](/page/19th_century). ## Applications and Extensions ### Uses in physics and engineering In physics, Rodrigues' rotation formula facilitates the analysis of [angular momentum](/page/Angular_momentum) and [rigid body dynamics](/page/Rigid_body_dynamics) by parameterizing rotations via an axis-angle representation, enabling the derivation of expressions for [angular velocity](/page/Angular_velocity) and [kinetic energy](/page/Kinetic_energy) in terms of the Rodrigues vector. This approach integrates seamlessly with Euler's equations, which govern the time evolution of [angular momentum](/page/Angular_momentum) in the body frame, providing a compact framework for simulating rotational motion without singularities for most orientations. In relativistic contexts, the formula is used in the analysis of rotations arising from composed Lorentz boosts, including the [Thomas precession](/page/Thomas_precession), a kinematic effect in accelerated reference frames that models spin adjustments for particles or observers.[](https://doi.org/10.3390/math12111676) In [engineering](/page/Engineering), the formula is applied in [robotics](/page/Robotics) to determine end-effector orientations in manipulator [kinematics](/page/Kinematics), where it models finite rotations as [screw](/page/Screw) motions within the special Euclidean group SE(3), aiding in forward and inverse kinematic solutions for multi-joint arms.[](https://dellaert.github.io/20S-8803MM/Readings/manipulator-kinematics.pdf) In [aerospace](/page/Aerospace), it supports [satellite](/page/Satellite) attitude control by converting axis-angle parameters to [direction cosine](/page/Direction_cosine) matrices, essential for precise reorientation maneuvers that align [spacecraft](/page/Spacecraft) with inertial references.[](http://aero.us.es/dve/Apuntes/Lesson2.pdf) The axis-angle formulation inherent to Rodrigues' rotation formula offers numerical stability for small rotation angles, as it avoids the gimbal lock singularities that plague Euler angle representations, making it suitable for iterative simulations in dynamic systems. This stability is leveraged in software implementations, such as MATLAB's Aerospace Toolbox functions like `rod2dcm`, which compute rotation matrices from Rodrigues vectors for real-time attitude processing.[](https://www.mathworks.com/help/aerotbx/ug/rod2dcm.html) A practical example is [spacecraft](/page/Spacecraft) reorientation using Rodrigues parameters (such as modified Rodrigues parameters), where [gyroscope](/page/Gyroscope) measurements of [angular velocity](/page/Angular_velocity) are integrated to propagate the [attitude](/page/Attitude) representation and update the [attitude](/page/Attitude) [matrix](/page/Matrix) for commanding thrusters or [reaction](/page/Reaction) wheels in efficient, torque-limited turns.[](https://ntrs.nasa.gov/api/citations/19960035754/downloads/19960035754.pdf) ### Connections to other rotation methods [Rodrigues' rotation formula](/page/Rodrigues'_rotation_formula), which describes a [rotation](/page/Rotation) of a vector $\mathbf{v}$ by an angle $\theta$ around a unit axis $\mathbf{k}$ as $\mathbf{v}' = \mathbf{v} \cos \theta + (\mathbf{k} \times \mathbf{v}) \sin \theta + \mathbf{k} (\mathbf{k} \cdot \mathbf{v}) (1 - \cos \theta)$, is closely linked to [quaternion](/page/Quaternion) representations of [rotations](/page/Rotation). Specifically, it arises as a special case of [quaternion](/page/Quaternion) conjugation, where the unit [quaternion](/page/Quaternion) $q = \cos(\theta/2) + \sin(\theta/2) \mathbf{k}$ (with $\mathbf{k}$ as the vector part) rotates a pure vector [quaternion](/page/Quaternion) $\mathbf{v}$ via $\mathbf{v}' = q \mathbf{v} q^{-1}$. Expanding this conjugation yields the components of the Rodrigues formula, confirming their equivalence for finite [rotations](/page/Rotation) in three dimensions.[](https://ocw.mit.edu/courses/6-801-machine-vision-fall-2020/fac101ccf4d7b8cdf775666d2d1e2146_MIT6_801F20_lec18.pdf) To convert from axis-angle parameters to a [quaternion](/page/Quaternion), the scalar part is $\cos(\theta/2)$ and the vector part is $\sin(\theta/2) \mathbf{k}$, providing a direct mapping that preserves the [rotation](/page/Rotation) while avoiding explicit [matrix](/page/Matrix) computations.[](https://ocw.mit.edu/courses/6-801-machine-vision-fall-2020/fac101ccf4d7b8cdf775666d2d1e2146_MIT6_801F20_lec18.pdf) The axis-angle representation underlying Rodrigues' formula also connects to Euler angles through intermediate rotation matrices or quaternions, often using conventions like ZXZ for conversion. For instance, the rotation matrix from Rodrigues can be equated to the product of Euler angle matrices, allowing extraction of angles $\phi, \theta, \psi$ via decomposition, though numerical stability requires care near singularities. Unlike Euler angles, which suffer from gimbal lock (loss of one degree of freedom at $\theta = \pm \pi/2$ in certain sequences), the axis-angle form avoids such issues except at multiples of $2\pi$, where representations become non-unique. This makes axis-angle preferable for sequential rotations without order-dependent pathologies.[](https://www.astro.rug.nl/software/kapteyn-beta/_downloads/attitude.pdf) In addition to quaternions and Euler angles, Rodrigues' formula relates to other parameterizations via the Cayley transform, which maps a skew-symmetric matrix $S = [\mathbf{k}]_\times \theta$ (where $[\cdot]_\times$ denotes the cross-product matrix) to an orthogonal rotation matrix $R = (I - S)(I + S)^{-1}$. Higher-order Cayley transforms extend this to generate Rodrigues parameters $\mathbf{r} = \theta \mathbf{k} / (1 - \cos \theta)$, providing a rational parameterization of SO(3) that approximates small rotations and connects to the [exponential map](/page/Exponential_map) for [infinitesimal](/page/Infinitesimal) cases. The Gibbs vector $\mathbf{g} = \tan(\theta/2) \mathbf{k}$ is a related variant known as the standard Rodrigues vector, which is unbounded in magnitude with a singularity at $\theta = \pi$. A bounded alternative is the modified Rodrigues parameters $\boldsymbol{\sigma} = \tan(\theta/4) \mathbf{k}$, with $||\boldsymbol{\sigma}|| \leq 1$ for principal rotations ($\theta \in [0, \pi)$) and singularity at $\theta = 2\pi$. These parameters enable compact storage of rotations without the unit norm constraint of quaternions.[](https://hanspeterschaub.info/PapersPrivate/jgcd96b.pdf)[](https://arc.aiaa.org/doi/pdf/10.2514/2.4072) Comparatively, the axis-angle representation excels in compactness with three unconstrained parameters, facilitating [interpolation](/page/Interpolation) (e.g., via [quaternion](/page/Quaternion) conversion for spherical linear [interpolation](/page/Interpolation) in graphics) and avoiding the three-parameter redundancy or singularities of [Euler angles](/page/Euler_angles). However, it shares the double-covering issue with quaternions, where $\theta = 0$ and $\theta = 2\pi$ (or $q$ and $-q$) represent the same rotation, potentially complicating uniqueness in optimization. Relative to quaternions' four parameters and [normalization](/page/Normalization) requirement, axis-angle is more intuitive for axis-aligned rotations but less efficient for [composition](/page/Composition) without [matrix](/page/Matrix) [exponentiation](/page/Exponentiation). These trade-offs position Rodrigues parameters as a bridge between vector-based and algebraic rotation methods, particularly in attitude determination where minimal parameterization aids computational efficiency.[](https://www.astro.rug.nl/software/kapteyn-beta/_downloads/attitude.pdf)[](https://apps.dtic.mil/sti/tr/pdf/ADA361544.pdf)

References

  1. [1]
    [PDF] Rotations
    This is Rodrigues' Rotation Formula. Thus given an axis в, angle α ,and point~b, construct the two quaternions q = (cos α. 2. , в sin α. 2. ) and p = (0,~b) ...
  2. [2]
    How to derive Rodrigues' rotation formula - SEMATH INFO
    We show how to derive the rotation matrix (Rodrigues' rotation formula) representing the rotation around an arbitrary axis.Missing: original | Show results with:original
  3. [3]
    [PDF] Des lois géométriques qui régissent les déplacements d'un système ...
    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 ...
  4. [4]
    [PDF] Rodrigues vectors and unit Quaternions
    Mar 21, 2014 · M. Olinde Rodrigues (1840), “Des lois géométriques qui régissent les déplacements d'un système solide dans l'espace et de la variation des ...
  5. [5]
    CS184: Computing Rotations in 3D - People @EECS
    Using the Rodrigues Formula to Compute Rotations​​ Suppose we are rotating a point, p, in space by an angle, b, (later also called theta) about an axis through ...
  6. [6]
    [PDF] Lecture 13: Rodrigues' and Inverse Rodrigues' Formula
    Feb 27, 2017 · Rodrigues' formula calculates a rotation matrix from a unit-length axis and angle. Inverse Rodrigues' finds the angle and axis from a rotation ...Missing: original | Show results with:original
  7. [7]
    [PDF] Vector Representation of Rotations - Duke Computer Science
    The formula for finding the rotation matrix corresponding to an angle-axis vector is called Rodrigues' formula, which is now derived. Let r be a rotation vector ...
  8. [8]
    [PDF] Rotation in the Space∗
    Sep 19, 2024 · The rotation matrix, refererred to as the Rodrigues' rotation formula, is given as. Rotl(θ) = I3 + sinθ[l]× + (1 − cos θ)[l]2. ×. (7).
  9. [9]
    [PDF] Graphics Math & Code Editor: Gabriel Taubin 3D Rotations
    The geometric representation is a more intuitive way of describing a 3D rotation as a turn of angle q around a unit-length 3D vector u, with the rotation's ...<|control11|><|separator|>
  10. [10]
    [PDF] Lecture 6 - Math 178
    Decompose a Rotation to 3 Successive ... Derivation of Rodrigues Formula. • Work out the details with the students. Page 50. Derivation of Rodrigues' Rotation.
  11. [11]
    3DRotations
    The derivation of Rodrigues' formula starts by decomposing a rotated point into its coordinate about the axis a and its coordinates about an orthogonal plane.
  12. [12]
    3.2.3. Exponential Coordinates of Rotation (Part 2 of 2)
    This equation is often called Rodrigues' formula. Essentially, exponentiation integrates the angular velocity omega-hat for time theta seconds, going from the ...<|control11|><|separator|>
  13. [13]
    Rodrigues' Rotation Formula -- from Wolfram MathWorld
    Rodrigues' rotation formula gives an efficient method for computing the rotation matrix R in SO(3) corresponding to a rotation by an angle theta ...Missing: expression | Show results with:expression
  14. [14]
    [PDF] The Exponential Map, Lie Groups, and Lie Algebras - UPenn CIS
    The exponential map often allows a parametrization of the Lie group elements ... ψ(u)(v) = u × v. The exponential map exp: so(3) → SO(3) is given by Rodrigues's ...
  15. [15]
    [PDF] Lie Groups for 2D and 3D Transformations - Ethan Eade
    This document derives useful formulae for working with the Lie groups that represent transformations in 2D and 3D space. A Lie group is a topological group ...
  16. [16]
    Euler–Rodrigues formula variations, quaternion conjugation and ...
    This paper reviews the Euler–Rodrigues formula in the axis–angle representation of rotations, studies its variations and derivations in different mathematical ...<|control11|><|separator|>
  17. [17]
    [PDF] Practical Parameterization of Rotations Using the Exponential Map
    The exponential map uses three parameters to parameterize SO(3), which means: no need for normalization after integrating ODE's no danger of falling out of ...
  18. [18]
    [PDF] Des lois géométriques qui régissent les déplacements d'un système ...
    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 ...
  19. [19]
    Hamilton, Rodrigues, Gauss, Quaternions, and Rotations
    Quaternions, invented in 1843 by the famous mathematical physicist Hamilton, largely fell out of favor long ago, being replaced by vectors, which are direct ...Missing: formula | Show results with:formula
  20. [20]
    [PDF] An Historical Note on Finite Rotations
    Rodrigues parameters in Rodrigues' paper (Rodrigues, 1840, pp. 403-404), the rotation formula expressed in terms of the direction cosines of the rotation ...
  21. [21]
    [2006.00196] On the Work of Benjamin Olinde Rodrigues (1795-1851)
    May 30, 2020 · He invented Rodrigues expression of rotation and give explicit calculation formula for product of two rotations, which might be considered as a ...Missing: original English
  22. [22]
    An historical review of the theoretical development of rigid body ...
    Aug 7, 2025 · This paper traces the work back to the time when Rodrigues parameters were discovered and follows the theoretical development of rigid body ...
  23. [23]
    Formulae generales pro translatione quacunque corporum rigidorum
    Sep 25, 2018 · 1775. Original Source Citation. Novi Commentarii academiae scientiarum Petropolitanae, Volume 20, pp. 189-207. Opera Omnia Citation. Series 2 ...Missing: finite rotation
  24. [24]
    Mécanique analytique : Lagrange, J. L. (Joseph Louis), 1736-1813
    Jan 18, 2010 · Mécanique analytique. by: Lagrange, J. L. (Joseph Louis), 1736 ... PDF download · download 1 file · SINGLE PAGE ORIGINAL JP2 TAR download.
  25. [25]
  26. [26]
    [PDF] Manipulator Kinematics - Frank Dellaert
    Feb 6, 2020 · where the rotation matrix R(ωt) is given by Rodrigues' formula. The above is but a simple generalization of a circular arc in 2D to a screw ...
  27. [27]
    [PDF] Spacecraft Dynamics - Lesson 2: Attitude Representation
    Oct 18, 2021 · Notice that a rotation affects the position of the axes for the next rotations. ... Euler-Rodrigues formula in matrix form: C(q) =. q. 2. 0. + ...
  28. [28]
    rod2dcm - Convert Euler-Rodrigues vector to direction cosine matrix
    This example shows how to determine the direction cosine matrix from the Euler-Rodrigues vector. r = [.1 .2 -.1]; DCM = rod2dcm(r). DCM ...
  29. [29]
    [PDF] Attitude Estimation Using Modified Rodrigues Parameters
    In this paper, a Kalman filter formulation for attitude estimation is derived using the Modified. Rodrigues. Parameters. The extended.
  30. [30]
    [PDF] 6.801/6.866: Machine Vision, Lecture 18 - MIT OpenCourseWare
    1.7.1 Relation of Quaternion Rotation Operation to Rodrigues Formula. Let us ... quaternions for rotation with orthonormal matrices for rotation in ...
  31. [31]
    [PDF] Euler Angles, Unit Quaternions, and Rotation Vectors
    Oct 20, 2006 · Abstract. We present the three main mathematical constructs used to represent the attitude of a rigid body in three- dimensional space.
  32. [32]
    [PDF] higher order cayley transforms with applications to attitude representa
    These higher order Cayley transforms are shown to parameterize proper orthogonal matrices into higher order "Rodrigues" parameters. The question of the proper ...
  33. [33]
    Higher-Order Cayley Transforms with Applications to Attitude ... - AIAA
    We are therefore able to generate the Euler parameters, the Rodrigues parameters, and the modifi ed Rodrigues parameters as special cases of such conformal ...
  34. [34]
    [PDF] Comparison of Quaternion and Euler Angle Methods for Joint ... - DTIC
    Neither representation exhibits a decisive advantage over the other in terms of computational speed. For memory considerations, the Euler angle method is best.