Rodrigues Rotation Formula — Geometric Construction

A linear algebra note on rotating a vector around a fixed axis in 3D

Rodrigues rotation formula rotates a vector v around a unit axis k̂ by splitting the vector into two parts: the axial component parallel to k̂ and the planar component perpendicular to k̂. The parallel part stays fixed, while the perpendicular part rotates inside the plane orthogonal to the axis.

Visual 1 — Step-by-step construction

Step-by-step geometric construction of Rodrigues rotation formula. The vector is decomposed into its parallel and perpendicular parts, plane coordinates are built, a 2D rotation is applied and the result is mapped back to 3D.
The construction begins by separating v into v∥ and v⊥, then building plane coordinates with an orthonormal basis in the rotation plane. A 2D rotation by angle θ is applied in those plane coordinates, and the rotated planar part is mapped back to 3D before recombining with the unchanged axial component.

Visual 2 — Animation

Animated visualization of Rodrigues rotation formula showing a vector rotating around a fixed axis while its axial component remains unchanged.
The animation shows the same structure dynamically: the vector rotates around the fixed axis, the axial component remains unchanged and only the perpendicular component sweeps through the rotation plane.

Concept

Let k̂ be a unit vector along the rotation axis and let v be any vector in R³. The axial component is v∥ = k̂ k̂ᵀ v and the perpendicular component is v⊥ = v − v∥.

The vector v∥ is already aligned with the axis, so it does not move under rotation about that axis. The whole problem reduces to rotating v⊥ by angle θ inside the plane orthogonal to k̂.

Structure

Choose an orthonormal basis (q̂₁, q̂₂) for the rotation plane, where q̂₁ points along v⊥ and q̂₂ = k̂ × q̂₁. Then the planar part can be expressed in 2D coordinates, rotated by the standard 2D rotation matrix and mapped back to 3D.

This separates 3D rotation into three pieces: keep the axial part, rotate in plane coordinates and recombine.

Key equations

v∥ = k̂ k̂ᵀ v
v⊥ = v − v∥
q̂₁ = v⊥ / |v⊥|
q̂₂ = k̂ × q̂₁
Q = [ q̂₁ | q̂₂ ]
R(θ) = [ [cosθ, -sinθ], [sinθ, cosθ] ]
w = v∥ + Q R(θ) Qᵀ v⊥
w = v∥ + cosθ v⊥ + sinθ (k̂ × v⊥)
w = k̂ k̂ᵀ v + cosθ (I − k̂ k̂ᵀ) v + sinθ (k̂ × v)

These forms say the same thing in different languages: projection onto the axis, rotation in the perpendicular plane and recombination into the final rotated vector.

Query phrases

  • Rodrigues rotation formula geometric derivation
  • how Rodrigues rotation formula works geometrically
  • rotate vector around axis in 3D
  • Rodrigues formula as rotation in the perpendicular plane
  • decompose vector into parallel and perpendicular parts for rotation

Reference

External reference: Wikipedia — Rodrigues' rotation formula, derivation section