proof of Rodrigues’ rotation formula


Let [𝐱,𝐲,𝐳] be a frame of right-handed orthonormal vectors in ℝ3, and let 𝐯=a⁒𝐱+b⁒𝐲+c⁒𝐳 (with a,b,cβˆˆβ„) be any vector to be rotated on the 𝐳 axis, by an angle ΞΈ counter-clockwise.

The image vector 𝐯′ is the vector 𝐯 with its componentMathworldPlanetmathPlanetmath in the 𝐱,𝐲 plane rotated, so we can write

𝐯′=a⁒𝐱′+b⁒𝐲′+c⁒𝐳,

where 𝐱′ and 𝐲′ are the rotationsMathworldPlanetmath by angle ΞΈ of the 𝐱 and 𝐲 vectors in the 𝐱,𝐲 plane. By the rotation formula in two dimensionsPlanetmathPlanetmath, we have

𝐱′ =cos⁑θ⁒𝐱+sin⁑θ⁒𝐲,
𝐲′ =-sin⁑θ⁒𝐱+cos⁑θ⁒𝐲.

So

𝐯′=cos⁑θ⁒(a⁒𝐱+b⁒𝐲)+sin⁑θ⁒(a⁒𝐲-b⁒𝐱)+c⁒𝐳.

The vector a⁒𝐱+b⁒𝐲 is the projection of 𝐯 onto the 𝐱,𝐲 plane, and a⁒𝐲-b⁒𝐱 is its rotation by 90∘. So these two vectors form an orthogonalMathworldPlanetmath frame in the 𝐱,𝐲 plane, although they are not necessarily unit vectorsMathworldPlanetmath. Alternate expressions for these vectors are easily derived β€” especially with the help of the picture:

𝐯-(𝐯⋅𝐳)⁒𝐳 =𝐯-c⁒𝐳=a⁒𝐱+b⁒𝐲,
𝐳×𝐯 =a⁒(𝐳×𝐱)+b⁒(𝐳×𝐲)+c⁒(𝐳×𝐳)=a⁒𝐲-b⁒𝐱.

Substituting these into the expression for 𝐯′:

𝐯′=cos⁑θ⁒(𝐯-(𝐯⋅𝐳)⁒𝐳)+sin⁑θ⁒(𝐳×𝐯)+c⁒𝐳,

which could also have been derived directly if we had first considered the frame [𝐯-(𝐯⋅𝐳),𝐳×𝐯] instead of [𝐱,𝐲].

We attempt to simplify further:

𝐯′=𝐯+sin⁑θ⁒(𝐳×𝐯)+(cos⁑θ-1)⁒(𝐯-(𝐯⋅𝐳)⁒𝐳).

Since 𝐳×𝐯 is linear in 𝐯, this transformation is represented by a linear operatorMathworldPlanetmath A. Under a right-handed orthonormal basis, the matrix representationPlanetmathPlanetmath of A is directly computed to be

A⁒𝐯=𝐳×𝐯=[0-z3z2z30-z1-z2z10]⁒[v1v2v3].

We also have

-(𝐯-(𝐯⋅𝐳)⁒𝐳) =-a⁒𝐱-b⁒𝐲 (rotate a⁒𝐱+b⁒𝐲 by 180∘)
=𝐳×(a⁒𝐲-b⁒𝐱) (rotate a⁒𝐲-b⁒𝐱 by 90∘)
=𝐳×(𝐳×(a⁒𝐱+b⁒𝐲+c⁒𝐳))
=A2⁒𝐯.

So

𝐯′=I⁒𝐯+sin⁑θ⁒A⁒𝐯+(1-cos⁑θ)⁒A2⁒𝐯,

proving Rodrigues’ rotation formula.

Relation with the matrix exponential

Here is a curious fact. Notice that the matrix11If we want to use coordinate-free , then in this sectionPlanetmathPlanetmathPlanetmath, β€œmatrix” should be replaced by β€œlinear operator” and transposesMathworldPlanetmath should be replaced by the adjointPlanetmathPlanetmathPlanetmath operation. A is skew-symmetric. This is not a coincidence β€” for any skew-symmetric matrix B, we have (eB)t=eBt=e-B=(eB)-1, and det⁑eB=etr⁑B=e0=1, so eB is always a rotation. It is in fact the case that:

I+sin⁑θ⁒A+(1-cos⁑θ)⁒A2=eθ⁒A

for the matrix A we had above! To prove this, observe that powers of A cycle like so:

I,A,A2,-A,-A2,A,A2,-A,-A2,…

Then

sin⁑θ⁒A =βˆ‘k=0∞(-1)k⁒θ2⁒k+1⁒A(2⁒k+1)!=βˆ‘k=0∞θ2⁒k+1⁒A2⁒k+1(2⁒k+1)!=βˆ‘k⁒ odd(θ⁒A)kk!
(1-cos⁑θ)⁒A2 =βˆ‘k=1∞(-1)k-1⁒θ2⁒k⁒A2(2⁒k)!=βˆ‘k=1∞θ2⁒k⁒A2⁒k(2⁒k)!=βˆ‘kβ‰₯2⁒ even(θ⁒A)kk!.

Adding sin⁑θ⁒A, (1-cos⁑θ)⁒A2 and I together, we obtain the power series for eθ⁒A.

Second proof: If we regard ΞΈ as time, and differentiate the equation 𝐯′=a⁒𝐱′+b⁒𝐲′+c⁒𝐳 with respect to ΞΈ, we obtain d⁒𝐯′/d⁒θ=a⁒𝐲′-b⁒𝐱′=𝐳×𝐯′=A⁒𝐯′, whence the solution (to this linear ODE) is 𝐯′=eθ⁒A⁒𝐯.

Remark: The operator eθ⁒A, as ΞΈ ranges over ℝ, is a one-parameter subgroup of SO⁒(3). In higher dimensions n, every rotation in SO⁒(n) is of the form eA for a skew-symmetric A, and the second proof above can be modified to prove this more general fact.

Title proof of Rodrigues’ rotation formula
Canonical name ProofOfRodriguesRotationFormula
Date of creation 2013-03-22 15:23:25
Last modified on 2013-03-22 15:23:25
Owner stevecheng (10074)
Last modified by stevecheng (10074)
Numerical id 14
Author stevecheng (10074)
Entry type Proof
Classification msc 51-00
Classification msc 15-00
Related topic DimensionOfTheSpecialOrthogonalGroup