Axis–angle representation

In mathematics, the axis–angle representation of a rotation parameterizes a rotation in a three-dimensionalEuclidean space by two values: a unit vectorê indicating the direction of an axis of rotation, and an angleθ describing the magnitude of the rotation about the axis. The rotation occurs in the sense prescribed by the right-hand rule. The rotation axis is sometimes called the Euler axis.

The axis–angle representation is equivalent to the more concise rotation vector, also called the Euler vector. In this case, both the rotation axis and the angle are represented by a vector codirectional with the rotation axis whose length is the rotation angle θ,

Say you are standing on the ground and you pick the direction of gravity to be the negative z direction. Then if you turn to your left, you will travel π/2 radians (or 90°) about the z axis. Viewing the axis-angle representation as an ordered pair, this would be

The above example can be represented as a rotation vector with a magnitude of π⁄2 pointing in the z direction,

The axis–angle representation is convenient when dealing with rigid body dynamics. It is useful to both characterize rotations, and also for converting between different representations of rigid body motion, such as homogeneous transformations[clarification needed] and twists.

The Rodrigues' rotation formula, named after Olinde Rodrigues, is an efficient algorithm for rotating a Euclidean vector, given a rotation axis and an angle of rotation. In other words, the Rodrigues' formula provides an algorithm to compute the exponential map from so(3) to SO(3) without computing the full matrix exponential.

If v is a vector in ℝ3 and ω is a unit vector describing an axis of rotation about which v is rotated by an angle θ the Rodrigues' rotation formula to obtain the rotated vector is

For the rotation of a single vector it may be more efficient than converting ω and θ into a rotation matrix to rotate the vector.

Essentially, by using a Taylor expansion one derives a closed form relation between these two representations. Given a unit vector ω ∈ (3) = ℝ3 representing the unit rotation axis, and an angle, θ ∈ ℝ, an equivalent rotation matrix R is given as follows, where K is the cross product matrix of ω.

Due to the existence of the above-mentioned exponential map, the unit vector ω representing the rotation axis, and the angle θ are sometimes called the exponential coordinates of the rotation matrix R.

An exception occurs when R has eigenvalues equal to −1. In this case, the log is not unique. However, even in the case where θ=π the Frobenius norm of the log is

Given rotation matrices A and B,

is the geodesic distance on the 3D manifold of rotation matrices.

For small rotations, the above computation of θ may be numerically imprecise as the derivative of arccos goes to infinity as θ→0. In that case, the off-axis terms will actually provide better information about θ since, for small angles, R ≈ I+ θK. (This is because these are the first two terms of the Taylor series for exp(θK).)

This formulation also has numerical problems at θ=π, where the off-axis terms don't give information about the rotation axis (which is still defined up to a sign ambiguity). In that case, we must reconsider the above formula.

At θ=π, we have

and so let

so the diagonal terms of B are the squares of the elements of ω and the signs (up to sign ambiguity) can be determined from the signs of the off-axis terms of B.