Processing math: 66%

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