http://en.wikipedia.org/wiki/Rodrigues%27_rotation_formula
Rodrigues' rotation formula
From Wikipedia, the free encyclopedia
| This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (March 2008) |
In geometry, Rodrigues' rotation formula (named after Olinde Rodrigues) is a vector formula for a rotation in space, given its axis and angle of rotation.
Say u,v
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:
[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:
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
which is exactly what we were looking for.
Using the notation
for the scalar product, we get:
Denoting by
the "cross-product" matrix for
, i.e.
the cross-product
can be represented with the matrix product
and we have
where I is the 3x3 identity matrix. The expression in the parenthesis can be identified as the rotation matrix R:
Considering that
, the expression for the rotation matrix R is sometimes written as
or, equivalently,
[edit] See also
[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

![[costheta+omega_x^2(1-costheta) omega_xomega_y(1-costheta)-omega_zsintheta omega_ysintheta+omega_xomega_z(1-costheta); omega_zsintheta+omega_xomega_y(1-costheta) costheta+omega_y^2(1-costheta) -omega_xsintheta+omega_yomega_z(1-costheta); -omega_ysintheta+omega_xomega_z(1-costheta) omega_xsintheta+omega_yomega_z(1-costheta) costheta+omega_z^2(1-costheta)],](https://img1.daumcdn.net/relay/cafe/R400x0/?fname=http%3A%2F%2Fmathworld.wolfram.com%2Fimages%2Fequations%2FRodriguesRotationFormula%2FInline10.gif)
![omega^~=[0 -omega_z omega_y; omega_z 0 -omega_x; -omega_y omega_x 0].](https://img1.daumcdn.net/relay/cafe/R400x0/?fname=http%3A%2F%2Fmathworld.wolfram.com%2Fimages%2Fequations%2FRodriguesRotationFormula%2FNumberedEquation1.gif)