Rodrigues' rotation formula
In the theory of three-dimensional rotation, Rodrigues' rotation formula, named after Olinde Rodrigues, is an efficient algorithm for rotating a vector in space, given an axis and angle of rotation. By extension, this can be used to transform all three basis vectors to compute a rotation matrix in , the group of all rotation matrices, from an axis–angle representation. In other words, the Rodrigues' formula provides an algorithm to compute the exponential map from , the Lie algebra of , to without actually computing the full matrix exponential. This formula is variously credited to Leonhard Euler, Olinde Rodrigues , or a combination of the two. A detailed historical analysis in 1989 concluded that the formula should be attributed to Euler, and recommended calling it "Euler's finite rotation formula." This proposal has received notable support, but some others have viewed the formula as just one of many variations of the Euler–Rodrigues formula, thereby crediting both. Statement. If is a vector in and is a unit vector describing an axis of rotation about which rotates by an angle according to the right hand rule, the Rodrigues formula for the rotated vector is The intuition of the above formula is  that the first term scales the vector down, while the second skews it (via vector addition) toward the new rotational position. The third term re-adds the height (relative to formula_1) that was lost by the first term. An alternative statement is to write the axis vector as a cross product of any two nonzero vectors and which define the plane of rotation, and the sense of the angle is measured away from and towards . Letting denote the angle between these vectors, the two angles and are not necessarily equal, but they are measured in the same sense. Then the  unit axis vector can be written where formula_3. The above simple expression results from the fact that the Hodge duals of formula_4 and formula_5 are zero, and formula_6. When applying the Rodrigues' formula, however, the usual ambiguity could be removed with an extended form of the formula.