Axis–angle representation

(Redirected fromRotation vector)

Inmathematics,theaxis–angle representationparameterizes arotationin athree-dimensionalEuclidean spaceby two quantities: aunit vectoreindicating thedirectionof anaxis of rotation,and anangle of rotationθdescribing the magnitude and sense (e.g.,clockwise) of therotation about the axis.Only two numbers, not three, are needed to define the direction of a unit vectorerooted at the origin because the magnitude ofeis constrained. For example, theelevation and azimuthangles ofesuffice to locate it in any particular Cartesian coordinate frame.

The angleθand axis unit vectoredefine a rotation, concisely represented by the rotation vectorθe.

ByRodrigues' rotation formula,the angle and axis determine a transformation that rotates three-dimensional vectors. The rotation occurs in the sense prescribed by theright-hand rule.

The rotation axis is sometimes called theEuler axis.The axis–angle representation is predicated onEuler's rotation theorem,which dictates that any rotation or sequence of rotations of a rigid body in a three-dimensional space is equivalent to a pure rotation about a single fixed axis.

It is one of manyrotation formalisms in three dimensions.

Rotation vector

edit

The axis–angle representation is equivalent to the more conciserotation vector,also called theEuler 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θ, It is used for theexponentialandlogarithmmaps involving this representation.

Many rotation vectors correspond to the same rotation. In particular, a rotation vector of lengthθ+ 2πM,for any integerM,encodes exactly the same rotation as a rotation vector of lengthθ.Thus, there are at least a countable infinity of rotation vectors corresponding to any rotation. Furthermore, all rotations by2πMare the same as no rotation at all, so, for a given integerM,all rotation vectors of length2πM,in all directions, constitute a two-parameter uncountable infinity of rotation vectors encoding the same rotation as the zero vector. These facts must be taken into account when inverting the exponential map, that is, when finding a rotation vector that corresponds to a given rotation matrix. The exponential map isontobut notone-to-one.

Example

edit

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

The above example can be represented as a rotation vector with a magnitude ofπ/2pointing in thezdirection,

Uses

edit

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

When arigid bodyrotatesaround a fixed axis,its axis–angle data are aconstantrotation axis and the rotation anglecontinuously dependentontime.

Plugging the three eigenvalues 1 ande±and their associated three orthogonal axes in a Cartesian representation intoMercer's theoremis a convenient construction of the Cartesian representation of the Rotation Matrix in three dimensions.

Rotating a vector

edit

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

Ifvis a vector inR3andeis aunit vectorrooted at the origin describing an axis of rotation about whichvis rotated by an angleθ,Rodrigues' rotation formula to obtain the rotated vector is

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

Relationship to other representations

edit

There are several ways to represent a rotation. It is useful to understand how different representations relate to one another, and how to convert between them. Here the unit vector is denotedωinstead ofe.

Exponential map from 𝔰𝔬(3) to SO(3)

edit

Theexponential mapeffects a transformation from the axis-angle representation of rotations torotation matrices,

Essentially, by using aTaylor expansionone derives a closed-form relation between these two representations. Given a unit vectorrepresenting the unit rotation axis, and an angle,θR,an equivalent rotation matrixRis given as follows, whereKis thecross product matrixofω,that is,Kv=ω×vfor all vectorsvR3,

BecauseKis skew-symmetric, and the sum of the squares of its above-diagonal entries is 1, thecharacteristic polynomialP(t)ofKisP(t) = det(KtI) = −(t3+t).Since, by theCayley–Hamilton theorem,P(K)= 0, this implies that As a result,K4= –K2,K5=K,K6=K2,K7= –K.

This cyclic pattern continues indefinitely, and so all higher powers ofKcan be expressed in terms ofKandK2.Thus, from the above equation, it follows that that is,

by theTaylor series formula for trigonometric functions.

This is a Lie-algebraic derivation, in contrast to the geometric one in the articleRodrigues' rotation formula.[1]

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

Log map from SO(3) to 𝔰𝔬(3)

edit

LetKcontinue to denote the 3 × 3 matrix that effects the cross product with the rotation axisω:K(v) =ω×vfor all vectorsvin what follows.

To retrieve the axis–angle representation of arotation matrix,calculate the angle of rotation from thetrace of the rotation matrix: and then use that to find the normalized axis,

whereis the component of the rotation matrix,,in the-th row and-th column.

The axis-angle representation is not unique since a rotation ofaboutis the same as a rotation ofabout.

The above calculation of axis vectordoes not workifRis symmetric. For the general case themay be found using null space ofR-I,seerotation matrix#Determining the axis.

Thematrix logarithmof the rotation matrixRis

An exception occurs whenRhaseigenvaluesequal to−1.In this case, the log is not unique. However, even in the case whereθ=πtheFrobenius normof the log is Given rotation matricesAandB, 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,RI+θK.(This is because these are the first two terms of the Taylor series forexp(θK).)

This formulation also has numerical problems atθ=π,where the off-axis terms do not 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 ofBare the squares of the elements ofωand the signs (up to sign ambiguity) can be determined from the signs of the off-axis terms ofB.

Unit quaternions

edit

The following expression transforms axis–angle coordinates toversors(unitquaternions):

Given a versorq=r+vrepresented with itsscalarrand vectorv,the axis–angle coordinates can be extracted using the following:

A more numerically stable expression of the rotation angle uses theatan2function: where|v|is theEuclidean normof the 3-vectorv.

See also

edit

References

edit
  1. ^This holds for the triplet representation of the rotation group, i.e., spin 1. For higher dimensional representations/spins, seeCurtright, T. L.;Fairlie, D. B.;Zachos, C. K.(2014). "A compact formula for rotations as spin matrix polynomials".SIGMA.10:084.arXiv:1402.3541.Bibcode:2014SIGMA..10..084C.doi:10.3842/SIGMA.2014.084.S2CID18776942.