Rodrigues' rotation formula

Last updated

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 SO(3) , the group of all rotation matrices, from an axis–angle representation. In terms of Lie theory, the Rodrigues' formula provides an algorithm to compute the exponential map from the Lie algebra so(3) to its Lie group SO(3).

Contents

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." [1] This proposal has received notable support, [2] but some others have viewed the formula as just one of many variations of the Euler–Rodrigues formula, thereby crediting both. [3]

Statement

If v is a vector in 3 and k is a unit vector describing an axis of rotation about which v rotates by an angle θ according to the right hand rule, the Rodrigues formula for the rotated vector vrot 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 ) that was lost by the first term.

An alternative statement is to write the axis vector as a cross product a × b of any two nonzero vectors a and b which define the plane of rotation, and the sense of the angle θ is measured away from a and towards b. 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

This form may be more useful when two vectors defining a plane are involved. An example in physics is the Thomas precession which includes the rotation given by Rodrigues' formula, in terms of two non-collinear boost velocities, and the axis of rotation is perpendicular to their plane.

Derivation

Rodrigues' rotation formula rotates v by an angle th around vector k by decomposing it into its components parallel and perpendicular to k, and rotating only the perpendicular component. Rodrigues-formula.svg
Rodrigues' rotation formula rotates v by an angle θ around vector k by decomposing it into its components parallel and perpendicular to k, and rotating only the perpendicular component.
Vector geometry of Rodrigues' rotation formula, as well as the decomposition into parallel and perpendicular components. Orthogonal decomposition unit vector rodrigues rotation formula.svg
Vector geometry of Rodrigues' rotation formula, as well as the decomposition into parallel and perpendicular components.

Let k be a unit vector defining a rotation axis, and let v be any vector to rotate about k by angle θ (right hand rule, anticlockwise in the figure), producing the rotated vector .

Using the dot and cross products, the vector v can be decomposed into components parallel and perpendicular to the axis k,

where the component parallel to k is called the vector projection of v on k,

,

and the component perpendicular to k is called the vector rejection of v from k:

,

where the last equality follows from the vector triple product formula: . Finally, the vector is a copy of rotated 90° around . Thus the three vectors form a right-handed orthogonal basis of , with the last two vectors of equal length.

Under the rotation, the component parallel to the axis will not change magnitude nor direction:

while the perpendicular component will retain its magnitude but rotate its direction in the perpendicular plane spanned by and , according to

in analogy with the planar polar coordinates (r, θ) in the Cartesian basis ex, ey:

Now the full rotated vector is:

Substituting or in the last expression gives respectively:

Matrix notation

The linear transformation on defined by the cross product is given in coordinates by representing v and k × v as column matrices:

That is, the matrix of this linear transformation (with respect to standard coordinates) is the cross-product matrix:

That is to say,

The last formula in the previous section can therefore be written as:

Collecting terms allows the compact expression

where

is the rotation matrix through an angle θ counterclockwise about the axis k, and I the 3 × 3 identity matrix. [4] This matrix R is an element of the rotation group SO(3) of 3, and K is an element of the Lie algebra generating that Lie group (note that K is skew-symmetric, which characterizes ).

In terms of the matrix exponential,

To see that the last identity holds, one notes that

characteristic of a one-parameter subgroup, i.e. exponential, and that the formulas match for infinitesimal θ.

For an alternative derivation based on this exponential relationship, see exponential map from to SO(3). For the inverse mapping, see log map from SO(3) to .

The Hodge dual of the rotation is just which enables the extraction of both the axis of rotation and the sine of the angle of the rotation from the rotation matrix itself, with the usual ambiguity,

where . The above simple expression results from the fact that the Hodge duals of and are zero, and .

See also

Related Research Articles

<span class="mw-page-title-main">Spherical coordinate system</span> Coordinates comprising a distance and two angles

In mathematics, a spherical coordinate system is a coordinate system for three-dimensional space where the position of a given point in space is specified by three real numbers: the radial distancer along the radial line connecting the point to the fixed point of origin; the polar angleθ between the radial line and a given polar axis; and the azimuthal angleφ as the angle of rotation of the radial line around the polar axis. (See graphic re the "physics convention".) Once the radius is fixed, the three coordinates (r, θ, φ), known as a 3-tuple, provide a coordinate system on a sphere, typically called the spherical polar coordinates. The plane passing through the origin and perpendicular to the polar axis (where the polar angle is a right angle) is called the reference plane (sometimes fundamental plane).

<span class="mw-page-title-main">2D computer graphics</span> Computer-based generation of digital images

2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models and by techniques specific to them. It may refer to the branch of computer science that comprises such techniques or to the models themselves.

Kinematics is a subfield of physics and mathematics, developed in classical mechanics, that describes the motion of points, bodies (objects), and systems of bodies without considering the forces that cause them to move. Kinematics, as a field of study, is often referred to as the "geometry of motion" and is occasionally seen as a branch of both applied and pure mathematics since it can be studied without considering the mass of a body or the forces acting upon it. A kinematics problem begins by describing the geometry of the system and declaring the initial conditions of any known values of position, velocity and/or acceleration of points within the system. Then, using arguments from geometry, the position, velocity and acceleration of any unknown parts of the system can be determined. The study of how forces act on bodies falls within kinetics, not kinematics. For further details, see analytical dynamics.

<span class="mw-page-title-main">Angular velocity</span> Direction and rate of rotation

In physics, angular velocity, also known as angular frequency vector, is a pseudovector representation of how the angular position or orientation of an object changes with time, i.e. how quickly an object rotates around an axis of rotation and how fast the axis itself changes direction.

<span class="mw-page-title-main">Ellipsoid</span> Quadric surface that looks like a deformed sphere

