Rodrigues' rotation formula

From Wikipedia, the free encyclopedia

In geometry, Rodrigues' rotation formula is a vector formula for a rotation in space, given its axis.

Say u,v \in R3 and we want to obtain a representation for the rotation vrot of the vector v around the vector u (which is assumed to have unit length) by an angle θ in the counterclockwise (i.e. positive) direction. Rodrigues' formula reads as follows:

vrot = v·cosθ + u×v·sinθ + <u,v>u·(1 - cosθ)

[edit] Proof of the formula

Take the vector w = v - <u,v>u, which is the projection of v on the plane orthogonal to u, and the cross product of the vectors u and v: z = u×v. Turn the vector w by the angle θ around the base of the vector u to obtain the projection of the rotated vector vrot:

wrot = w·cosθ + z·sinθ = (v - <u,v>ucosθ + u×v·sinθ.

Notice that both the vectors w and z have the same length: |w|,|z| = |v - <u,v>u|, because the vector u is of unit length. To get the rotated vector v, we have to add back the adjustment <u,v>u. Hence

vrot = (v - <u,v>ucosθ + u×v·sinθ + <u,v>u =

v·cosθ + u×v·sinθ + <u,v>u·(1 - cosθ) ,

what is exactly what we were looking for.

[edit] External links

For another descriptive example see www.d6.com, Chris Hecker, physics section, part 4. "The Third Dimension" -- on page 3, section ``Axis and Angle, http://www.d6.com/users/checker/pdfs/gdmphys4.pdf