Rodrigues' Rotation Formula
罗德里格斯公式AdvancedGiven a rotation axis and an angle, this formula computes the corresponding 3D rotation matrix directly, in closed form.
Rodrigues' rotation formula is named after the French mathematician Olinde Rodrigues, who published the relevant result in 1840, though some scholars trace the underlying idea to Euler. It answers the question: what rotation matrix corresponds to rotating by angle θ about the axis given by the unit vector k? In matrix form, R = I + sinθ·K + (1−cosθ)·K², where I is the 3×3 identity matrix and K is the skew-symmetric matrix built from k (multiplying K by any vector v equals the cross product k×v). It converts the axis-angle representation (an axis plus an angle describing a rotation) into a rotation matrix, and is essentially the closed-form solution to the exponential map on the rotation group SO(3): the infinite series for exp(θK) collapses exactly into these three terms. It's used throughout robotics — for example, in computing forward kinematics via the product of exponentials formula, or converting an axis-angle action into an orientation; OpenCV's function for converting a rotation vector into a rotation matrix is even named cv2.Rodrigues.
ExampleRotating 90° about the z-axis (k = (0,0,1)): sin90° = 1, cos90° = 0, so R = I + K + K². Working this out sends the x-axis direction (1,0,0) to the y-axis direction (0,1,0), matching intuition.
- Also called
- Rodrigues Formula, Euler's Finite Rotation Formula
- Related
- Axis-Angle Representation · Rotation Matrix · Skew-Symmetric Matrix · Exponential Map · Special Orthogonal Group SO(3) · Product of Exponentials Formula
- Sources
- Wikipedia: Rodrigues' rotation formula
Wikipedia: Olinde Rodrigues