An ellipsoid is a surface that can be obtained from a sphere by deforming it by means of directional scalings, or more generally, of an affine transformation.

In mathematics, a unit vector in a normed vector space is a vector of length 1. A unit vector is often denoted by a lowercase letter with a circumflex, or "hat", as in .

In mechanics and geometry, the 3D rotation group, often denoted SO(3), is the group of all rotations about the origin of three-dimensional Euclidean space under the operation of composition.

Unit quaternions, known as versors, provide a convenient mathematical notation for representing spatial orientations and rotations of elements in three dimensional space. Specifically, they encode information about an axis-angle rotation about an arbitrary axis. Rotation and orientation quaternions have applications in computer graphics, computer vision, robotics, navigation, molecular dynamics, flight dynamics, orbital mechanics of satellites, and crystallographic texture analysis.

<span class="mw-page-title-main">Rotation (mathematics)</span> Motion of a certain space that preserves at least one point

Rotation in mathematics is a concept originating in geometry. Any rotation is a motion of a certain space that preserves at least one point. It can describe, for example, the motion of a rigid body around a fixed point. Rotation can have a sign (as in the sign of an angle): a clockwise rotation is a negative magnitude so a counterclockwise turn has a positive magnitude. A rotation is different from other types of motions: translations, which have no fixed points, and (hyperplane) reflections, each of them having an entire (n − 1)-dimensional flat of fixed points in a n-dimensional space.

An infinitesimal rotation matrix or differential rotation matrix is a matrix representing an infinitely small rotation.

In numerical linear algebra, a Givens rotation is a rotation in the plane spanned by two coordinates axes. Givens rotations are named after Wallace Givens, who introduced them to numerical analysts in the 1950s while he was working at Argonne National Laboratory.

In linear algebra, linear transformations can be represented by matrices. If is a linear transformation mapping to and is a column vector with entries, then for some matrix , called the transformation matrix of . Note that has rows and columns, whereas the transformation is from to . There are alternative expressions of transformation matrices involving row vectors that are preferred by some authors.

In linear algebra, a rotation matrix is a transformation matrix that is used to perform a rotation in Euclidean space. For example, using the convention below, the matrix

<span class="mw-page-title-main">Euler's rotation theorem</span> Movement with a fixed point is rotation

In geometry, Euler's rotation theorem states that, in three-dimensional space, any displacement of a rigid body such that a point on the rigid body remains fixed, is equivalent to a single rotation about some axis that runs through the fixed point. It also means that the composition of two rotations is also a rotation. Therefore the set of rotations has a group structure, known as a rotation group.

<span class="mw-page-title-main">Rotating reference frame</span> Concept in classical mechanics

A rotating frame of reference is a special case of a non-inertial reference frame that is rotating relative to an inertial reference frame. An everyday example of a rotating reference frame is the surface of the Earth.

Spatial rotations in three dimensions can be parametrized using both Euler angles and unit quaternions. This article explains how to convert between the two representations. Actually this simple use of "quaternions" was first presented by Euler some seventy years earlier than Hamilton to solve the problem of magic squares. For this reason the dynamics community commonly refers to quaternions in this application as "Euler parameters".

In geometry, various formalisms exist to express a rotation in three dimensions as a mathematical transformation. In physics, this concept is applied to classical mechanics where rotational kinematics is the science of quantitative description of a purely rotational motion. The orientation of an object at a given instant is described with the same tools, as it is defined as an imaginary rotation from a reference placement in space, rather than an actually observed rotation from a previous placement in space.

<span class="mw-page-title-main">Axis–angle representation</span> Parameterization of a rotation into a unit vector and angle

In mathematics, the axis–angle representation parameterizes a rotation in a three-dimensional Euclidean space by two quantities: a unit vector e indicating the direction of an axis of rotation, and an angle of rotation θ describing the magnitude and sense of the rotation about the axis. Only two numbers, not three, are needed to define the direction of a unit vector e rooted at the origin because the magnitude of e is constrained. For example, the elevation and azimuth angles of e suffice to locate it in any particular Cartesian coordinate frame.

<span class="mw-page-title-main">Wigner rotation</span>

In theoretical physics, the composition of two non-collinear Lorentz boosts results in a Lorentz transformation that is not a pure boost but is the composition of a boost and a rotation. This rotation is called Thomas rotation, Thomas–Wigner rotation or Wigner rotation. If a sequence of non-collinear boosts returns an object to its initial velocity, then the sequence of Wigner rotations can combine to produce a net rotation called the Thomas precession.

In physics and engineering, Davenport chained rotations are three chained intrinsic rotations about body-fixed specific axes. Euler rotations and Tait–Bryan rotations are particular cases of the Davenport general rotation decomposition. The angles of rotation are called Davenport angles because the general problem of decomposing a rotation in a sequence of three was studied first by Paul B. Davenport.

References

  1. Cheng, Hui; Gupta, K. C. (March 1989). "An Historical Note on Finite Rotations" (PDF). Journal of Applied Mechanics. 56 (1). American Society of Mechanical Engineers: 139–145. doi:10.1115/1.3176034 . Retrieved 2022-04-11.
  2. Fraiture, Luc (2009). "A History of the Description of the Three-Dimensional Finite Rotation". The Journal of the Astronautical Sciences. 57 (1–2). Springer: 207–232. doi:10.1007/BF03321502 . Retrieved 2022-04-15.
  3. Dai, Jian S. (October 2015). "Euler–Rodrigues formula variations, quaternion conjugation and intrinsic connections". Mechanism and Machine Theory. 92. Elsevier: 144–152. doi: 10.1016/j.mechmachtheory.2015.03.004 . Retrieved 2022-04-14.
  4. Belongie, Serge. "Rodrigues' Rotation Formula". mathworld.wolfram.com. Retrieved 2021-04-07.