<<

Quaternion basics. Wikipedia (en)

PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Tue, 22 Oct 2013 11:18:56 UTC Contents

Articles 1 and spatial 18 28 30 37 Exponential map 44 Rotation formalisms in three dimensions 49 Conversion between quaternions and Euler 60 63 Gimbal lock 76 References Article Sources and Contributors 82 Image Sources, Licenses and Contributors 83 Article Licenses License 84 Quaternion 1 Quaternion

Quaternion multiplication

× 1 i j k

1 1 i j k

i i −1 k −j

j j −k −1 i

k k j −i −1

In , the quaternions are a system that extends the complex . They were first described by Irish mathematician in 1843 and applied to mechanics in three-dimensional . A feature of quaternions is that the product of two quaternions is noncommutative. Hamilton defined a quaternion as the quotient of two directed lines in a three-dimensional space or equivalently as the quotient of two vectors. Quaternions can also be represented as the sum of a scalar and a vector. Quaternions find uses in both theoretical and , in particular for calculations involving three-dimensional rotations such as in three-dimensional computer graphics and computer vision. They can be used alongside other methods, such as Euler angles and rotation matrices, or as an alternative to them depending on the application. In modern mathematical language, quaternions form a four-dimensional associative normed over the real numbers, and thus also form a domain. In fact, the quaternions were the first noncommutative to be discovered. The algebra of quaternions is often denoted by H (for Hamilton), or in blackboard bold by (Unicode U+210D, ℍ). It can also be given by the Clifford algebra classifications Cℓ (R) ≅ Cℓ0 (R). The algebra 0,2 3,0 H holds a special place in analysis since, according to the Frobenius theorem, it is one of only two finite-dimensional division rings containing the real numbers as a proper subring, the other being the complex numbers. The quaternions can therefore be thought of as a choice of a structure on the 3-sphere S3 that gives the group (3), which is isomorphic to SU(2) and also to the universal cover of SO(3). Quaternion 2

Graphical representation of quaternion units product as 90°-rotation in 4D-space, ij = k, ji = −k, ij = −ji

History

Quaternion algebra was introduced by Hamilton in 1843.[1] Important precursors to this work included Euler's four-square identity (1748) and Olinde Rodrigues' parameterization of general rotations by four parameters (1840), but neither of these writers treated the four-parameter rotations as an algebra.[2] Carl Friedrich Gauss had also discovered quaternions in 1819, but this work was not published until 1900.[3]

Hamilton knew that the complex numbers could be interpreted as

points in a , and he was looking for a way to do the same for Quaternion plaque on Broom BridgeBrougham points in three-dimensional space. Points in space can be represented (Broom) Bridge, , which says: Here as he by their coordinates, which are triples of numbers, and for many years walked byon the 16th of October 1843Sir Hamilton had known how to add and subtract triples of numbers. William Rowan Hamiltonin a flash of genius discoveredthe fundamental formula forquaternion However, Hamilton had been stuck on the problem of multiplication multiplicationi2 = j2 = k2 = ijk = −1& cut it on a and division for a long time. He could not figure out how to calculate stone of this bridge the quotient of the coordinates of two points in space.

The great breakthrough in quaternions finally came on Monday 16 October 1843 in Dublin, when Hamilton was on his way to the Royal Irish Academy where he was going to preside at a council meeting. As he walked along the Quaternion 3

towpath of the with his wife, the concepts behind quaternions were taking shape in his mind. When the answer dawned on him, Hamilton could not resist the urge to carve the formula for the quaternions, i2 = j2 = k2 = ijk = −1, into the stone of Brougham Bridge as he paused on it. On the following day, Hamilton wrote a letter to his friend and fellow mathematician, John T. Graves, describing the train of thought that led to his discovery. This letter was later published in the London, , and Dublin Philosophical Magazine and Journal of Science, vol. xxv (1844), pp 489–95. On the letter, Hamilton states, And here there dawned on me the notion that we must admit, in some sense, a fourth dimension of space for the purpose of calculating with triples ... An electric circuit seemed to close, and a spark flashed forth. Hamilton called a quadruple with these rules of multiplication a quaternion, and he devoted most of the remainder of his life to studying and teaching them. Hamilton's treatment is more geometric than the modern approach, which emphasizes quaternions' algebraic properties. He founded a school of "quaternionists", and he tried to popularize quaternions in several books. The last and longest of his books, Elements of Quaternions, was 800 pages long; it was published shortly after his death. After Hamilton's death, his student continued promoting quaternions. At this time, quaternions were a mandatory examination topic in Dublin. Topics in physics and that would now be described using vectors, such as in space and Maxwell's , were described entirely in terms of quaternions. There was even a professional research association, the Quaternion Society, devoted to the study of quaternions and other systems. From the mid-1880s, quaternions began to be displaced by vector analysis, which had been developed by , , and Hermann von Helmholtz. Vector analysis described the same phenomena as quaternions, so it borrowed some ideas and terminology liberally from the literature of quaternions. However, vector analysis was conceptually simpler and notationally cleaner, and eventually quaternions were relegated to a minor role in mathematics and physics. A side-effect of this transition is that Hamilton's work is difficult to comprehend for many modern readers. Hamilton's original definitions are unfamiliar and his writing style was wordy and difficult to understand. However, quaternions have had a revival since the late 20th Century, primarily due to their utility in describing spatial rotations. The representations of rotations by quaternions are more compact and quicker to compute than the representations by matrices. In , unlike Euler angles they are not susceptible to gimbal lock. For this reason, quaternions are used in computer graphics,[4] computer vision, robotics, control theory, signal processing, , physics, bioinformatics, molecular , computer simulations, and orbital mechanics. For example, it is common for the attitude-control systems of spacecraft to be commanded in terms of quaternions. Quaternions have received another boost from number theory because of their relationships with the quadratic forms. Since 1989, the Department of Mathematics of the National University of , Maynooth has organized a pilgrimage, where scientists (including the physicists Murray Gell-Mann in 2002, Steven Weinberg in 2005, and the mathematician Andrew Wiles in 2003) take a walk from to the Royal Canal bridge. Hamilton's carving is no longer visible.

Historical impact on physics P.R. Girard’s essay The and modern physics[5] discusses some roles of quaternions in physics. It "shows how various physical covariance groups: SO(3), the , the group, the Clifford algebra SU(2), and the conformal group can be readily related to the quaternion group" in modern algebra. Girard began by discussing group representations and by representing some space groups of crystallography. He proceeded to kinematics of . Next he used complex quaternions () to represent the Lorentz group Quaternion 4

of , including the . He cited five authors, beginning with Ludwik Silberstein who use a potential function of one quaternion variable to express Maxwell's equations in a single differential . Concerning general relativity, he expressed the Runge–Lenz vector. He mentioned the Clifford biquaternions (split-biquaternions) as an instance of Clifford algebra. Finally, invoking the reciprocal of a , Girard described conformal maps on . Among the fifty references, Girard included and his Bulletin of the Quaternion Society. In 1999 he showed how Einstein's equations of general relativity could be formulated within a Clifford algebra that is directly linked to quaternions.[6] A more personal view of quaternions was written by Joachim Lambek in 1995. He wrote in his essay If Hamilton had prevailed: quaternions in physics: "My own interest as a graduate student was raised by the inspiring book by Silberstein". He concluded by stating "I firmly believe that quaternions can supply a shortcut for pure mathematicians who wish to familiarize themselves with certain aspects of theoretical physics."[7]

Definition As a set, the quaternions H are equal to R4, a four-dimensional vector space over the real numbers. H has three operations: addition, scalar multiplication, and quaternion multiplication. The sum of two elements of H is defined to be their sum as elements of R4. Similarly the product of an element of H by a is defined to be the same as the product by a scalar in R4. To define the product of two elements in H requires a choice of basis for R4. The elements of this basis are customarily denoted as 1, i, j, and k. Every element of H can be uniquely written as a linear combination of these basis elements, that is, as a1 + bi + cj + dk, where a, b, c, and d are real numbers. The basis element 1 will be the identity element of H, meaning that multiplication by 1 does nothing, and for this reason, elements of H are usually written a + bi + cj + dk, suppressing the basis element 1. Given this basis, associative quaternion multiplication is defined by first defining the products of basis elements and then defining all other products using the distributive law.

Multiplication of basis elements The equations , where i, j, and k are basis elements of H, determine all the possible products of i, j, and k. For example right-multiplying both sides of −1 = ijk by k gives

All the other possible products can be determined by similar methods, resulting in

which can be expressed as a table whose rows represent the left factor of the product and whose columns represent the right factor, as shown at the top of this article. Quaternion 5

Noncommutativity of multiplication

Noncommutativity of quaternion multiplication

× 1 i j k

1 1 i j k

i i −1 k −j

j j −k −1 i

k k j −i −1

Unlike multiplication of real or complex numbers, multiplication of quaternions is not commutative. For example, ij = k, while ji = −k. The noncommutativity of multiplication has some unexpected consequences, among them that polynomial equations over the quaternions can have more distinct solutions than the degree of the polynomial. The equation z2 + 1 = 0, for instance, has infinitely many quaternion solutions z = bi + cj + dk with b2 + c2 + d2= 1, so that these solutions lie on the two-dimensional surface of a sphere centered on zero in the three-dimensional subspace of quaternions with zero real part. This sphere intersects the at two points i and −i. The fact that quaternion multiplication is not commutative makes the quaternions an often-cited example of a strictly skew field.

Hamilton product For two elements a + b i + c j + d k and a + b i + c j + d k, their Hamilton product (a + b i + c j + d k)(a + b i 1 1 1 1 2 2 2 2 1 1 1 1 2 2 + c j + d k) is determined by the products of the basis elements and the distributive law. The distributive law makes 2 2 it possible to expand the product so that it is a sum of products of basis elements. This gives the following expression:

Now the basis elements can be multiplied using the rules given above to get:

Ordered list form Using the basis 1, i, j, k of H makes it possible to write H as a set of quadruples:

Then the basis elements are:

and the formulas for addition and multiplication are: Quaternion 6

Scalar and vector parts A number of the form a + 0i + 0j + 0k, where a is a real number, is called real, and a number of the form 0 + bi + cj + dk, where b, c, and d are real numbers, and at least one of b, c or d is nonzero, is called pure imaginary. If a + bi + cj + dk is any quaternion, then a is called its scalar part and bi + cj + dk is called its vector part. The scalar part of a quaternion is always real, and the vector part is always pure imaginary. Even though every quaternion is a vector in a four-dimensional vector space, it is common to define a vector to mean a pure imaginary quaternion. With this convention, a vector is the same as an element of the vector space R3. Hamilton called pure imaginary quaternions right quaternions and real numbers (considered as quaternions with zero vector part) scalar quaternions. If a quaternion is divided up into a scalar part and a vector part, i.e.

then the formulas for addition and multiplication are:

where "·" is the dot product and "×" is the .

Conjugation, the , and reciprocal Conjugation of quaternions is analogous to conjugation of complex numbers and to transposition (also known as reversal) of elements of Clifford . To define it, let q = a + bi + cj + dk be a quaternion. The conjugate of q is the quaternion a − bi − cj − dk. It is denoted by q*, q, qt, or . Conjugation is an involution, meaning that it is its own inverse, so conjugating an element twice returns the original element. The conjugate of a product of two quaternions is the product of the conjugates in the reverse order. That is, if p and q are quaternions, then (pq)* = q*p*, not p*q*. Unlike the situation in the complex plane, the conjugation of a quaternion can be expressed entirely with multiplication and addition:

Conjugation can be used to extract the scalar and vector parts of a quaternion. The scalar part of p is (p + p*)/2, and the vector part of p is (p − p*)/2. The square root of the product of a quaternion with its conjugate is called its norm and is denoted ||q|| (Hamilton called this quantity the tensor of q, but this conflicts with modern meaning of "tensor"). In formula, this is expressed as follows:

This is always a non-negative real number, and it is the same as the Euclidean norm on H considered as the vector space R4. Multiplying a quaternion by a real number scales its norm by the of the number. That is, if α is real, then Quaternion 7

This is a special case of the fact that the norm is multiplicative, meaning that

for any two quaternions p and q. Multiplicativity is a consequence of the formula for the conjugate of a product. Alternatively it follows from the identity

(where i denotes the usual imaginary unit) and hence from the multiplicative property of determinants of square matrices. This norm makes it possible to define the distance d(p, q) between p and q as the norm of their difference:

This makes H into a metric space. Addition and multiplication are continuous in the metric topology.Wikipedia:Please clarify

Unit quaternion A unit quaternion is a quaternion of norm one. Dividing a non-zero quaternion q by its norm produces a unit quaternion Uq called the versor of q:

Every quaternion has a q = ||q|| Uq. Using conjugation and the norm makes it possible to define the reciprocal of a quaternion. The product of a quaternion with its reciprocal should equal 1, and the considerations above imply that the product of q and q*/||q||2 (in either order) is 1. So the reciprocal of q is defined to be

This makes it possible to divide two quaternions p and q in two different ways. That is, their quotient can be either p −1 −1 q or q p. The notation p/q is ambiguous because it does not specify whether q divides on the left or the right.

Algebraic properties

The set H of all quaternions is a vector space over the real numbers with dimension 4. (In comparison, the real numbers have dimension 1, the complex numbers have dimension 2, and the have dimension 8.) The quaternions have a multiplication that is associative and that distributes over vector addition, but which is not commutative. Therefore the quaternions H are a non-commutative over the real numbers. Even though H contains copies of the complex numbers, it is not an associative algebra over the complex numbers.

Because it is possible to divide quaternions, they form a division algebra. This is a structure similar to a field except for the commutativity of multiplication. Finite-dimensional associative Cayley graph of Q . The red arrows represent division algebras over the real numbers are very rare. The Frobenius 8 theorem states that there are exactly three: R, C, and H. The norm multiplication on the right by i, and the green arrows represent multiplication on the right by j. Quaternion 8

makes the quaternions into a normed algebra, and normed division algebras over the reals are also very rare: Hurwitz's theorem says that there are only four: R, C, H, and O (the octonions). The quaternions are also an example of a and of a unital Banach algebra. Because the product of any two basis vectors is plus or minus another basis vector, the set {±1, ±i, ±j, ±k} forms a group under multiplication. This group is called the quaternion group and is denoted Q . The real group of Q is 8 8 a ring R[Q ] which is also an eight-dimensional vector space over R. It has one basis vector for each element of Q . 8 8 The quaternions are the of R[Q ] by the ideal generated by the elements 1 + (−1), i + (−i), j + (−j), and 8 k + (−k). Here the first term in each of the differences is one of the basis elements 1, i, j, and k, and the second term is one of basis elements −1, −i, −j, and −k, not the additive inverses of 1, i, j, and k.

Quaternions and the geometry of R3 Because the vector part of a quaternion is a vector in R3, the geometry of R3 is reflected in the algebraic structure of the quaternions. Many operations on vectors can be defined in terms of quaternions, and this makes it possible to apply quaternion techniques wherever spatial vectors arise. For instance, this is true in electrodynamics and 3D computer graphics. For the remainder of this section, i, j, and k will denote both imaginary basis vectors of H and a basis for R3. Notice that replacing i by −i, j by −j, and k by −k sends a vector to its , so the additive inverse of a vector is the same as its conjugate as a quaternion. For this reason, conjugation is sometimes called the spatial inverse. Choose two imaginary quaternions p = b i + c j + d k and q = b i + c j + d k. Their dot product is 1 1 1 2 2 2

This is equal to the scalar parts of p*q, qp*, pq*, and q*p. (Note that the vector parts of these four products are different.) It also has the formulas

The cross product of p and q relative to the determined by the ordered basis i, j, and k is

(Recall that the orientation is necessary to determine the .) This is equal to the vector part of the product pq (as quaternions), as well as the vector part of −q*p*. It also has the formula

In general, let p and q be quaternions (possibly non-imaginary), and write

where p and q are the scalar parts, and and are the vector parts of p and q. Then we have the formula s s

This shows that the noncommutativity of quaternion multiplication comes from the multiplication of pure imaginary quaternions. It also shows that two quaternions commute if and only if their vector parts are collinear. For further elaboration on modeling three-dimensional vectors using quaternions, see quaternions and spatial rotation. Quaternion 9

Matrix representations Just as complex numbers can be represented as matrices, so can quaternions. There are at least two ways of representing quaternions as matrices in such a way that quaternion addition and multiplication correspond to addition and . One is to use 2×2 complex matrices, and the other is to use 4×4 real matrices. In each case, the representation given is one of a family of linearly related representations. In the terminology of , these are injective homomorphisms from H to the matrix rings M(2, C) and M(4, R), respectively. Using 2×2 complex matrices, the quaternion a + bi + cj + dk can be represented as

This representation has the following properties: • Complex numbers (c = d = 0) correspond to diagonal matrices. • The norm of a quaternion (the square root of a product with its conjugate, as with complex numbers) is the square root of the determinant of the corresponding matrix.[8] • The conjugate of a quaternion corresponds to the conjugate transpose of the matrix. • Restricted to unit quaternions, this representation provides an isomorphism between S3 and SU(2). The latter group is important for describing spin in ; see . Using 4×4 real matrices, that same quaternion can be written as

In this representation, the conjugate of a quaternion corresponds to the transpose of the matrix. The fourth power of the norm of a quaternion is the determinant of the corresponding matrix. Complex numbers are block diagonal matrices with two 2×2 blocks.

Sums of four squares Quaternions are also used in one of the proofs of Lagrange's four-square theorem in number theory, which states that every nonnegative is the sum of four integer squares. As well as being an elegant theorem in its own right, Lagrange's four square theorem has useful applications in areas of mathematics outside number theory, such as combinatorial design theory. The quaternion-based proof uses Hurwitz quaternions, a subring of the ring of all quaternions for which there is an analog of the Euclidean .

Quaternions as pairs of complex numbers Quaternions can be represented as pairs of complex numbers. From this perspective, quaternions are the result of applying the Cayley–Dickson construction to the complex numbers. This is a generalization of the construction of the complex numbers as pairs of real numbers. Let C2 be a two-dimensional vector space over the complex numbers. Choose a basis consisting of two elements 1 and j. A vector in C2 can be written in terms of the basis elements 1 and j as

If we define j2 = −1 and ij = −ji, then we can multiply two vectors using the distributive law. Writing k in place of the product ij leads to the same rules for multiplication as the usual quaternions. Therefore the above vector of complex numbers corresponds to the quaternion a + bi + cj + dk. If we write the elements of C2 as ordered pairs and quaternions as quadruples, then the correspondence is Quaternion 10

Square roots of −1 In the complex numbers, there are just two numbers, i and −i, whose square is −1 . In H there are infinitely many square roots of minus one: the quaternion solution for the square root of −1 is the surface of the in 3-space. To see this, let q = a + bi + cj + dk be a quaternion, and assume that its square is −1. In terms of a, b, c, and d, this means

To satisfy the last three equations, either a = 0 or b, c, and d are all 0. The latter is impossible because a is a real number and the first equation would imply that a2 = −1. Therefore a = 0 and b2 + c2 + d2 = 1. In other words, a quaternion squares to −1 if and only if it is a vector (that is, pure imaginary) with norm 1. By definition, the set of all such vectors forms the unit sphere. Only negative real quaternions have an infinite number of square roots. All others have just two (or one in the case of 0). The identification of the square roots of minus one in H was given by Hamilton but was frequently omitted in other texts. By 1971 the sphere was included by Sam Perlis in his three page exposition included in Historical Topics in Algebra (page 39) published by the National Council of Teachers of Mathematics. More recently, the sphere of square roots of minus one is described in Ian R. Porteous's book Clifford Algebras and the Classical Groups (Cambridge, 1995) in proposition 8.13 on page 60. Also in Conway (2003) On Quaternions and Octonions we read on page 40: "any imaginary unit may be called i, and one j, and their product k", another statement of the sphere.

H as a union of complex planes Each pair of square roots of −1 creates a distinct copy of the complex numbers inside the quaternions. If q2 = −1, then the copy is determined by the function

In the language of abstract algebra, each is an injective ring homomorphism from C to H. The images of the embeddings corresponding to q and −q are identical. Every non-real quaternion lies in a subspace of H isomorphic to C. Write q as the sum of its scalar part and its vector part:

Decompose the vector part further as the product of its norm and its versor:

(Note that this is not the same as .) The versor of the vector part of q, , is a pure imaginary unit quaternion, so its square is −1. Therefore it determines a copy of the complex numbers by the function

Under this function, q is the image of the . Thus H is the union of complex planes intersecting in a common real line, where the union is taken over the sphere of square roots of minus one, bearing in mind that the same plane is associated with the antipodal points of the sphere. Quaternion 11

Commutative subrings The relationship of quaternions to each other within the complex subplanes of H can also be identified and expressed in terms of commutative subrings. Specifically, since two quaternions p and q commute (pq = qp) only if they lie in the same complex subplane of H, the profile of H as a union of complex planes arises when one seeks to find all commutative subrings of the quaternion ring. This method of commutative subrings is also used to profile the coquaternions and 2 × 2 real matrices.

Functions of a quaternion variable Like functions of a complex variable, functions of a quaternion variable suggest useful physical models. For example, the original electric and magnetic fields described by Maxwell were functions of a quaternion variable.

Exponential, logarithm, and power Given a quaternion, q = a + bi + cj + dk = a + v, the exponential is computed as

and

.[9]

It follows that the polar decomposition of a quaternion may be written

where the θ and the are defined by:

and

Any unit quaternion may be expressed in polar form as . The power of a quaternion raised to an arbitrary (real) exponent is given by:

Three-dimensional and four-dimensional rotation groups The term "conjugation", besides the meaning given above, can also mean taking an element a to rar−1 where r is some non-zero element (quaternion). All elements that are conjugate to a given element (in this sense of the word conjugate) have the same real part and the same norm of the vector part. (Thus the conjugate in the other sense is one of the conjugates in this sense.) Thus the multiplicative group of non-zero quaternions acts by conjugation on the copy of R3 consisting of quaternions with real part equal to zero. Conjugation by a unit quaternion (a quaternion of absolute value 1) with real part cos(θ) is a rotation by an angle 2θ, the axis of the rotation being the direction of the imaginary part. The advantages of quaternions are: 1. Nonsingular representation (compared with Euler angles for example). 2. More compact (and faster) than matrices. Quaternion 12

3. Pairs of unit quaternions represent a rotation in 4D space (see Rotations in 4-dimensional Euclidean space: Algebra of 4D rotations). The set of all unit quaternions () forms a 3-sphere S3 and a group (a ) under multiplication, double covering the group SO(3, R) of real orthogonal 3×3 matrices of determinant 1 since two unit quaternions correspond to every rotation under the above correspondence. The image of a of versors is a point group, and conversely, the preimage of a point group is a subgroup of versors. The preimage of a finite point group is called by the same name, with the prefix binary. For instance, the preimage of the icosahedral group is the binary icosahedral group. The versors' group is isomorphic to SU(2), the group of complex unitary 2×2 matrices of determinant 1. Let A be the set of quaternions of the form a + bi + cj + dk where a, b, c, and d are either all or all rational numbers with odd numerator and denominator 2. The set A is a ring (in fact a domain) and a lattice and is called the ring of Hurwitz quaternions. There are 24 unit quaternions in this ring, and they are the vertices of a 24-cell regular polytope with Schläfli symbol {3,4,3}.

Generalizations If F is any field with characteristic different from 2, and a and b are elements of F, one may define a four-dimensional unitary associative algebra over F with basis 1, i, j, and ij, where i2 = a, j2 = b and ij = −ji (so (ij)2 = −ab). These algebras are called quaternion algebras and are isomorphic to the algebra of 2×2 matrices over F or form division algebras over F, depending on the choice of a and b.

Quaternions as the even part of Cℓ (R) 3,0 The usefulness of quaternions for geometrical computations can be generalised to other dimensions, by identifying the quaternions as the even part Cℓ+ (R) of the Clifford algebra Cℓ (R). This is an associative multivector algebra 3,0 3,0 built up from fundamental basis elements σ , σ , σ using the product rules 1 2 3

If these fundamental basis elements are taken to represent vectors in 3D space, then it turns out that the reflection of a vector r in a plane perpendicular to a unit vector w can be written:

Two reflections make a rotation by an angle twice the angle between the two reflection planes, so

corresponds to a rotation of 180° in the plane containing σ and σ . This is very similar to the corresponding 1 2 quaternion formula,

In fact, the two are identical, if we make the identification

and it is straightforward to confirm that this preserves the Hamilton relations

In this picture, quaternions correspond not to vectors but to , quantities with and orientations associated with particular 2D planes rather than 1D directions. The relation to complex numbers becomes clearer, too: in 2D, with two vector directions σ and σ , there is only one basis element σ σ , so only one 1 2 1 2 imaginary. But in 3D, with three vector directions, there are three bivector basis elements σ σ , σ σ , σ σ , so three 1 2 2 3 3 1 imaginaries. Quaternion 13

This reasoning extends further. In the Clifford algebra Cℓ (R), there are six bivector basis elements, since with four 4,0 different basic vector directions, six different pairs and therefore six different linearly independent planes can be defined. Rotations in such using these generalisations of quaternions, called rotors, can be very useful for applications involving . But it is only in 3D that the number of basis bivectors equals the number of basis vectors, and each bivector can be identified as a pseudovector. Dorst et al. identify the following advantages for placing quaternions in this wider setting:[10] • Rotors are natural and non-mysterious in and easily understood as the encoding of a double reflection. • In geometric algebra, a rotor and the objects it acts on live in the same space. This eliminates the need to change representations and to encode new data structures and methods (which is required when augmenting linear algebra with quaternions). • A rotor is universally applicable to any element of the algebra, not just vectors and other quaternions, but also lines, planes, circles, spheres, rays, and so on. • In the conformal model of Euclidean geometry, rotors allow the encoding of rotation, translation and scaling in a single element of the algebra, universally acting on any element. In particular, this means that rotors can represent rotations around an arbitrary axis, whereas quaternions are limited to an axis through the origin. • Rotor-encoded transformations make interpolation particularly straightforward. For further detail about the geometrical uses of Clifford algebras, see Geometric algebra.

Brauer group The quaternions are "essentially" the only (non-trivial) central simple algebra (CSA) over the real numbers, in the sense that every CSA over the reals is Brauer equivalent to either the reals or the quaternions. Explicitly, the Brauer group of the reals consists of two classes, represented by the reals and the quaternions, where the Brauer group is the set of all CSAs, up to of one CSA being a matrix ring over another. By the Artin–Wedderburn theorem (specifically, Wedderburn's part), CSAs are all matrix algebras over a division algebra, and thus the quaternions are the only non-trivial division algebra over the reals. CSAs – rings over a field, which are simple algebras (have no non-trivial 2-sided ideals, just as with fields) whose center is exactly the field – are a noncommutative analog of extension fields, and are more restrictive than general ring extensions. The fact that the quaternions are the only non-trivial CSA over the reals (up to equivalence) may be compared with the fact that the complex numbers are the only non-trivial field extension of the reals.

Quotes • "I regard it as an inelegance, or imperfection, in quaternions, or rather in the state to which it has been hitherto unfolded, whenever it becomes or seems to become necessary to have recourse to x, y, z, etc." — William Rowan Hamilton (ed. Quoted in a letter from Tait to Cayley). • "Time is said to have only one dimension, and space to have three dimensions. […] The mathematical quaternion partakes of both these elements; in technical language it may be said to be "time plus space", or "space plus time": and in this sense it has, or at least involves a reference to, four dimensions. And how the One of Time, of Space the Three, Might in the Chain of Symbols girdled be." — William Rowan Hamilton (Quoted in R.P. Graves, "Life of Sir William Rowan Hamilton"). • "Quaternions came from Hamilton after his really good work had been done; and, though beautifully ingenious, have been an unmixed evil to those who have touched them in any way, including Clerk Maxwell." — Lord Kelvin, 1892. • "I came later to see that, as far as the vector analysis I required was concerned, the quaternion was not only not required, but was a positive evil of no inconsiderable magnitude; and that by its avoidance the establishment of Quaternion 14

vector analysis was made quite simple and its working also simplified, and that it could be conveniently harmonised with ordinary Cartesian work." Oliver Heaviside, Electromagnetic Theory, Volume I, pp. 134–135 (The Electrician Printing and Publishing Company, London, 1893). • "Neither matrices nor quaternions and ordinary vectors were banished from these ten [additional] chapters. For, in spite of the uncontested power of the modern Tensor Calculus, those older mathematical languages continue, in my opinion, to offer conspicuous advantages in the restricted field of special relativity. Moreover, in science as well as in every-day life, the mastery of more than one language is also precious, as it broadens our views, is conducive to criticism with regard to, and guards against hypostasy [weak-foundation] of, the matter expressed by words or mathematical symbols." — Ludwik Silberstein, preparing the second edition of his Theory of Relativity in 1924. • "… quaternions appear to exude an air of nineteenth century decay, as a rather unsuccessful species in the struggle-for-life of mathematical ideas. Mathematicians, admittedly, still keep a warm place in their hearts for the remarkable algebraic properties of quaternions but, alas, such enthusiasm means little to the harder-headed physical scientist." — Simon L. Altmann, 1986.

Notes [1] See Hazewinkel et. al. (2004), p. 12. [2] . They mention Wilhelm Blaschke's claim in 1959 that "the quaternions were first identified by L. Euler in a letter to Goldbach written on May 4, 1748," and they comment that "it makes no sense whatsoever to say that Euler "identified" the quaternions in this letter... this claim is absurd." [3] C. F. Gauss, "Mutationen des Raumes" [Transformations of space] (c. 1819) [edited by Prof. Stäckel of Kiel, ] in: Martin Brendel, ed., Carl Friedrich Gauss Werke [The works of Carl Friedrich Gauss] (Göttingen, Germany: Königlichen Gesellschaft der Wissenschaften

[Royal Society of Sciences], 1900), vol. 8, pages 357-361 (http:/ / books. google. com/ books?id=aecGAAAAYAAJ&

pg=PA357#v=onepage& q& f=false). [4] Presented at SIGGRAPH '85. Tomb Raider (1996) is often cited as the first mass-market computer game to have used quaternions to achieve smooth three-dimensional

rotations. See, for example, Nick Bobick's, " Rotating Objects Using Quaternions (http:/ / www. gamasutra. com/ view/ feature/ 3278/

rotating_objects_using_quaternions. php)", Game Developer magazine, July 1998 [5] Girard, P. R. The quaternion group and modern physics (1984) Eur. J. Phys. vol 5, p. 25–32.

[6] Einstein's equations and Clifford algebra (http:/ / clifford-algebras. org/ v9/ v92/ GIRAR92. pdf), Advances in Applied Clifford Algebras 9 No. 2, 225-230 (1999) [7] Lambek, J. If Hamilton had prevailed: quaternions in physics (1995) Math. Intelligencer, vol. 17, #4, p. 7—15.

[8] Wolframalpha.com (http:/ / www. wolframalpha. com/ input/ ?i=det+ )

[9] Lce.hut.fi (http:/ / www. lce. hut. fi/ ~ssarkka/ pub/ quat. pdf)

[10] Quaternions and Geometric Algebra (http:/ / www. geometricalgebra. net/ quaternions. html). Accessed 2008-09-12. See also: Leo Dorst,

Daniel Fontijne, Stephen Mann, (2007), Geometric Algebra For Computer Science (http:/ / www. geometricalgebra. net/ index. html), Morgan Kaufmann. ISBN 0-12-369465-5

External articles and resources

Books and publications

• Hamilton, William Rowan. On quaternions, or on a new system of imaginaries in algebra (http:/ / www. emis.

ams. org/ classics/ Hamilton/ OnQuat. pdf). Philosophical Magazine. Vol. 25, n 3. p. 489–495. 1844.

• Hamilton, William Rowan (1853), " Lectures on Quaternions (http:/ / historical. library. cornell. edu/ cgi-bin/ cul.

math/ docviewer?did=05230001& seq=9)". Royal Irish Academy.

• Hamilton (1866) Elements of Quaternions (http:/ / books. google. com/ books?id=fIRAAAAAIAAJ) University of Dublin Press. Edited by William Edwin Hamilton, son of the deceased author. • Hamilton (1899) Elements of Quaternions volume I, (1901) volume II. Edited by Charles Jasper Joly; published by Longmans, Green & Co.. • Tait, Peter Guthrie (1873), "An elementary treatise on quaternions". 2d ed., Cambridge, [Eng.] : The University Press. Quaternion 15

• Michiel Hazewinkel, Nadiya Gubareni, Nadezhda Mikhaĭlovna Gubareni, Vladimir V. Kirichenko. Algebras, rings and modules. Volume 1. 2004. Springer, 2004. ISBN 1-4020-2690-0 • Maxwell, James Clerk (1873), "A Treatise on Electricity and Magnetism". Clarendon Press, Oxford.

• Tait, Peter Guthrie (1886), " Quaternion (http:/ / www. ugcs. caltech. edu/ ~presto/ papers/

Quaternions-Britannica. ps. bz2)". M.A. Sec. R.S.E. Encyclopaedia Britannica, Ninth Edition, 1886, Vol. XX, pp. 160–164. (bzipped PostScript file) • Joly, Charles Jasper (1905), "A manual of quaternions". London, Macmillan and co., limited; New York, The Macmillan company. LCCN 05036137 //r84 • Macfarlane, Alexander (1906), "Vector analysis and quaternions", 4th ed. 1st thousand. New York, J. & Sons; [etc., etc.]. LCCN es 16000048

• 1911 encyclopedia: " Quaternions (http:/ / www. 1911encyclopedia. org/ Quaternions)". • Finkelstein, David, Josef M. Jauch, Samuel Schiminovich, and David Speiser (1962), "Foundations of quaternion quantum mechanics". J. Mathematical Phys. 3, pp. 207–220, MathSciNet. • Du Val, Patrick (1964), ", quaternions, and rotations". Oxford, Clarendon Press (Oxford mathematical monographs). LCCN 64056979 //r81 • Crowe, Michael J. (1967), A History of Vector Analysis: The Evolution of the Idea of a Vectorial System, University of Notre Dame Press. Surveys the major and minor vector systems of the 19th century (Hamilton, Möbius, Bellavitis, Clifford, Grassmann, Tait, Peirce, Maxwell, Macfarlane, MacAuley, Gibbs, Heaviside). • Altmann, Simon L. (1986), "Rotations, quaternions, and double groups". Oxford [Oxfordshire] : Clarendon Press ; New York : . LCCN 85013615 ISBN 0-19-855372-2 • Altmann, Simon L. (1989), "Hamilton, Rodrigues, and the Quaternion Scandal". Mathematics Magazine. Vol. 62, No. 5. p. 291–308, December 1989. • Adler, Stephen L. (1995), "Quaternionic quantum mechanics and quantum fields". New York : Oxford University Press. International series of monographs on physics (Oxford, England) 88. LCCN 94006306 ISBN 0-19-506643-X

• Trifonov, Vladimir (http:/ / members. cox. net/ vtrifonov/ ) (1995), "A Linear Solution of the Four-Dimensionality

Problem", Europhysics Letters, 32 (8) 621–626, doi: 10.1209/0295-5075/32/8/001 (http:/ / dx. doi. org/ 10. 1209/

0295-5075/ 32/ 8/ 001) • Ward, J. P. (1997), "Quaternions and Cayley Numbers: Algebra and Applications", Kluwer Academic Publishers. ISBN 0-7923-4513-4 • Kantor, I. L. and Solodnikov, A. S. (1989), "Hypercomplex numbers, an elementary introduction to algebras", Springer-Verlag, New York, ISBN 0-387-96980-2 • Gürlebeck, Klaus and Sprössig, Wolfgang (1997), "Quaternionic and Clifford calculus for physicists and engineers". Chichester ; New York : Wiley (Mathematical methods in practice; v. 1). LCCN 98169958 ISBN 0-471-96200-7 • Kuipers, Jack (2002), "Quaternions and Rotation Sequences: A Primer With Applications to Orbits, Aerospace, and Virtual Reality" (reprint edition), Princeton University Press. ISBN 0-691-10298-8 • Conway, John Horton, and Smith, Derek A. (2003), "On Quaternions and Octonions: Their Geometry,

Arithmetic, and ", A. K. Peters, Ltd. ISBN 1-56881-134-9 ( review (http:/ / nugae. wordpress. com/

2007/ 04/ 25/ on-quaternions-and-octonions/ )). • Kravchenko, Vladislav (2003), "Applied ", Heldermann Verlag ISBN 3-88538-228-8.

• Hanson, Andrew J. (http:/ / www. cs. indiana. edu/ ~hanson/ quatvis/ ) (2006), "Visualizing Quaternions", Elsevier: Morgan Kaufmann; San Francisco. ISBN 0-12-088400-3

• Trifonov, Vladimir (http:/ / members. cox. net/ vtrifonov/ ) (2007), "Natural Geometry of Nonzero Quaternions",

International Journal of Theoretical Physics, 46 (2) 251–257, doi: 10.1007/s10773-006-9234-9 (http:/ / dx. doi.

org/ 10. 1007/ s10773-006-9234-9) Quaternion 16

• Ernst Binz & Sonja Pods (2008) Geometry of Heisenberg Groups American Mathematical Society, Chapter 1: "The Skew Field of Quaternions" (23 pages) ISBN 978-0-8218-4495-3. • Vince, John A. (2008), Geometric Algebra for Computer Graphics, Springer, ISBN 978-1-84628-996-5. • For molecules that can be regarded as classical rigid bodies molecular dynamics computer simulation employs quaternions. They were first introduced for this purpose by D.J. Evans, (1977), "On the Representation of Orientation Space", Mol. Phys., vol 34, p 317. • Zhang, Fuzhen (1997), "Quaternions and Matrices of Quaternions", Linear Algebra and its Applications, Vol. 251, pp. 21–57.

Links and monographs

• Hazewinkel, Michiel, ed. (2001), "Quaternion" (http:/ / www. encyclopediaofmath. org/ index. php?title=p/ q076770), Encyclopedia of Mathematics, Springer, ISBN 978-1-55608-010-4

• Matrix and Quaternion FAQ v1.21 (http:/ / www. j3d. org/ matrix_faq/ matrfaq_latest. html) Frequently Asked Questions

• "Geometric Tools documentation" ( frame (http:/ / www. geometrictools. com/ Documentation/ Documentation.

html); body (http:/ / www. geometrictools. com/ Documentation/ DocumentationBody. html)) includes several papers focusing on computer graphics applications of quaternions. Covers useful techniques such as spherical linear interpolation.

• Patrick-Gilles Maillot (https:/ / sites. google. com/ site/ patrickmaillot/ english) Provides free Fortran and C source code for manipulating quaternions and rotations / position in space. Also includes mathematical background on quaternions.

• "Geometric Tools source code" ( frame (http:/ / www. geometrictools. com/ LibFoundation/ Mathematics/

Mathematics. html); body (http:/ / www. geometrictools. com/ LibFoundation/ Mathematics/ MathematicsBody. html)) includes free C++ source code for a complete quaternion class suitable for computer graphics work, under a very liberal license.

• Doug Sweetser, Doing Physics with Quaternions (http:/ / world. std. com/ ~sweetser/ quaternions/ qindex/ qindex. html)

• Quaternions for Computer Graphics and Mechanics (Gernot Hoffman) (http:/ / www. fho-emden. de/ ~hoffmann/

quater12012002. pdf)

• The Physical Heritage of Sir W. R. Hamilton (http:/ / arxiv. org/ pdf/ math-ph/ 0201058) (PDF)

• D. R. Wilkins, Hamilton’s Research on Quaternions (http:/ / www. maths. tcd. ie/ pub/ HistMath/ People/

Hamilton/ Quaternions. html)

• Quaternion Julia Fractals (http:/ / www. unpronounceable. com/ julia/ ) 3D Raytraced Quaternion Julia Fractals by David J. Grossman

• Quaternion Math and Conversions (http:/ / www. euclideanspace. com/ maths/ algebra/ realNormedAlgebra/

quaternions/ index. htm) Great page explaining basic math with links to straight forward rotation conversion formulae.

• John H. Mathews, Bibliography for Quaternions (http:/ / math. fullerton. edu/ mathews/ c2003/ QuaternionBib/

Links/ QuaternionBib_lnk_3. html).

• Quaternion powers on GameDev.net (http:/ / www. gamedev. net/ reference/ articles/ article1095. asp)

• Andrew Hanson, Visualizing Quaternions home page (http:/ / books. elsevier. com/ companions/ 0120884003/ vq/

index. html).

• Representing Attitude with Euler Angles and Quaternions: A Reference (http:/ / ai. stanford. edu/ ~diebel/

attitude. html), Technical report and Matlab toolbox summarizing all common attitude representations, with detailed equations and discussion on features of various methods.Wikipedia:Link rot • Charles F. F. Karney, Quaternions in molecular modeling, J. Mol. Graph. Mod. 25(5), 595–604 (January 2007);

doi: 10.1016/j.jmgm.2006.04.002 (http:/ / dx. doi. org/ 10. 1016/ j. jmgm. 2006. 04. 002); E-print arxiv:0506177 Quaternion 17

(http:/ / arxiv. org/ abs/ physics/ 0506177). • Johan E. Mebius, A matrix-based proof of the quaternion representation theorem for four-dimensional rotations.

(http:/ / arxiv. org/ abs/ math/ 0501249), arXiv General Mathematics 2005. • Johan E. Mebius, Derivation of the Euler-Rodrigues formula for three-dimensional rotations from the general

formula for four-dimensional rotations. (http:/ / arxiv. org/ abs/ math/ 0701759), arXiv General Mathematics 2007.

• NUI Maynooth Department of Mathematics, Hamilton Walk (http:/ / www. maths. nuim. ie/ links/ hamilton. shtml).

• OpenGL:Tutorials:Using Quaternions to represent rotation (http:/ / gpwiki. org/ index. php/ OpenGL:Tutorials:Using_Quaternions_to_represent_rotation) • David Erickson, Defence Research and Development (DRDC), Complete derivation of

from unitary quaternion representation in DRDC TR 2005-228 paper. Drdc-rddc.gc.ca (http:/ / aiss. suffield.

drdc-rddc. gc. ca/ uploads/ quaternion. pdf) • Alberto Martinez, University of Texas Department of History, "Negative Math, How Mathematical Rules Can Be

Positively Bent", Utexas.edu (https:/ / webspace. utexas. edu/ aam829/ 1/ m/ NegativeMath. html)

• D. Stahlke, Quaternions in Classical Mechanics Stahlke.org (http:/ / www. stahlke. org/ dan/ phys-papers/

quaternion-paper. pdf) (PDF)

• Morier-Genoud, Sophie, and Valentin Ovsienko. "Well, Papa, can you multiply triplets?", arxiv.org (http:/ / arxiv.

org/ abs/ 0810. 5562) describes how the quaternions can be made into a skew-commutative algebra graded by Z/2 × Z/2 × Z/2.

• Curious Quaternions (http:/ / plus. maths. org/ content/ os/ issue32/ features/ baez/ index) by Helen Joyce hosted by John Baez.

• Luis Ibanez "Tutorial on Quaternions" Part I (http:/ / www. itk. org/ CourseWare/ Training/ QuaternionsI. pdf)

Part II (http:/ / www. itk. org/ CourseWare/ Training/ QuaternionsII. pdf) (PDF) • R. Ghiloni, V. Moretti, A. Perotti (2013) " Continuous slice functional calculus in quaternionic Hilbert spaces,

(http:/ / arxiv. org/ pdf/ 1207. 0666. pdf)" Rev.Math.Phys. 25 1350006. An expository paper about continuous functional calculus in quanternionic Hilbert spaces useful in rigorous quaternionic quantum mechanics. Quaternions and spatial rotation 18 Quaternions and spatial rotation

Unit quaternions, also known as versors, provide a convenient mathematical notation for representing orientations and rotations of objects in three dimensions. Compared to Euler angles they are simpler to compose and avoid the problem of gimbal lock. Compared to rotation matrices they are more numerically stable and may be more efficient. Quaternions have found their way into applications in computer graphics, computer vision, robotics, navigation, molecular dynamics, flight dynamics,[1] and orbital mechanics of satellites.[2] When used to represent rotation, unit quaternions are also called rotation quaternions. When used to represent an orientation (rotation relative to a reference position), they are called orientation quaternions or attitude quaternions.

Using quaternion rotations According to Euler's rotation theorem, any rotation or sequence of rotations of a rigid body or about a fixed point is equivalent to a single rotation by a given angle θ about a fixed axis (called Euler axis) that runs through the fixed point. The Euler axis is typically represented by a unit vector u→. Therefore, any rotation in three dimensions can be represented as a combination of a vector u→ and a scalar θ. Quaternions give a simple way to encode this axis–angle representation in four numbers, and to apply the corresponding rotation to a position vector representing a point relative to the origin in R3. A such as (2, 3, 4) or (a , a , a ) can be rewritten as 2 i + 3 j + 4 k or a i + a j + a k, where i, j, k x y z x y z are unit vectors representing the three Cartesian axes. A rotation with an angle of rotation of θ around the axis defined by a unit vector

is represented by a quaternion using an extension of Euler's formula:

The rotation is clockwise if our line of sight points in the same direction as u→. The halves enable the encoding of both clockwise and counter-clockwise rotations. It can be shown that this rotation can be applied to an ordinary vector in 3-dimensional space, considered as a quaternion with a real coordinate equal to zero, by evaluating the conjugation of p by q:

using the Hamilton product, where p′ = (p ′, p ′, p ′) is the new position vector of the point after the rotation. x y z In this instance, q is a unit quaternion and

It follows that conjugation by the product of two quaternions is the composition of conjugations by these quaternions. If p and q are unit quaternions, then rotation (conjugation) by pq is , which is the same as rotating (conjugating) by q and then by p. The scalar component of the result is necessarily zero. The quaternion inverse of a rotation is the opposite rotation, since . The square of a quaternion rotation is a rotation by twice the angle around the same axis. More generally qn is a rotation by n times the angle around the same axis as q. This can be extended to arbitrary real n, allowing for smooth interpolation between spatial orientations; see Slerp. Quaternions and spatial rotation 19

Two rotation quaternions can be combined into one equivalent quaternion by the relation:

in which q′ corresponds to the rotation q followed by the rotation q . (Note that quaternion multiplication is not 1 2 commutative.) Thus, an arbitrary number of rotations can be composed together and then applied as a single rotation.

Example

The conjugation

Conjugating p by q refers to the operation p ↦ qpq−1. Consider the rotation f around the axis , with a rotation angle of 120°, or 2π/3 radians.

The length of v→ is √3, the half angle is π/3 (60°) with cosine 1/2, (cos 60° = 0.5) and sine √3/2, (sin 60° ≈ 0.866). We are therefore dealing with a conjugation by the unit quaternion

A rotation of 120° around the first diagonal permutes i, j, and k cyclically.

If f is the rotation function,

It can be proved that the inverse of a unit quaternion is obtained simply by changing the sign of its imaginary components. As a consequence,

and

This can be simplified, using the ordinary rules for quaternion arithmetic, to

As expected, the rotation corresponds to keeping a cube held fixed at one point, and rotating it 120° about the long diagonal through the fixed point (observe how the three axes are permuted cyclically). Quaternions and spatial rotation 20

Quaternion arithmetic in practice Let's show how we reached the previous result. Let's develop the expression of f (in two stages), and apply the rules

It gives us:

which is the expected result. As we can see, such computations are relatively long and tedious if done manually; however, in a computer program, this amounts to calling the quaternion multiplication routine twice.

Quaternion-derived rotation matrix A quaternion rotation can be algebraically manipulated into a quaternion-derived rotation matrix. By simplifying the quaternion multiplications , they can be rewritten as a rotation matrix given an axis–angle representation:

where s and c is shorthand for sin θ and cos θ respectively. Although care should be taken (due to degeneracy as the quaternion approaches the identity quaternion or the sine of the angle approaches zero) the axis and angle can be extracted via:

Note that the θ equality holds only when the square root of the sum of the squared imaginary terms takes the same sign as q . r As with other schemes to apply rotations, the centre of rotation must be translated to the origin before the rotation is applied and translated back to its original position afterwards. Quaternions and spatial rotation 21

Explanation

Quaternions briefly The complex numbers can be defined by introducing an abstract symbol i which satisfies the usual rules of algebra and additionally the rule i2 = −1. This is sufficient to reproduce all of the rules of complex number arithmetic: for example: . In the same way the quaternions can be defined by introducing abstract symbols i, j, k which satisfy the rules i2 = j2 = k2 = i j k = −1 and the usual algebraic rules except the commutative law of multiplication (a familiar example of such a noncommutative multiplication is matrix multiplication). From this all of the rules of quaternion arithmetic follow: for example, one can show that:

. The imaginary part of a quaternion behaves like a vector in three dimension vector space, and the real part a behaves like a scalar in R. When quaternions are used in geometry, it is more convenient to define them as a scalar plus a vector: . Those who have studied vectors at school might find it strange to add a number to a vector, as they are objects of very different natures, or to multiply two vectors together, as this operation is usually undefined. However, if one remembers that it is a mere notation for the real and imaginary parts of a quaternion, it becomes more legitimate. In other words, the correct reasoning is the addition of two quaternions, one with zero vector/imaginary part, and another one with zero scalar/real part:

. We can express quaternion multiplication in the modern language of vector cross and dot products (which were actually inspired by the quaternions in the first place [citation needed]). In place of the rules i2 = j2 = k2 = ijk = −1 we have the quaternion multiplication rule:

where: • is the resulting quaternion, • is vector cross product (a vector), • is vector scalar product (a scalar). Quaternion multiplication is noncommutative (because of the cross product, which anti-commutes), while scalar-scalar and scalar-vector multiplications commute. From these rules it follows immediately that (see details): . The (left and right) multiplicative inverse or reciprocal of a nonzero quaternion is given by the conjugate-to-norm ratio (see details):

,

as can be verified by direct calculation. Quaternions and spatial rotation 22

Proof of the quaternion rotation identity

Let be a unit vector (the rotation axis) and let . Our goal is to show that

yields the vector rotated by an angle around the axis . Expanding out, we have

where and are the components of v→ perpendicular and parallel to u→ respectively. This is the formula of a

rotation by α around the u→ axis.

Quaternion rotation operations A very formal explanation of the properties used in this section is given by Altman.[3]

The hypersphere of rotations

Visualizing the space of rotations Unit quaternions represent the group of Euclidean rotations in three dimensions in a very straightforward way. The correspondence between rotations and quaternions can be understood by first visualizing the space of rotations itself. In order to visualize the space of rotations, it helps to consider a simpler case. Any rotation in three dimensions can be described by a rotation by some angle about some axis; for our purposes, we will use an axis vector to establish handedness for our angle. Consider the special case in which the axis of rotation lies in the xy plane. We can then specify the axis of one of these rotations by a point on a circle through which the vector crosses, and we can select the radius of the circle to denote the angle of rotation. Similarly, a rotation whose axis of rotation lies in the xy plane can be described as a point on a sphere of fixed radius in three dimensions. Beginning at the north pole of a sphere in three dimensional space, we specify the point at the north pole to be the identity rotation (a zero angle rotation). Just as in the case of the identity rotation, no Two rotations by different angles and different axes in the space of rotations. The length of the vector is related to the magnitude of the axis of rotation is defined, and the angle of rotation rotation. (zero) is irrelevant. A rotation having a very small rotation angle can be specified by a slice through the sphere parallel to the xy plane and very near the north pole. The circle defined by this slice will be very small, corresponding to the small angle of the rotation. As the rotation angles become larger, the slice moves in the negative

z direction, and the circles become larger until the equator of the sphere is reached, which will correspond to a rotation angle of 180 degrees. Continuing southward, the radii of the circles now become smaller (corresponding to Quaternions and spatial rotation 23

the absolute value of the angle of the rotation considered as a negative number). Finally, as the south pole is reached, the circles shrink once more to the identity rotation, which is also specified as the point at the south pole. Notice that a number of characteristics of such rotations and their representations can be seen by this visualization. The space of rotations is continuous, each rotation has a neighborhood of rotations which are nearly the same, and this neighborhood becomes flat as the neighborhood shrinks. Also, each rotation is actually represented by two antipodal points on the sphere, which are at opposite ends of a line through the center of the sphere. This reflects the fact that each rotation can be represented as a rotation about some axis, or, equivalently, as a negative rotation about an axis pointing in the opposite direction (a so-called double cover). The "latitude" of a circle representing a particular rotation angle will be half of the angle represented by that rotation, since as the point is moved from the north to south pole, the latitude ranges from zero to 180 degrees, while the angle of rotation ranges from 0 to 360 degrees. (the "longitude" of a point then represents a particular axis of rotation.) Note however that this set of rotations is not closed under composition. Two successive rotations with axes in the xy plane will not necessarily give a rotation whose axis lies in the xy plane, and thus cannot be represented as a point on the sphere. This will not be the case with a general rotation in 3-space, in which rotations do form a closed set under composition. This visualization can be extended to a general rotation in 3-dimensional space. The identity rotation is a point, and a small angle of rotation about some axis can be represented as a point on a sphere with a small radius. As the angle of rotation grows, the sphere grows, until the angle of rotation reaches 180 degrees, at which point the sphere begins to shrink, becoming a point as the angle approaches 360 degrees (or zero degrees from the negative direction). This set of expanding and contracting spheres represents a hypersphere in four dimensional space (a 3-sphere). Just as in the simpler example above, each rotation represented as a point on the hypersphere is matched by its antipodal point on that hypersphere. The "latitude" on the hypersphere will be half of the corresponding angle of rotation, and the neighborhood of any point will become "flatter" (i.e. be represented by a 3-D Euclidean space of points)

as the neighborhood shrinks. This behavior is matched The sphere of rotations for the rotations that have a "horizontal" axis by the set of unit quaternions: A general quaternion (in the xy plane). represents a point in a four dimensional space, but constraining it to have unit magnitude yields a three dimensional space equivalent to the surface of a hypersphere. The magnitude of the unit quaternion will be unity, corresponding to a hypersphere of unit radius. The vector part of a unit quaternion represents the radius of the 2-sphere corresponding to the axis of rotation, and its magnitude is the cosine of half the angle of rotation. Each rotation is represented by two unit quaternions of opposite sign, and, as in the space of rotations in three dimensions, the quaternion product of two unit quaternions will yield a unit quaternion. Also, the space of unit quaternions is "flat" in any infinitesimal neighborhood of a given unit quaternion. Quaternions and spatial rotation 24

Parameterizing the space of rotations We can parameterize the surface of a sphere with two coordinates, such as latitude and longitude. But latitude and longitude are ill-behaved (degenerate) at the north and south poles, though the poles are not intrinsically different from any other points on the sphere. At the poles (latitudes +90° and −90°), the longitude becomes meaningless. It can be shown that no two-parameter coordinate system can avoid such degeneracy. We can avoid such problems by embedding the sphere in three-dimensional space and parameterizing it with three Cartesian coordinates (w, x, y), placing the north pole at (w, x, y) = (1, 0, 0), the south pole at (w, x, y) = (−1, 0, 0), and the equator at w = 0, x2 + y2 = 1. Points on the sphere satisfy the constraint w2 + x2 + y2 = 1, so we still have just two degrees of freedom though there are three coordinates. A point (w, x, y) on the sphere represents a rotation in the ordinary space around the horizontal axis directed by the vector (x, y, 0) by an angle .

In the same way the hyperspherical space of 3D rotations can be parameterized by three angles (Euler angles), but any such parameterization is degenerate at some points on the hypersphere, leading to the problem of gimbal lock. We can avoid this by using four Euclidean coordinates w, x, y, z, with w2 + x2 + y2 + z2 = 1. The point (w, x, y, z) represents a rotation around the axis directed by the vector (x, y, z) by an angle

Explaining quaternions' properties with rotations

Non-commutativity The multiplication of quaternions is non-commutative. Since the multiplication of unit quaternions corresponds to the composition of three dimensional rotations, this property can be made intuitive by showing that three dimensional rotations are not commutative in general. Set two books next to each other. Rotate one of them 90 degrees clockwise around the z axis, then flip it 180 degrees around the x axis. Take the other book, flip it 180 around x axis first, and 90 clockwise around z later. The two books do not end up parallel. This shows that, in general, the composition of two different rotations around two distinct spatial axes will not commute.

Non-oriented Quaternions, and quaternion multiplication in particular, do not confer an orientation ("handedness") to space. This may be contrasted with the vector cross product, which does: in a three-dimensional vector space, the three vectors in the equation a × b = c will always form a right-handed set (or a left-handed set, depending on how the cross product is defined), thus fixing an orientation in the vector space. Quaternion multiplication is symmetrical with respect to the two possible orientations of space, thus does not in itself allow one orientation in space to be chosen above the other. Quaternions and spatial rotation 25

Comparison with other representations of rotations

Advantages of quaternions The representation of a rotation as a quaternion (4 numbers) is more compact than the representation as an (9 numbers). Furthermore, for a given axis and angle, one can easily construct the corresponding quaternion, and conversely, for a given quaternion one can easily read off the axis and the angle. Both of these are much harder with matrices or Euler angles. In video games and other applications, one is often interested in “smooth rotations”, meaning that the scene should slowly rotate and not in a single step. This can be accomplished by choosing a such as the spherical linear interpolation in the quaternions, with one endpoint being the identity transformation 1 (or some other initial rotation) and the other being the intended final rotation. This is more problematic with other representations of rotations. When composing several rotations on a computer, rounding errors necessarily accumulate. A quaternion that’s slightly off still represents a rotation after being normalised: a matrix that’s slightly off may not be orthogonal anymore and is harder to convert back to a proper orthogonal matrix. Quaternions also avoid a phenomenon called gimbal lock which can result when, for example in pitch/yaw/roll rotational systems, the pitch is rotated 90° up or down, so that yaw and roll then correspond to the same motion, and a degree of freedom of rotation is lost. In a gimbal-based aerospace inertial navigation system, for instance, this could have disastrous results if the aircraft is in a steep dive or ascent.

Conversion to and from the matrix representation

From a quaternion to an orthogonal matrix The orthogonal matrix corresponding to a rotation by the unit quaternion z = a + b i + c j + d k (with | z | = 1) when post-multiplying with a column vector is given by

From an orthogonal matrix to a quaternion One must be careful when converting a rotation matrix to a quaternion, as several straightforward methods tend to be unstable when the trace (sum of the diagonal elements) of the rotation matrix is zero or very small. For a stable method of converting an orthogonal matrix to a quaternion, see Rotation matrix #Quaternion.

Fitting quaternions The above section described how to recover a quaternion q from a 3 × 3 rotation matrix Q. Suppose, however, that we have some matrix Q that is not a pure rotation—due to round-off errors, for example—and we wish to find the quaternion q that most accurately represents Q. In that case we construct a symmetric 4 × 4 matrix

and find the eigenvector (x, y, z, w) corresponding to the largest eigenvalue (that value will be 1 if and only if Q is a pure rotation). The quaternion so obtained will correspond to the rotation closest to the original matrix Q Wikipedia:Disputed statement Quaternions and spatial rotation 26

Performance comparisons This section discusses the performance implications of using quaternions versus other methods (axis/angle or rotation matrices) to perform rotations in 3D.

Results

Storage requirements

Method Storage

Rotation matrix 9

Quaternion 4

Angle/axis 3*

* Note: angle/axis can be stored as 3 elements by multiplying the unit rotation axis by half of the rotation angle, forming the logarithm of the quaternion, at the cost of additional calculations.

Performance comparison of rotation chaining operations

Method # multiplies # add/subtracts total operations

Rotation matrices 27 18 45

Quaternions 16 12 28

Performance comparison of vector rotating operations

Method # multiplies # add/subtracts # sin/cos total operations

Rotation matrix 9 6 0 15

Quaternions 15 15 0 30

Angle/axis 23 16 2 41

Used methods

There are three basic approaches to rotating a vector v→:

1. Compute the matrix product of a 3 × 3 rotation matrix R and the original 3 × 1 column matrix representing v→. This requires 3 × (3 multiplications + 2 ) = 9 multiplications and 6 additions, the most efficient method for rotating a vector. 2. A rotation can be represented by a unit-length quaternion q = (w, r→) with scalar (real) part w and vector (imaginary) part r→. The rotation can be applied to a 3D vector r→ via the formula . This requires only 15 multiplications and 15 additions to evaluate (or 18 muls and 12 adds if the factor of 2 is done via multiplication.) This yields the same result as the less efficient but more compact formula . 3. Use the angle/axis formula to convert an angle/axis to a rotation matrix R then multiplying with a vector. Converting the angle/axis to R using common subexpression elimination costs 14 multiplies, 2 function calls (sin, cos), and 10 add/subtracts; from item 1, rotating using R adds an additional 9 multiplications and 6 additions for a total of 23 multiplies, 16 add/subtracts, and 2 function calls (sin, cos). Quaternions and spatial rotation 27

Pairs of unit quaternions as rotations in 4D space

A pair of unit quaternions z and z can represent any rotation in 4D space. Given a four dimensional vector v→, and l r pretending that it is a quaternion, we can rotate the vector v→ like this:

It is straightforward to check that for each matrix: M MT = I, that is, that each matrix (and hence both matrices together) represents a rotation. Note that since , the two matrices must commute. Therefore, there are two commuting of the set of four dimensional rotations. Arbitrary four dimensional rotations have 6 degrees of freedom, each matrix represents 3 of those 6 degrees of freedom. Since an infinitesimal four-dimensional rotation can be represented by a pair of quaternions (as follows), all (non-infinitesimal) four-dimensional rotations can also be represented.

References [1] Amnon Katz (1996) Computational Rigid Vehicle Dynamics, Krieger Publishing Co. ISBN 978-1575240169 [2] J. B. Kuipers (1999) Quaternions and rotation Sequences: a Primer with Applications to Orbits, Aerospace, and Virtual Reality, Princeton University Press ISBN 978-0-691-10298-6 [3] Simon L. Altman (1986) Rotations, Quaternions, and Double Groups, Dover Publications (see especially Ch. 12). E. P. Battey-Pratt & T. J. Racey (1980) Geometric Model for Fundamental Particles International Journal of Theoretical Physics. Vol 19, No. 6

External links and resources

• Shoemake, Ken. Quaternions (http:/ / www. cs. caltech. edu/ courses/ cs171/ quatut. pdf)

• Simple Quaternion type and operations in over thirty computer languages (http:/ / rosettacode. org/ wiki/ Simple_Quaternion_type_and_operations) on Rosetta Code

• Hart, Francis, Kauffman. Quaternion demo (http:/ / graphics. stanford. edu/ courses/ cs348c-95-fall/ software/

quatdemo/ )

• Dam, Koch, Lillholm. Quaternions, Interpolation and Animation (http:/ / www. diku. dk/ publikationer/ tekniske.

rapporter/ 1998/ 98-5. ps. gz)

• Vicci, Leandra. Quaternions and Rotations in 3-Space: The Algebra and its Geometric Interpretation (http:/ /

www. cs. unc. edu/ techreports/ 01-014. pdf) • Howell, Thomas and Lafon, Jean-Claude. The Complexity of the Quaternion Product, TR75-245, Cornell

University, 1975 (http:/ / world. std. com/ ~sweetser/ quaternions/ ps/ cornellcstr75-245. pdf)

• Berthold K.P. Horn. Some Notes on Unit Quaternions and Rotation (http:/ / people. csail. mit. edu/ bkph/ articles/

Quaternions. pdf). Versor 28 Versor

In quaternion algebra, a versor or unit quaternion is a quaternion of norm one. Every versor is of the form

Such a versor may be viewed as a directed arc of a circle with radius 1, representing the path of a point which rotates by an angle a about an axis r. In case a = π/2, the versor is a right versor. Left multiplication qz of a quaternion z to a versor q is identical to the action of the special SU(2) on the 2-dimensional complex space; hence, quaternionic versors are the traditional term and presentation for elements of SU(2). When used to represent a 3-dimensional rotation, a versor will rotate any quaternion vector v through the angle a around the unit vector r through the sandwiching product qvq−1. The word is from Latin versus = "turned", from pp. of vertere = "to ", and was introduced by William Rowan Hamilton, in the context of his quaternion theory.

Presentation on the sphere

Hamilton denoted the versor of a quaternion q by the symbol Uq. He was then able to display the general quaternion in polar coordinate form q = Tq Uq, where Tq is the norm of q. The norm of a versor is always equal to one. Of particular importance are the right versors, which have angle π/2. These versors have zero scalar part, and so are vectors of length one (unit vectors). The right versors form a sphere of square roots of −1 in the quaternion algebra. The generators i, j, and k in the quaternion group are examples of right versors.

A sphere may be imagined to have two poles and an equator. If the arc AB + arc BC = arc AC sphere has radius 1, one of its poles can be represented by a unit vector with origin on its center O, and an arc of its equator with length a can be represented by the versor

The variable a can be viewed both as the length of an arc and a rotation angle. Namely, the above-mentioned arc can be viewed as the path of a point which rotates by a given angle about the center of the sphere O. Since the equator of the sphere is a great circle with radius 1, by definition the angle swept by that point, expressed in radians, is equal to the length of the arc along which the point moves. Multiplication of quaternions of norm one corresponds to the "addition" of great circle arcs on the sphere. (See figure on right.) Hamilton writes[1] and

imply

The algebra of versors has been exploited to exhibit the properties of elliptic space. Since versors correspond to elements of the 3-sphere in H, it is natural today to write Versor 29

for the versor composition, where is the pole of the product versor and b is its angle (as in the figure). When we view the spherical trigonometric solution for b and in the product of exponentials, then we have an instance of the general Campbell–Baker–Hausdorff formula in Lie . As the 3-sphere represented by versors in H is a 3-parameter Lie group, practice with versor compositions is good preparation for more abstract Lie group and theory. Indeed, as great circle arcs they compose as sums of vector arcs (Hamilton's term), but as quaternions they simply multiply. Thus the great-circle-arc model is similar to logarithm in that sums correspond to products. In , the pair (group, algebra) carries this logarithm-likeness to higher dimensions.

Hyperbolic versor A hyperbolic versor is a generalization of quaternionic versors to indefinite orthogonal groups, such as Lorentz group. It is defined as a quantity of the form where Such elements arise in algebras of mixed signature, for example split-complex numbers or split-quaternions. It was the algebra of tessarines discovered by James Cockle in 1848 that first provided hyperbolic versors. In fact, James Cockle wrote the above equation (with j in place of r) when he found that the tessarines included the new type of imaginary element. The primary exponent of hyperbolic versors was Alexander Macfarlane as he worked to shape quaternion theory to serve physical science.[2] He saw the modelling power of hyperbolic versors operating on the split-complex number plane, and in 1891 he introduced hyperbolic quaternions to extend the concept to 4-space. Problems in that algebra led to use of biquaternions after 1900. In a widely circulated review of 1899, Macfarlane said: …the root of a may be versor in or scalar in nature. If it is versor in nature, then the part affected by the radical involves the axis perpendicular to the plane of reference, and this is so, whether the radical involves the square root of minus one or not. In the former case the versor is circular, in the latter hyperbolic.[3] Today the concept of a one-parameter group subsumes the concepts of versor and hyperbolic versor as the terminology of has replaced that of Hamilton and Macfarlane. In particular, for each r such that rr = +1 or rr = −1, the mapping takes the real line to a group of hyperbolic or ordinary versors. In the ordinary case, when r and −r are antipodal points on a sphere, the one-parameter groups have the same points but are oppositely directed. In physics, this aspect of rotational symmetry is termed a doublet. In 1911 Alfred Robb published his Optical Geometry of Motion in which he identified the parameter which specifies a change in . This rapidity parameter corresponds to the real variable in a one-parameter group of hyperbolic versors. With the further development of special relativity the action of a hyperbolic versor came to be called a Lorentz boost.

References [1] Elements of Quaternions, 2nd edition, v. 1, p. 146 [2] Papers on Space Analysis (1894), papers 2, 3, and 5, see external link below. [3] Science, 9:326 (1899) • W.R. Hamilton (1899) Elements of Quaternions, 2nd edition, edited by Charles Jasper Joly, Longmans Green & Company. See pp. 135–147. • A.S. Hardy (1887) Elements of Quaternions, pp. 71,2 "Representation of Versors by spherical arcs" and pp. 112–8 "Applications to Spherical Trigonometry". • C.C. Silva & R.A. Martins (2002) "Polar and Axial Vectors versus Quaternions", American Journal of Physics 70:958. Section IV: Versors and unitary vectors in the system of quaternions. Section V: Versor and unitary vectors in vector algebra. Versor 30

• Pieter Molenbroeck (1891) Theorie der Quaternionen, Seite 48, "Darstellung der Versoren mittelst Bogen auf der Einheitskugel", Leiden: Brill.

External links

• http:/ / www. biology-online. org/ dictionary/ versor

• http:/ / www. thefreedictionary. com/ Versor

• A. Macfarlane (1894) Papers on Space Analysis (http:/ / www. archive. org/ details/ principlesalgeb01macfgoog), B. Westerman, New York, weblink from archive.org.

Dual quaternion

In mathematics and mechanics, the set of dual quaternions is a Clifford algebra that can be used to represent spatial rigid body displacements.[1] A dual quaternion is an ordered pair of quaternions  = (A, B) and therefore is constructed from eight real parameters. Because rigid body displacements are defined by six parameters, dual quaternion parameters include two algebraic constraints.

In ring theory, dual quaternions are a ring constructed in the same way as the quaternions, except using dual numbers instead of real numbers as coefficients. A dual quaternion can be represented in the form p + ε Plaque on Broom bridge (Dublin) q where p and q are ordinary quaternions and ε is the dual unit (εε = 0) commemorating Hamilton's invention of quaternions and commutes with every element of the algebra. Unlike quaternions they do not form a division ring.

Similar to the way that rotations in 3D space can be represented by quaternions of unit length, rigid motions in 3D space can be represented by dual quaternions of unit length. This fact is used in theoretical kinematics (see McCarthy), and in applications to 3D computer graphics, robotics and computer vision.[2]

History W. R. Hamilton introduced quaternions[3][4] in 1843 and by 1873 W. K. Clifford obtained a broad generalization of these numbers that he called biquaternions,[5][6] which is an example of what is now called a Clifford algebra.[] At the turn of the 20th century, Aleksandr Kotelnikov[7] and E. Study[8] developed dual vectors and dual quaternions for use in the study of mechanics. In 1891 realized that this associative algebra was ideal for describing the group of motions of three-dimensional space. He further developed the idea in Geometrie der Dynamen in 1901. B. L. van der Waerden called the structure "Study biquaternions", one of three eight-dimensional algebras referred to as biquaternions. Dual quaternion 31

Formulas In order to describe operations with dual quaternions, it is helpful to first consider quaternions.[9] A quaternion is a linear combinations of the basis elements 1, i, j, and k. Hamilton's product rule for i, j, and k is often written as

Compute i ( i j k ) = −j k = −i, to obtain j k = i, and ( i j k ) k = −i j = −k or i j = k. Now because j ( j k ) = j i = −k, we see that this product yields i j = −j i, which links quaternions to the properties of determinants. A convenient way to work with the quaternion product is to write a quaternion as the sum of a scalar and a vector, that is A = a + A, where a is a real number and A = A i + A j + A k is a three dimensional vector. The vector dot 0 0 1 2 3 and cross operations can now be used to define the quaternion product of A = a + A and C = c + C as 0 0

A dual quaternion is usually described as a quaternion with dual numbers as coefficients. A is an ordered pair â = ( a, b ). Two dual numbers add componentwise and multiply by the rule â ĉ = ( a, b ) ( c, d ) = (a c, a d + b c). Dual numbers are often written in the form â = a + εb, where ε is the dual unit that commutes with i, j, k and has the property ε2 = 0. The result is that a dual quaternion is the ordered pair of quaternions  = ( A, B ). Two dual quaternions add componentwise and multiply by the rule,

It is convenient to write a dual quaternion as the sum of a dual scalar and a dual vector, Â = â + A, where â = ( a, b 0 0 ) and A = ( A, B ) is the dual vector that defines a screw. This notation allows us to write the product of two dual quaternions as

Addition The addition of dual quaternions is defined componentwise so that given,

and

then

Multiplication Multiplication of two dual quaternion follows from the multiplication rules for the quaternion units i, j, k and commutative multiplication by the dual unit ε. In particular, given

and

then

Notice that there is no BD term, because the definition of dual numbers requires that ε2 = 0. This gives us the multiplication table (note the multiplication order is row times column): Dual quaternion 32

Multiplication table for dual quaternion units

× 1 i j k ε εi εj εk

1 1 i j k ε εi εj εk

i i −1 k −j εi −ε εk −εj

j j −k −1 i εj −εk −ε εi

k k j −i −1 εk εj −εi −ε

ε ε εi εj εk 0 0 0 0

εi εi −ε εk −εj 0 0 0 0

εj εj −εk −ε εi 0 0 0 0

εk εk εj −εi −ε 0 0 0 0

Conjugate The conjugate of a dual quaternion is the extension of the conjugate of a quaternion, that is

As for quaternions, the conjugate of the product of dual quaternions, Ĝ = ÂĈ, is the product of their conjugates in reverse order,

It is useful to introduce the functions Sc(∗) and Vec(∗) that select the scalar and vector parts of a quaternion, or the dual scalar and dual vector parts of a dual quaternion. In particular, if  = â + A, then 0

This allows the definition of the conjugate of  as

or,

The product of a dual quaternion with its conjugate yields

This is a dual scalar which is the magnitude squared of the dual quaternion.

Norm The norm of a dual quaternion |Â| is computed using the conjugate to compute |Â| = √( Â*). This is a dual number called the magnitude of the dual quaternion. Dual quaternions with |Â| = 1 are unit dual quaternions. Dual quaternions of magnitude 1 are used to represent spatial Euclidean displacements. Notice that the requirement that  Â* = 1, introduces two algebraic constraints on the components of Â, that is Dual quaternion 33

Inverse If p + ε q is a dual quaternion, and p is not zero, then the inverse dual quaternion is given by p−1 (1 − ε q p−1). Thus the elements of the subspace { ε q : q ∈ H } do not have inverses. This subspace is called an ideal in ring theory. It happens to be the unique maximal ideal of the ring of dual numbers. The group of units of the dual number ring then consists of numbers not in the ideal. The dual numbers form a local ring since there is a unique maximal ideal. The group of units is a Lie group and can be studied using the exponential mapping. Dual quaternions have been used to exhibit transformations in the . A typical element can be written as a screw transformation.

Dual quaternions and spatial displacements A benefit of the dual quaternion formulation of the composition of two spatial displacements D =([R ], b) and B B D =([R ],a) is that the resulting dual quaternion yields directly the and dual angle of the composite A A displacement D =D D . C B A In general, the dual quaternion associated with a spatial displacement D = ([A],d) is constructed from its screw axis S=(S, V) and the dual angle (φ, d) where φ is the rotation about and d the slide along this axis, which defines the displacement D. The associated dual quaternion is given by,

Let the composition of the displacement D with D be the displacement D =D D . The screw axis and dual angle B A C B A of D is obtained from the product of the dual quaternions of D and D , given by C A B

That is, the composite displacement D =D D has the associated dual quaternion given by C B A

Expand this product in order to obtain

Divide both sides of this equation by the identity

to obtain

This is Rodrigues formula for the screw axis of a composite displacement defined in terms of the screw axes of the two displacements. He derived this formula in 1840.[10] The three screw axes A, B, and C form a spatial triangle [11] and the dual angles at these vertices between the common normals that form the sides of this triangle are directly related to the dual angles of the three spatial displacements. Dual quaternion 34

Matrix form of dual quaternion multiplication The matrix representation of the quaternion product is convenient for programming quaternion computations using matrix algebra, which is true for dual quaternion operations as well. The quaternion product AC is a linear transformation by the operator A of the components of the quaternion C, therefore there is a matrix representation of A operating on the vector formed from the components of C. Assemble the components of the quaternion C=c +C into the array C=(C , C , C , c ). Notice that the components 0 1 2 3 0 of the vector part of the quaternion are listed first and the scalar is listed last. This is an arbitrary choice, but once this convention is selected we must abide by it. The quaternion product AC can now be represented as the matrix product

The product AC can also be viewed as an operation by C on the components of A, in which case we have

The dual quaternion product ÂĈ = (A, B)(C, D) = (AC, AD+BC) can be formulated as a matrix operation as follows. Assemble the components of Ĉ into the eight dimensional array Ĉ = (C , C , C , c , D , D , D , d ), then ÂĈ is 1 2 3 0 1 2 3 0 given by the 8x8 matrix product

As we saw for quaternions, the product ÂĈ can be viewed as the operation of Ĉ on the coordinate vector Â, which means ÂĈ can also be formulated as,

More on spatial displacements The dual quaternion of a displacement D=([A], d) can be constructed from the quaternion S=cos(φ/2) + sin(φ/2)S that defines the rotation [A] and the vector quaternion constructed from the translation vector d, given by D = d i + 1 d j + d k. Using this notation, the dual quaternion for the displacement D=([A], d) is given by 2 3

Let the Plücker coordinates of a line in the direction x through a point p in a moving body and its coordinates in the fixed frame which is in the direction X through the point P be given by,

Then the dual quaternion of the displacement of this body transforms Plücker coordinates in the moving frame to Plücker coordinates in the fixed frame by the formula

Using the matrix form of the dual quaternion product this becomes,

This calculation is easily managed using matrix operations. Dual quaternion 35

Dual quaternions and 4×4 homogeneous transforms It might be helpful, especially in rigid body motion, to represent dual quaternions as homogeneous matrices. As given above a dual quaternion can be written as: where r and d are both quaternions. The r quaternion is known as the real or rotational part and the quaternion is known as the dual or displacement part. A 3 dimensional position vector,

can be transformed by constructing the dual-quaternion representation,

then a transformation by is given by . The rotation part can be given by

where is the angle of rotation about axis . The rotation part can be expressed as a 3×3 orthogonal matrix by

The displacement can be written as

.

Translation and rotation combined in one transformation matrix is:

Where the left upper 3×3 matrix is the rotation matrix we just calculated.

Eponyms Since both Eduard Study and used, and wrote upon, the dual quaternions, at times authors refer to dual biquaternions as “Study biquaternions” or “Clifford biquaternions”. The latter eponym has also been used to refer to split-biquaternions. Read the article by Joe Rooney linked below for view of a supporter of W.K. Clifford’s claim. Since the claims of Clifford and Study are in contention, it is convenient to use the current designation dual quaternion to avoid conflict. Dual quaternion 36

Opensource Software dualQuaternion [12] A lightweight C++ library that supports logarithms and exponential maps for dual quaternions.

References [1] A.T. Yang, Application of Quaternion Algebra and Dual Numbers to the Analysis of Spatial Mechanisms, Ph.D thesis, Columbia University, 1963. [2] A. Torsello, E. Rodolà and A. Albarelli, Multiview Registration via Graph Diffusion of Dual Quaternions, Proc. of the XXIV IEEE

Conference on Computer Vision and Pattern Recognition, pp. 2441-2448, June 2011. (http:/ / www. dsi. unive. it/ ~rodola/ cvpr11-dual. pdf) [3] W. R. Hamilton, "On quaternions, or on a new system of imaginaries in algebra," Philos. Mag. 18, installments July 1844 – April 1850, ed. by D. E. Wilkins (2000)

[4] W. R. Hamilton, Elements of Quaternions, Longmans, Green & Co., London, 1866 (http:/ / books. google. com/

books?id=GFYtAAAAYAAJ& printsec=frontcover& source=gbs_ge_summary_r& cad=0#v=onepage& q& f=false) [5] W. K. Clifford, "Preliminary sketch of bi-quaternions, Proc. London Math. Soc. Vol. 4 (1873) pp. 381–395 [6] W. K. Clifford, Mathematical Papers, (ed. R. Tucker), London: Macmillan, 1882. [7] A. P. Kotelnikov, Screw calculus and some applications to geometry and mechanics, Annal. Imp. Univ. Kazan (1895) [8] E. Study, Geometrie der Dynamen, Teubner, Leipzig, 1901.

[9] O. Bottema and B. Roth, Theoretical Kinematics, North Holland Publ. Co., 1979 (http:/ / books. google. com/ books?id=f8I4yGVi9ocC&

printsec=frontcover& source=gbs_ge_summary_r& cad=0#v=onepage& q& f=false) [10] Rodrigues, O. (1840), Des lois géométriques qui régissent les déplacements d’un système solide dans l’espace, et la variation des coordonnées provenant de ses déplacements con- sidérés indépendamment des causes qui peuvent les produire, Journal de Mathématiques Pures et Appliquées de Liouville 5, 380–440.

[11] http:/ / books. google. com/ books?id=f8I4yGVi9ocC& lpg=PP1& pg=PA64#v=twopage& q& f=false

[12] https:/ / github. com/ gravitino/ dualQuaternion • A.T. Yang (1963) Application of quaternion algebra and dual numbers to the analysis of spatial mechanisms, Ph.D thesis, Columbia University. • A.T. Yang (1974) "Calculus of Screws" in Basic Questions of Design Theory, William R. Spillers, editor, Elsevier, pages 266 to 281. • J.M. McCarthy (1990) An Introduction to Theoretical Kinematics, pp. 62–5, MIT Press [ISBN 0-262-13252-4].

• L. Kavan, S. Collins, C. O'Sullivan, J. Zara (2006) Dual Quaternions for Rigid Transformation Blending (https:/ /

www. cs. tcd. ie/ publications/ tech-reports/ reports. 06/ TCD-CS-2006-46. pdf), Technical report, Trinity College Dublin.

• Joe Rooney William Kingdon Clifford (http:/ / oro. open. ac. uk/ 8455/ 01/ chapter4(020507). pdf), Department of Design and Innovation, the Open University, London. • Joe Rooney (2007) "William Kingdon Clifford", in Marco Ceccarelli, Distinguished figures in mechanism and machine science, Springer. • Eduard Study (1891) "Von Bewegungen und Umlegung", Mathematische Annalen 39:520.

External links

• Martin Baker Dual Quaternion (http:/ / www. euclideanspace. com/ maths/ algebra/ realNormedAlgebra/ other/

dualQuaternion/ index. htm) from Euclidianspace.com .

• Wilhelm Blaschke (1958) D.H. Delphenich translator, "Applications of dual quaternions to kinematics" (http:/ /

neo-classical-physics. info/ uploads/ 3/ 0/ 6/ 5/ 3065888/ blaschke_-_dual_quaternions. pdf)

• Wilhelm Blaschke (1960) D.H. Delphenich translator, Quaternions and Kinematics (http:/ / neo-classical-physics.

info/ uploads/ 3/ 0/ 6/ 5/ 3065888/ blaschke_-_kinematics_and_quaternions. pdf) from Neo-classical-physics.info . Screw theory 37 Screw theory

Screw theory refers to the algebra and calculus of pairs of vectors, such as and moments and angular and linear , that arise in the kinematics and dynamics of rigid bodies.[1][2] The mathematical framework was developed by Sir in 1876 for application in kinematics and of mechanisms (rigid body mechanics).[3] Screw theory provides a mathematical formulation for the geometry of lines which is central to , where lines form the screw axes of spatial movement and the lines of action of forces. The pair of vectors that form the Plücker coordinates of a line define a unit screw, and general screws are obtained by multiplication by a pair of real numbers and addition of vectors. An important result of screw theory is that geometric calculations for points using vectors have parallel geometric calculations for lines obtained by replacing vectors with screws. This is termed the transfer principle.[4] Screw theory has become an important tool in robot mechanics,[5][6] mechanical design, computational geometry and multibody dynamics. This is in part because of the relationship between screws and dual quaternions which have been used to interpolate rigid-body motions.[7] Based on screw theory, an efficient approach has also been developed for the type synthesis of parallel mechanisms (parallel manipulators or parallel robots) [8] Fundamental theorems include Poinsot's theorem (, 1806) and Chasles' theorem (, 1832). Other prominent contributors include Julius Plücker, W. K. Clifford, F. M. Dimentberg, Kenneth H. Hunt, J. R. Phillips.[9]

Basic concepts

A spatial displacement of a rigid body can be defined by a rotation about a line and a translation along the same line, called a screw displacement. This is known as Chasles' theorem. The six parameters that define a screw displacement are the four independent components of the Plücker vector that defines the screw axis, together with the rotation angle about and linear slide along this line, and form a pair of vectors called a screw. For comparison, the six parameters that define a spatial displacement can also be given by three Euler Angles that define the rotation and the three components of the translation vector.

Screw

A screw is a six-dimensional vector constructed from a pair of three The pitch of a pure screw relates rotation about an dimensional vectors, such as forces and torques and linear and angular axis to translation along that axis. velocity, that arise in the study of spatial rigid body movement. The components of the screw define the Plücker coordinates of a line in space and the magnitudes of the vector along the line and about this line. Screw theory 38

Wrench The and torque vectors that arise in applying Newton's laws to a rigid body can be assembled into a screw called a wrench. A force has a point of application and a line of action, therefore it defines the Plücker coordinates of a line in space and has zero pitch. A torque, on the other hand, is a pure moment that is not bound to a line in space and is an infinite pitch screw. The ratio of these two magnitudes defines the pitch of the screw.

Twist A twist represents the velocity of a rigid body as an around an axis and a linear velocity along this axis. All points in the body have the same component of the velocity along the axis, however the greater the distance from the axis the greater the velocity in the plane perpendicular to this axis. Thus, the helicoidal field formed by the velocity vectors in a moving rigid body flattens out the further the points are radially from the twist axis. The points in a body undergoing a constant screw motion trace helices in the fixed frame. If this screw motion has zero pitch then the trajectories trace circles, and the movement is a pure rotation. If the screw motion has infinite pitch then the trajectories are all straight lines in the same direction.

Algebra of screws Let a screw be an ordered pair

where S and V are three dimensional real vectors. The sum and difference of these ordered pairs are computed componentwise. Screws are often called dual vectors. Now, introduce the ordered pair of real numbers â=(a, b) called dual scalars. Let the addition and of these numbers be componentwise, and define multiplication as

The multiplication of a screw S=(S, V) by the dual scalar â=(a, b) is computed componentwise to be,

Finally, introduce the dot and cross products of screws by the formulas:

and

The dot and cross products of screws satisfy the identities of vector algebra, and allow computations that directly parallel computations in the algebra of vectors. Let the dual scalar ẑ=(φ, d) define a dual angle, then the infinite series definitions of sine and cosine yield the relations

In general, the function of a dual variable is defined to be f(ẑ)=(f(φ), df′(φ)), where f′(φ) is the derivative of f(φ). These definitions allow the following results: • Unit screws are Plücker coordinates of a line and satisfy the relation

• Let ẑ=(φ, d) be the dual angle, where φ is the angle between the axes of S and T around their common normal, and d is the distance between these axes along the common normal, then Screw theory 39

• Let N be the unit screw that defines the common normal to the axes of S and T, and ẑ=(φ, d) is the dual angle between these axes, then

Wrench A common example of a screw is the wrench associated with a force acting on a rigid body. Let P be the point of application of the force F and let P be the vector locating this point in a fixed frame. The wrench W=(F, P×F) is a screw. The resultant force and moment obtained from all the forces F i=1,...,n, acting on a rigid body is simply the i sum of the individual wrenches W , that is i

Notice that the case of two equal but opposite forces F and -F acting at points A and B respectively, yields the resultant

This shows that screws of the form

can be interpreted as pure moments.

Twist In order to define the twist of a rigid body, we must consider its movement defined by the parameterized set of spatial displacements, D(t)=([A(f)],d(f)), where [A] is a rotation matrix and d is a translation vector. This causes a point p that is fixed in moving body to trace a curve P(t) in the fixed frame given by,

The velocity of P is

where v is velocity of the origin of the moving frame, that is dd/dt. Now substitute p= [AT](P-d) into this equation to obtain,

where [Ω]=[dA/dt][AT] is the angular velocity matrix and ω is the angular velocity vector. The screw

is the twist of the moving body. The vector V=v + d×ω is the velocity of the point in the body that corresponds with the origin of the fixed frame. There are two important special cases: (i) when d is constant, that is v=0, then the twist is a pure rotation about a line, then the twist is

and (ii) when [Ω]=0, that is the body does not rotate but only slides in the direction v, then the twist is a pure slide given by Screw theory 40

Revolute joints For a revolute joint, let the axis of rotation pass through the point q and be directed along the vector ω, then the twist for the joint is given by,

Prismatic joints For a prismatic joint, let the vector v pointing define the direction of the slide, then the twist for the joint is given by,

Coordinate transformation of screws The coordinate transformations for screws are easily understood by beginning with the coordinate transformations of the Plücker vector of line, which in turn are obtained from the transformations of the coordinate of points on the line. Let the displacement of a body be defined by D=([A], d), where [A] is the rotation matrix and d is the translation vector. Consider the line in the body defined by the two points p and q, which has the Plücker coordinates,

then in the fixed frame we have the transformed point coordinates P=[A]p+d and Q=[A]q+d, which yield.

Thus, a spatial displacement defines a transformation for Plücker coordinates of lines given by

The matrix [D] is the skew symmetric matrix that performs the cross product operation, that is [D]y=d×y. The 6×6 matrix constructed from obtained from the spatial displacement D=([A], d) can be assembled into the dual matrix

which operates on a screw s=(s.v) to obtain,

The dual matrix [Â]=([A], [DA]) has determinant 1 and is called a dual orthogonal matrix.

Twists as elements of a Lie algebra Consider the movement of a rigid body defined by the parameterized 4x4 homogeneous transform,

This notation does not distinguish between P = (X, Y, Z, 1), and P = (X, Y, Z), which is hopefully clear in context. The velocity of this movement is defined by computing the velocity of the trajectories of the points in the body,

The dot denotes the derivative with respect to time, and because p is constant its derivative is zero. Substitute the inverse transform for p into the velocity equation to obtain the velocity of P by operating on its trajectory P(t), that is Screw theory 41

where

Recall that [Ω] is the angular velocity matrix. The matrix [S] is an element of the Lie algebra se(3) of the Lie group SE(3) of homogeneous transforms. The components of [S] are the components of the twist screw, and for this reason [S] is also often called a twist. From the definition of the matrix [S], we can formulate the ordinary differential equation,

and ask for the movement [T(t)] that has a constant twist matrix [S]. The solution is the matrix exponential

This formulation can be generalized such that given an initial g(0) in SE(n), and a twist ξ in se(n), the homogeneous transformation to a new location and orientation can be computed with the formula,

where θ represents the parameters of the transformation.

Screws by reflection In , the elemental concept of transformation is the reflection (mathematics). In planar transformations a translation is obtained by reflection in parallel lines, and rotation is obtained by reflection in a pair of intersecting lines. To produce a screw transformation from similar concepts one must use planes in space: the parallel planes must be perpendicular to the screw axis, which is the line of intersection of the intersecting planes that generate the rotation of the screw. Thus four reflections in planes effect a screw transformation. The tradition of borrows some of the ideas of and provides a language of transformation that does not depend on .

Homography The combination of a translation with a rotation effected by a screw transformation can be illustrated with the exponential mapping. This idea in transformation geometry was advanced by Sophus Lie more than a century ago. Even earlier, William Rowan Hamilton displayed the versor form of unit quaternions as exp(a r)= cos a + r sin a. The idea is also in Euler's formula parametrizing the unit circle in the complex plane. Since ε2 = 0 for dual numbers, exp(a ε) = 1 + a ε, all other terms of the exponential series vanishing. Let F = {1 + a ε : a ∈ H}, ε2 = 0. Note that F is stable under the rotation q → p −1 q p and under the translation (1 + a ε)(1 + b ε) = 1 + (a + b) ε for any vector quaternions a and b. F is a 3-flat in the eight-dimensional space of dual quaternions. This 3-flat F represents space, and the constructed, restricted to F, is a screw transformation of space. Let a be half the angle of the desired turn about axis r, and b r half the displacement on the screw axis. Then form z = exp((a + b ε) r ) and z* = exp((a − b ε) r ). Now the homography is

The inverse for z* is Screw theory 42

so, the homography sends q to

Now for any quaternion vector p, p* = −p, let q = 1 + p ε ∈ F where the required rotation and translation are effected. William Kingdon Clifford initiated the use of dual quaternions for kinematics, followed by Eduard Study in his Geometrie der Dynamen. However, the point of view of Sophus Lie has recurred.[10] In 1940, described the use of dual quaternions for screw transformations on page 261 of A History of Geometrical Methods. He notes the 1885 contribution of Arthur Buchheim.[11] Coolidge based his description simply on the tools Hamilton had used for real quaternions. Evidently the group of units of the ring of dual quaternions is a Lie group. A subgroup has Lie algebra generated by the parameters a r and b s, where a, b ∈ R, and r, s ∈ H. These six parameters generate a subgroup of the units, the unit sphere. Of course it includes F and the 3-sphere of versors.

Work of forces acting on a rigid body Consider the set of forces F , F ... F act on the points X , X ... X in a rigid body. The trajectories of X , i=1,...,n 1 2 n 1 2 n i are defined by the movement of the rigid body with rotation [A(t)] and the translation d(t) of a reference point in the body, given by

where x are coordinates in the moving body. i The velocity of each point X is i

where ω is the angular velocity vector and v is the derivative of d(t). The work by the forces over the displacement δr =v δt of each point is given by i i

Define the of each point in terms of the twist of the moving body to obtain

Expand this equation and collect coefficients of ω and v to obtain

Introduce the twist of the moving body and the wrench acting on it given by

then work takes the form

The 6x6 matrix [Π] is used to simply the calculation of work using screws, so that

where

and [I] is the 3x3 identity matrix. Screw theory 43

Reciprocal screws If the virtual work of a wrench on a twist is zero, then the forces and torque of the wrench are constraint forces relative to the twist. The wrench and twist are said to be reciprocal, that is if

then the screws W and T are reciprocal.

Twists in robotics In the study of robotic systems the components of the twist are often transposed to eliminate the need for the 6x6 matrix [Π] in the calculation of work. In this case the twist is defined to be

so the calculation of work takes the form

In this case, if

then the wrench W is reciprocal to the twist T.

References [1] F. M. Dimentberg, The Screw Calculus and Its Applications in Mechanics, (Foreign Technology Division translation FTD-HT-23-1632-67)

1965 (http:/ / oai. dtic. mil/ oai/ oai?verb=getRecord& metadataPrefix=html& identifier=AD0680993) [2] A.T. Yang (1974) "Calculus of Screws" in Basic Questions of Design Theory, William R. Spillers, editor, Elsevier, pages 266 to 281.

[3] R. S. Ball, The Theory of Screws: A study in the dynamics of a rigid body, Hodges, Foster & Co., 1876 (http:/ / books. google. com/

books?id=Qu9IAAAAMAAJ& ots=wwsm6pBaJa& dq=The theory of screws: A study in the dynamics of a rigid body&

pg=PR3#v=onepage& q& f=false)

[4] J. M. McCarthy and G. S. Soh, Geometric Design of Linkages. 2nd Edition, Springer 2010 (http:/ / books. google. co. uk/

books?id=jv9mQyjRIw4C& printsec=frontcover& dq=geometric+ design+ of+ linkages& hl=en& ei=3L_5TcvZGaHV0QG2wMiDAw&

sa=X& oi=book_result& ct=result& resnum=1& ved=0CDMQ6AEwAA#v=onepage& q& f=false)

[5] R. Featherstone, Robot Dynamics , Springer, 1987. (http:/ / books. google. com/ books?id=c6yz7f_jpqsC& printsec=frontcover&

source=gbs_ge_summary_r& cad=0#v=onepage& q& f=false)

[6] R. Featherstone, Robot Dynamics Algorithms, Springer, 2008. (http:/ / books. google. com/ books?id=UjWbvqWaf6gC&

printsec=frontcover& source=gbs_ge_summary_r& cad=0#v=onepage& q& f=false) [7] J. M. Selig, "Rational Interpolation of Rigid Body Motions," Advances in the Theory of Control, Signals and Systems with Physical Modeling, Lecture Notes in Control and Information Sciences, 2011 Volume 407/2011 213-224, Springer.

[8] X. Kong, Type Synthesis of Parallel Mechanisms, Springer, 2007. (http:/ / books. google. co. uk/ books?id=II9_FbbpkL0C&

printsec=frontcover& dq=type+ synthesis+ of+ parallel+ mechanisms& hl=en& ei=AwDVTr63Hsyg8gORlsScAg& sa=X& oi=book_result&

ct=result& resnum=1& ved=0CDgQ6AEwAA#v=onepage& q=type synthesis of parallel mechanisms& f=false) [9] William Kingdon Clifford (1873), "Preliminary Sketch of Biquaternions", Paper XX, Mathematical Papers, p. 381. [10] Xiangke Wang, Dapeng Han, Changbin Yu, and Zhiqiang Zheng (2012) "The geometric structure of unit dual quaternions with application in kinematic control", Journal of Mathematical Analysis and Applications 389(2):1352 to 64

[11] Arthur Buchheim (1885) "A Memoir on biquaternions" (http:/ / www. jstor. org/ stable/ 2369176), American Journal of Mathematics 7(4):293 to 326 from Jstor early content Screw theory 44

External links

• Joe Rooney William Kingdon Clifford (http:/ / oro. open. ac. uk/ 8455/ 01/ chapter4(020507). pdf), Department of Design and Innovation, the Open University, London.

• Ravi Banavar notes on Robotics, Geometry and Control (http:/ / www. eeci-institute. eu/ pdf/ M5-textes/

M5_slides4. pdf)

• Klein, F., "On Sir Robert Ball's Theory of Screws," trans. by D. H. Delphenich (http:/ / neo-classical-physics.

info/ uploads/ 3/ 0/ 6/ 5/ 3065888/ klein_-_screws. pdf)

Exponential map

In differential geometry, the exponential map is a generalization of the ordinary of mathematical analysis to all differentiable with an affine connection. Two important special cases of this are the exponential map for a with a Riemannian metric, and the exponential map from a Lie algebra to a Lie group.

Definition

Let M be a and p a point of M. An affine connection on M allows one to define the notion of a geodesic through the point p.[1] The exponential map of the Earth as viewed from Let v ∈ T M be a tangent vector to the manifold at p. Then there is a the north pole is the polar azimuthal equidistant p unique geodesic γ satisfying γ (0) = p with initial tangent vector γ′ (0) projection in cartography. v v v = v. The corresponding exponential map is defined by exp (v) = γ (1). p v In general, the exponential map is only locally defined, that is, it only takes a small neighborhood of the origin at T M, to a neighborhood of p in the manifold. This is because it relies on the theorem on existence and uniqueness for p ordinary differential equations which is local in nature. An affine connection is called complete if the exponential map is well-defined at every point of the tangent bundle.

Lie theory

Group theory → Lie groups Lie groups Exponential map 45

• Table of Lie groups

In the theory of Lie groups, the exponential map is a map from the Lie algebra of a Lie group to the group which allows one to recapture the local group structure from the Lie algebra. The existence of the exponential map is one of the primary justifications for the study of Lie groups at the level of Lie algebras. The ordinary exponential function of mathematical analysis is a special case of the exponential map when G is the multiplicative group of non-zero real numbers (whose Lie algebra is the additive group of all real numbers). The exponential map of a Lie group satisfies many properties analogous to those of the ordinary exponential function, however, it also differs in many important respects.

Definitions Let be a Lie group and be its Lie algebra (thought of as the tangent space to the identity element of ). The exponential map is a map

which can be defined in several different ways as follows: • It is the exponential map of a canonical left- affine connection on G, such that parallel transport is given by left translation. • It is the exponential map of a canonical right-invariant affine connection on G. This is usually different from the canonical left-invariant connection, but both connections have the same geodesics (orbits of 1-parameter subgroups acting by left or right multiplication) so give the same exponential map. • It is given by where

is the unique one-parameter subgroup of whose tangent vector at the identity is equal to . It follows easily from the chain rule that . The map may be constructed as the integral curve of either the right- or left-invariant vector field associated with . That the integral curve exists for all real parameters follows by right- or left-translating the solution near zero. • If is a matrix Lie group, then the exponential map coincides with the matrix exponential and is given by the ordinary series expansion: Exponential map 46

(here is the identity matrix). • If G is compact, it has a Riemannian metric invariant under left and right translations, and the exponential map is the exponential map of this Riemannian metric.

Examples • The unit circle centered at 0 in the complex plane is a Lie group (called the ) whose tangent space at 1 can be identified with the imaginary line in the complex plane, The exponential map for this Lie group is given by

that is, the same formula as the ordinary complex exponential. • In the split-complex number plane the imaginary line forms the Lie algebra of the unit group since the exponential map is given by

• The unit 3-sphere centered at 0 in the quaternions H is a Lie group (isomorphic to the ) whose tangent space at 1 can be identified with the space of purely imaginary quaternions, The exponential map for this Lie group is given by

This map takes the 2-sphere of radius inside the purely imaginary quaternions to a 2-sphere of radius when . Compare this to the first example above.

Properties • For all , the map is the unique one-parameter subgroup of whose tangent vector at the identity is . It follows that: • • • The exponential map is a smooth map. Its derivative at the identity, , is the identity map (with the usual identifications). The exponential map, therefore, restricts to a from some neighborhood of 0 in to a neighborhood of 1 in . • The exponential map is not, however, a covering map in general – it is not a local diffeomorphism at all points. For example, so(3) to SO(3) is not a covering map; see also cut locus on this failure. • The image of the exponential map always lies in the identity component of . When is compact, the exponential map is surjective onto the identity component. • The image of the exponential map of the connected but non-compact group SL (R) is not the whole group. Its 2 image consists of C-diagonalizable matrices with eigenvalues either positive or with 1, and of non-diagonalizable trigonalizable matrices with eigenvalue 1. • The map is the integral curve through the identity of both the right- and left-invariant vector fields associated to . • The integral curve through of the left-invariant vector field associated to is given by . Likewise, the integral curve through of the right-invariant vector field is given by . It follows that the flows generated by the vector fields are given by: • Exponential map 47

• Since these flows are globally defined, every left- and right-invariant vector field on is complete. • Let be a Lie group homomorphism and let be its derivative at the identity. Then the following diagram commutes:

• In particular, when applied to the adjoint action of a group we have

• •

Riemannian geometry In Riemannian geometry, an exponential map is a map from a subset of a tangent space T M of a Riemannian p manifold (or pseudo-Riemannian manifold) M to M itself. The (pseudo) Riemannian metric determines a canonical affine connection, and the exponential map of the (pseudo) Riemannian manifold is given by the exponential map of this connection.

Properties Intuitively speaking, the exponential map takes a given tangent vector to the manifold, runs along the geodesic starting at that point and going in that direction, for a unit time. Since v corresponds to the velocity vector of the geodesic, the actual (Riemannian) distance traveled will be dependent on that. We can also reparametrize geodesics to be unit speed, so equivalently we can define exp (v) = β(|v|) where β is the unit-speed geodesic (geodesic p parameterized by arc length) going in the direction of v. As we vary the tangent vector v we will get, when applying exp , different points on M which are within some distance from the base point p—this is perhaps one of the most p concrete ways of demonstrating that the tangent space to a manifold is a kind of "linearization" of the manifold. The Hopf–Rinow theorem asserts that it is possible to define the exponential map on the whole tangent space if and only if the manifold is complete as a metric space (which justifies the usual term geodesically complete for a manifold having an exponential map with this property). In particular, compact manifolds are geodesically complete. However even if exp is defined on the whole tangent space, it will in general not be a global diffeomorphism. p However, its differential at the origin of the tangent space is the identity map and so, by the inverse function theorem we can find a neighborhood of the origin of T M on which the exponential map is an embedding (i.e., the p exponential map is a local diffeomorphism). The radius of the largest ball about the origin in T M that can be p mapped diffeomorphically via exp is called the injectivity radius of M at p. The cut locus of the exponential map p is, roughly speaking, the set of all points where the exponential map fails to have a unique minimum. An important property of the exponential map is the following lemma of Gauss (yet another Gauss's lemma): given any tangent vector v in the domain of definition of exp , and another vector w based at the tip of v (hence w is p actually in the double-tangent space T (T M)) and orthogonal to v, remains orthogonal to v when pushed forward via v p the exponential map. This means, in particular, that the boundary sphere of a small ball about the origin in T M is p Exponential map 48

orthogonal to the geodesics in M determined by those vectors (i.e., the geodesics are radial). This motivates the definition of geodesic normal coordinates on a Riemannian manifold. The exponential map is also useful in relating the abstract definition of curvature to the more concrete realization of it originally conceived by Riemann himself—the sectional curvature is intuitively defined as the Gaussian curvature of some surface (i.e., a slicing of the manifold by a 2-dimensional submanifold) through the point p in consideration. Via the exponential map, it now can be precisely defined as the Gaussian curvature of a surface through p determined by the image under exp of a 2-dimensional subspace of T M. p p

Relationships In the case of Lie groups with a bi-invariant metric—a pseudo-Riemannian metric invariant under both left and right translation—the exponential maps of the pseudo-Riemannian structure are the same as the exponential maps of the Lie group. In general, Lie groups do not have a bi-invariant metric, though all connected semi-simple (or reductive) Lie groups do. The existence of a bi-invariant Riemannian metric is stronger than that of a pseudo-Riemannian metric, and implies that the Lie algebra is the Lie algebra of a compact Lie group; conversely, any compact (or abelian) Lie group has such a Riemannian metric. Take the example that gives the "honest" exponential map. Consider the positive real numbers R+, a Lie group under the usual multiplication. Then each tangent space is just R. On each copy of R at the point y, we introduce the modified inner product

(multiplying them as usual real numbers but scaling by y2). (This is what makes the metric left-invariant, for left multiplication by a factor will just pull out of the inner product, twice — canceling the square in the denominator). Consider the point 1 ∈ R+, and x ∈ R an element of the tangent space at 1. The usual straight line emanating from 1, namely y(t) = 1 + xt covers the same path as a geodesic, of course, except we have to reparametrize so as to get a curve with constant speed ("constant speed", remember, is not going to be the ordinary constant speed, because we're using this funny metric). To do this we reparametrize by arc length (the integral of the length of the tangent vector in the norm induced by the modified metric):

and after inverting the function to obtain t as a function of s, we substitute and get

Now using the unit speed definition, we have , giving the expected ex. The Riemannian distance defined by this is simply , a metric which should be familiar to anyone who has drawn graphs on log paper. Exponential map 49

Notes [1] A source for this section is , which uses the term "linear connection" where we use "affine connection" instead.

References • do Carmo, Manfredo P. (1992), Riemannian Geometry, Birkhäuser, ISBN 0-8176-3490-8. See Chapter 3. • Cheeger, Jeff; Ebin, David G. (1975), Comparison Theorems in Riemannian Geometry, Elsevier. See Chapter 1, Sections 2 and 3.

• Hazewinkel, Michiel, ed. (2001), "Exponential mapping" (http:/ / www. encyclopediaofmath. org/ index.

php?title=p/ e036930), Encyclopedia of Mathematics, Springer, ISBN 978-1-55608-010-4 • Helgason, Sigurdur (2001), Differential geometry, Lie groups, and symmetric spaces, Graduate Studies in Mathematics 34, Providence, R.I.: American Mathematical Society, ISBN 978-0-8218-2848-9, MR 1834454

(http:/ / www. ams. org/ mathscinet-getitem?mr=1834454). • Kobayashi, Shoshichi; Nomizu, Katsumi (1996), Foundations of Differential Geometry, Vol. 1 (New ed.), Wiley-Interscience, ISBN 0-471-15733-3.

Rotation formalisms in three dimensions

In geometry, various formalisms exist to express a rotation in three dimensions as a mathematical transformation. In physics, this concept extends to classical mechanics where rotational (or angular) kinematics is the science of describing with numbers the purely rotational motion of an object. 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. According to Euler's rotation theorem the general displacement of a rigid body (or three-dimensional coordinate system) with one point fixed is described by a single rotation about some axis. Such a rotation may be uniquely described by a minimum of three parameters. However, for various reasons, there are several ways to represent it. Many of these representations use more than the necessary minimum of three parameters, although each of them still has only three degrees of freedom. An example where rotation representation is used is in computer vision, where an automated observer needs to track a target. Let's consider a rigid body, with three orthogonal unit vectors fixed to its body (representing the three axes of the object's local coordinate system). The basic problem is to specify the orientation of these three unit vectors, and hence the rigid body, with respect to the observer's coordinate system, regarded as a reference placement in space.

Formalism alternatives

Rotation matrix The above mentioned triad of unit vectors is also called a basis. Specifying the coordinates (scalar components) of this basis in its current (rotated) position, in terms of the reference (non-rotated) coordinate axes, will completely describe the rotation. The three unit vectors , and which form the rotated basis each consist of 3 coordinates, yielding a total of 9 parameters. These parameters can be written as the elements of a 3 × 3 matrix , called a rotation matrix. Typically, the coordinates of each of these vectors are arranged along a column of the matrix (however, beware that an alternative definition of rotation matrix exists and is widely used, where the vectors coordinates defined above are arranged by rows[1]) Rotation formalisms in three dimensions 50

The elements of the rotation matrix are not all independent—as Euler's rotation theorem dictates, the rotation matrix has only three degrees of freedom. The rotation matrix has the following properties: • A is a real, orthogonal matrix, hence each of its rows or columns represents a unit vector. • The eigenvalues of A are

where i is the standard imaginary unit with the property i2 = −1 • The determinant of A is +1, equivalent to the product of its eigenvalues. • The trace of A is , equivalent to the sum of its eigenvalues. The angle which appears in the eigenvalue expression corresponds to the angle of the Euler axis and angle representation. The eigenvector corresponding with the eigenvalue of 1 is the accompanying Euler axis, since the axis is the only (nonzero) vector which remains unchanged by left-multiplying (rotating) it with the rotation matrix. The above properties are equivalent to:

which is another way of stating that form a 3D orthonormal basis. Note that the statements above constitute a total of 6 conditions (the cross product contains 3), leaving the rotation matrix with just 3 degrees of freedom as required. Two successive rotations represented by matrices and are easily combined as follows: (Note the order, since the vector being rotated is multiplied from the right). The ease by which vectors can be rotated using a rotation matrix, as well as the ease of combining successive rotations, make the rotation matrix a very useful and popular way to represent rotations, even though it is less concise than other representations.

Euler axis and angle (rotation vector)

From Euler's rotation theorem we know that any rotation can be expressed as a single rotation about some axis. The axis is the unit vector (unique except for sign) which remains unchanged by the rotation. The magnitude of the angle is also unique, with its sign being determined by the sign of the rotation axis. The axis can be represented as a three-dimensional unit vector , and the angle by a scalar . Since the axis is normalized, it has only two degrees of freedom. The angle adds the third degree of freedom to this rotation representation. One may wish to express rotation as a rotation vector, a non-normalized three-dimensional vector the direction of which specifies the axis, and the length of which is :

A visualization of a rotation represented by an Euler axis and angle. Rotation formalisms in three dimensions 51

The rotation vector is in some contexts useful, as it represents a three-dimensional rotation with only three scalar values (its scalar components), representing the three degrees of freedom. This is also true for representations based on sequences of three Euler angles (see below). If the rotation angle is zero, the axis is not uniquely defined. Combining two successive rotations, each represented by an Euler axis and angle, is not straightforward, and in fact does not satisfy the law of vector addition, which shows that finite rotations are not really vectors at all. It is best to employ the rotation matrix or quaternion notation, calculate the product, and then convert back to Euler axis and angle.

Euler rotations

The idea behind Euler rotations is to split the complete rotation of the coordinate system into three simpler constitutive rotations, called Precession, Nutation, and intrinsic rotation, being each one of them an increment on one of the Euler angles. Notice that the outer matrix will represent a rotation around one of the axes of the reference frame, and the inner matrix represents a rotation around one of the moving frame axis. The middle matrix represent a rotation around an intermediate axis called line of nodes.

Unfortunately, the definition of Euler angles is not unique and in the literature many different conventions are used. These conventions depend on the axes about which the rotations are carried out, and their sequence (since rotations are not commutative). The convention being used is usually indicated by specifying the axes Euler rotations of the Earth. Intrinsic (green), about which the consecutive rotations (before being composed) take Precession (blue) and Nutation (red) place, referring to them by index (1, 2, 3) or letter (X, Y, Z). The engineering and robotics communities typically use 3-1-3 Euler angles. Notice that after composing the independent rotations, they do not rotate about their axis anymore. The most external matrix rotates the other two, leaving the second rotation matrix over the line of nodes, and the third one in a frame comoving with the body. There are 3×3×3 = 27 possible combinations of three basic rotations but only 3×2×2 = 12 of them can be used for representing arbitrary 3D rotations as Euler angles. These 12 combinations avoid consecutive rotations around the same axis (such as XXY) which would reduce the degrees of freedom that can be represented.

Therefore Euler angles are never expressed in terms of the external frame, or in terms of the co-moving rotated body frame, but in a mixture. Other conventions (e.g., rotation matrix or quaternions) are used to avoid this problem.

Quaternions Quaternions (Euler symmetric parameters) have proven very useful in representing rotations due to several advantages above the other representations mentioned in this article. A quaternion representation of rotation is written as a normalized four-dimensional vector

In terms of the Euler axis

and angle

this vector's elements are expressed as follows: Rotation formalisms in three dimensions 52

The above definition follows the convention as used in (Wertz 1980) and (Markley 2003). An alternative definition used in some publications defines the "scalar" term as the first quaternion element, with the other elements shifted down one position. (Coutsias 1999), (Schmidt 2001) Inspection shows that the quaternion parametrization obeys the following constraint:

The last term (in our definition) is often called the scalar term, which has its origin in quaternions when understood as the mathematical extension of the complex numbers, written as with and where are the hypercomplex numbers satisfying

Quaternion multiplication is performed in the same manner as multiplication of complex numbers, except that the order of elements must be taken into account, since multiplication is not commutative. In matrix notation we can write quaternion multiplication as

Combining two consecutive quaternion rotations is therefore just as simple as using the rotation matrix. Remember that two successive rotation matrices, followed by , are combined as follows:

We can represent this with quaternion parameters in a similarly concise way:

Quaternions are a very popular parametrization due to the following properties: • More compact than the matrix representation and less susceptible to round-off errors • The quaternion elements vary continuously over the unit sphere in , (denoted by ) as the orientation changes, avoiding discontinuous jumps (inherent to three-dimensional parameterizations) • Expression of the rotation matrix in terms of quaternion parameters involves no trigonometric functions • It is simple to combine two individual rotations represented as quaternions using a quaternion product Like rotation matrices, quaternions must sometimes be re-normalized due to rounding errors, to make sure that they correspond to valid rotations. The computational cost of re-normalizing a quaternion, however, is much less than for normalizing a 3 × 3 matrix. Rotation formalisms in three dimensions 53

Rodrigues parameters Rodrigues parameters can be expressed in terms of Euler axis and angle as follows:

This has a discontinuity at 180° (π radians): each vector, r, with a norm of π radians represent the same rotation as −r. Similarly, the Gibbs representation can be expressed as follows:

A rotation g followed by a rotation f in Gibbs representation has the form

The Gibbs vector has the advantage (or disadvantage, depending on context) that 180° rotations cannot be represented. (Even using floating point numbers that include infinity, rotation direction cannot be well-defined; for example, naively a 180° rotation about the axis (1, 1, 0) would be , which is the same representation as 180° rotation about (1, 0.0001, 0).) Modified Rodrigues parameters (MRPs) can be expressed in terms of Euler axis and angle by:

The modified Rodrigues parameterization shares many characteristics with the rotation vector parametrization, including the occurrence of discontinuous jumps in the parameter space when incrementing the rotation.

Cayley–Klein parameters See definition at Wolfram Mathworld [2].

Conversion formulae between formalisms

Rotation matrix ↔ Euler angles The Euler angles can be extracted from the rotation matrix by inspecting the rotation matrix in analytical form. Using the x-convention, the 3-1-3 Euler angles , and (around the , and again the -axis) can be obtained as follows:

Note that is equivalent to where it also takes into account the quadrant that the point is in; see atan2. When implementing the conversion, one has to take into account several situations:[3] • There are generally two solutions in (−π, π]3 interval. The above formula works only when is from the interval [0, π)3. • For special case , shall be derived from . • There is infinitely many but countably many solutions outside of interval (−π, π]3. • Whether all mathematical solutions apply for given application depends on the situation. Rotation formalisms in three dimensions 54

The rotation matrix is generated from the Euler angles by multiplying the three matrices generated by rotations about the axes.

The axes of the rotation depend on the specific convention being used. For the x-convention the rotations are about the , and axes with angles , and , the individual matrices are as follows:

This yields

Note: This is valid for a right-hand system, which is the convention used in almost all engineering and physics disciplines.

Rotation matrix ↔ Euler axis/angle If the Euler angle is not a multiple of , the Euler axis and angle can be computed from the elements of the rotation matrix as follows:

Alternatively, the following method can be used: Eigen-decomposition of the rotation matrix yields the eigenvalues 1, and . The Euler axis is the eigenvector corresponding to the eigenvalue of 1, and the can be computed from the remaining eigenvalues. The Euler axis can be also found using Singular Value Decomposition since it is the normalized vector spanning the null-space of the matrix . To convert the other way the rotation matrix corresponding to an Euler axis and angle can be computed according to the Rodrigues' rotation formula (with appropriate modification) as follows:

with the 3 × 3 identity matrix, and Rotation formalisms in three dimensions 55

is the cross-product matrix.

Rotation matrix ↔ quaternion When computing a quaternion from the rotation matrix there is a sign ambiguity, since and represent the same rotation. One way of computing the quaternion from the rotation matrix is as follows:

There are three other mathematically equivalent ways to compute . Numerical inaccuracy can be reduced by avoiding situations in which the denominator is close to zero. One of the other three methods looks as follows:

The rotation matrix corresponding to the quaternion can be computed as follows:

with the 3 × 3 identity matrix, and

which gives

or equivalently Rotation formalisms in three dimensions 56

Euler angles ↔ quaternion We will consider the x-convention 3-1-3 Euler Angles for the following algorithm. The terms of the algorithm depend on the convention used. We can compute the quaternion from the Euler angles as follows:

Given the rotation quaternion , the x-convention 3-1-3 Euler angles can be computed by

Euler axis/angle ↔ quaternion Given the Euler axis and angle , the quaternion

can be computed by

Given the rotation quaternion , define . Then the Euler axis and angle can be computed by Rotation formalisms in three dimensions 57

Conversion formulae for derivatives

Rotation matrix ↔ angular velocities The angular velocity vector can be extracted from the derivative of the rotation matrix by the following relation:

The derivation is adapted from [4] as follows: For any vector consider and differentiate it:

The derivative of a vector is the linear velocity of its tip. Since A is a rotation matrix, by definition the length of is always equal to the length of , and hence it does not change with time. Thus, when rotates, its tip moves along a circle, and the linear velocity of its tip is tangential to the circle; i.e., always perpendicular to . In this specific case, the relationship between the linear velocity vector and the angular velocity vector is

(see circular motion and Cross product).

By the transitivity of the above mentioned equations,

which implies (Q.E.D.),

Quaternion ↔ angular velocities The angular velocity vector can be obtained from the derivative of the quaternion as follows:[5]

where is the inverse of . Conversely, the derivative of the quaternion is Rotation formalisms in three dimensions 58

Rotors in a geometric algebra The formalism of geometric algebra (GA) provides an extension and interpretation of the quaternion method. Central to GA is the geometric product of vectors, an extension of the traditional inner and cross products, given by

where the symbol denotes the outer product. This product of vectors produces two terms: a scalar part from the inner product and a bivector part from the outer product. This bivector describes the plane perpendicular to what the cross product of the vectors would return. Bivectors in GA have some unusual properties compared to vectors. Under the geometric product, bivectors have negative square: the bivector describes the -plane. Its square is . Because the unit basis vectors are orthogonal to each other, the geometric product reduces to the antisymmetric outer product – and can be swapped freely at the cost of a factor of −1. The square reduces to since the basis vectors themselves square to +1. This result holds generally for all bivectors, and as a result the bivector plays a role similar to the imaginary unit. Geometric algebra uses bivectors in its analogue to the quaternion, the rotor, given by , where is a unit bivector that describes the plane of rotation. Because squares

to −1, the power series expansion of generates the trigonometric functions. The rotation formula that maps a vector to a rotated vector is then

where is the reverse of (reversing the order of the vectors in is equivalent to changing its sign). Example. A rotation about the axis can be accomplished by converting to its dual bivector, , where is the unit volume element, the only trivector (pseudoscalar) in three-dimensional space. The result is . In three-dimensional space, however, it is often simpler to leave the expression for , using the fact that commutes with all objects in 3D and also squares to −1. A rotation of the vector in this plane by an angle is then

Recognizing that and that is the reflection of about the plane perpendicular to gives a geometric interpretation to the rotation operation: the rotation preserves the components that are parallel to and changes only those that are perpendicular. The terms are then computed:

The result of the rotation is then

A simple check on this result is the angle . Such a rotation should map the to . Indeed, the rotation reduces to Rotation formalisms in three dimensions 59

exactly as expected. This rotation formula is valid not only for vectors but for any multivector. In addition, when Euler angles are used, the complexity of the operation is much reduced. Compounded rotations come from multiplying the rotors, so the total rotor from Euler angles is

but and . These rotors come back out of the exponentials like so:

where refers to rotation in the original coordinates. Similarly for the rotation, . Noting that and commute (rotations in the same plane must commute), and the total rotor becomes

Thus, the compounded rotations of Euler angles become a series of equivalent rotations in the original fixed frame. While rotors in geometric algebra work almost identically to quaternions in three dimensions, the power of this formalism is its generality: this method is appropriate and valid in spaces with any number of dimensions. In 3D, rotations have three degrees of freedom, a degree for each linearly independent plane (bivector) the rotation can take place in. It has been known that pairs of quaternions can be used to generate rotations in 4D, yielding six degrees of freedom, and the geometric algebra approach verifies this result: in 4D, there are six linearly independent bivectors that can be used as the generators of rotations.

References

[1] Rotation Matrix, http:/ / mathworld. wolfram. com/ RotationMatrix. html

[2] http:/ / mathworld. wolfram. com/ Cayley-KleinParameters. html

[3] Direct and inverse kinematics (http:/ / cmp. felk. cvut. cz/ cmp/ courses/ ROB/ roblec/ serial-noteeng. pdf) lecture notes, page 5

[4] (http:/ / www. euclideanspace. com/ physics/ kinematics/ angularvelocity/ mark. htm) Physics - Mark Ioffe - W(t) in terms of matrices

[5] (http:/ / www. euclideanspace. com/ physics/ kinematics/ angularvelocity/ ) Physics - Kinematics - Angular Velocity • Evangelos A. Coutsias and Louis Romero, (1999) The Quaternions with an application to Rigid Body Dynamics, Department of Mathematics and Statistics, University of New Mexico. • F. Landis Markley, (2003) Attitude Error Representations for Kalman Filtering, Journal of Guidance, Control and Dynamics. • H. Goldstein, (1980) Classical Mechanics, 2nd. ed., Addison–Wesley. ISBN 0-201-02918-9 • James R. Wertz, (1980) Spacecraft Attitude Determination and Control, D. Reidel Publishing Company. ISBN 90-277-1204-2 • J. Schmidt and H. Niemann, (2001) Using Quaternions for Parametrizing 3-D Rotations in Unconstrained Nonlinear Optimization, Vision, Modeling and Visualization (VMV01). • Lev D. Landau and E. M. Lifshitz, (1976) Mechanics, 3rd. ed., Pergamon Press. ISBN 0-08-021022-8 (hardcover) and ISBN 0-08-029141-4 (softcover). • Klumpp, A. R., Singularity-Free Extraction of a Quaternion from a Direction-Cosine Matrix, Journal of Spacecraft and Rockets, vol. 13, Dec. 1976, p. 754, 755. • C. Doran and A. Lasenby, (2003) Geometric Algebra for Physicists, Cambridge University Press. ISBN 978-0-521-71595-9 Rotation formalisms in three dimensions 60

External links

• EuclideanSpace (http:/ / www. euclideanspace. com/ maths/ geometry/ rotations/ index. htm) has a wealth of information on rotation representation

• Q36. How do I generate a rotation matrix from Euler angles? (http:/ / www. j3d. org/ matrix_faq/ matrfaq_latest.

html#Q36) and Q37. How do I convert a rotation matrix to Euler angles? (http:/ / www. j3d. org/ matrix_faq/

matrfaq_latest. html#Q37) — The Matrix and Quaternions FAQ

• Imaginary numbers are not Real – the Geometric Algebra of Spacetime (http:/ / www. mrao. cam. ac. uk/

~clifford/ introduction/ intro/ node9. html#SECTION00030000000000000000) – Section "Rotations and Geometric Algebra" derives and applies the rotor description of rotations

• Starlino's DCM Tutorial (http:/ / www. starlino. com/ dcm_tutorial. html) – Direction cosine matrix theory tutorial and applications. Space orientation estimation algorithm using accelerometer, gyroscope and magnetometer IMU devices. Using complimentary filter (popular alternative to Kalman filter) with DCM matrix.

Conversion between quaternions and Euler angles

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".

Definition A unit quaternion can be described as:

We can associate a quaternion with a rotation around an axis by the following expression

where α is a simple rotation angle (the value in radians of the angle of rotation) and cos(β ), cos(β ) and cos(β ) are x y z the "direction cosines" locating the axis of rotation (Euler's Theorem). Conversion between quaternions and Euler angles 61

Rotation matrices

The orthogonal matrix (post-multiplying a column vector) corresponding to a clockwise/left-handed rotation by the unit quaternion is given by the inhomogeneous expression:

Euler angles – The xyz (fixed) system is shown in blue, the XYZ (rotated) system is shown in red. The line of nodes, labelled N, is shown in green.

or equivalently, by the homogeneous expression:

If is not a unit quaternion then the homogeneous form is still a scalar multiple of a rotation matrix, while the inhomogeneous form is in general no longer an orthogonal matrix. This is why in numerical work the homogeneous form is to be preferred if distortion is to be avoided. The direction cosine matrix corresponding to a Body 3-2-1 sequence with Euler angles (ψ, θ, φ) is given by: Conversion between quaternions and Euler angles 62

Conversion By combining the quaternion representations of the Euler rotations we get for the Body 3-2-1 sequence:

Other rotation sequences use different conventions. For Euler angles we get:

arctan and arcsin have a result between −π/2 and π/2. With three rotations between −π/2 and π/2 you can't have all possible orientations. We need to replace the arctan by atan2 to generate all the orientations.

Relationship with Tait–Bryan angles

Similarly for Euler angles, we use the Tait–Bryan angles (in terms of flight dynamics): • Roll – : rotation about the X-axis • Pitch – : rotation about the Y-axis • Yaw – : rotation about the Z-axis where the X-axis points forward, Y-axis to the right and Z-axis downward and in the example to follow the rotation occurs in the order yaw, pitch, roll (about body-fixed axes).

Singularities

One must be aware of singularities in the Euler angle parametrization when the pitch approaches ±90° (north/south pole). These cases must be handled specially. The common name for this situation is gimbal lock. Tait–Bryan angles for an aircraft Code to handle the singularities is derived on this site: www.euclideanspace.com [1] Conversion between quaternions and Euler angles 63

External links • Q60. How do I convert Euler rotation angles to a quaternion? [2] and related questions at The Matrix and Quaternions FAQ

References

[1] http:/ / www. euclideanspace. com/ maths/ geometry/ rotations/ conversions/ quaternionToEuler/

[2] http:/ / www. j3d. org/ matrix_faq/ matrfaq_latest. html#Q60

Euler angles

The Euler angles are three angles introduced by Leonhard Euler to describe the orientation of a rigid body.[1] To describe such an orientation in 3-dimensional Euclidean space three parameters are required. They can be given in several ways, Euler angles being one of them; see charts on SO(3) for others. Euler angles are also used to represent the orientation of a frame of reference (typically, a coordinate system or basis) relative to another. They are typically denoted as α, β, γ, or . Euler angles also represent a sequence of three elemental rotations, i.e. rotations about the axes of a coordinate system. For instance, a first rotation about z by an angle α, a second rotation about x by an angle β, and a last rotation again about z, by an angle γ. These rotations start from a known standard orientation. In physics, this standard initial orientation is typically represented by a motionless (fixed, global, or world) coordinate system. In linear algebra, by a standard basis. Any orientation can be achieved by composing three elemental rotations. The elemental rotations can either occur about the axes of the fixed coordinate system (extrinsic rotations) or about the axes of a rotating coordinate system, which is initially aligned with the fixed one, and modifies its orientation after each elemental rotation (intrinsic rotations). The rotating coordinate system may be imagined to be rigidly attached to a rigid body. In this case, it is sometimes called a local coordinate system. Without considering the possibility of using two different conventions for the definition of the rotation axes (intrinsic or extrinsic), there exist twelve possible sequences of rotation axes, divided in two groups: • Euler angles (z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y) • Tait–Bryan angles (x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, y-x-z). Tait-Bryan angles are also called Cardan angles, nautical angles, heading, elevation, and bank, or yaw, pitch, and roll. Sometimes, both kinds of sequences are called "Euler angles". In that case, the sequences of the first group are called proper or classic Euler angles. Euler angles 64

Proper Euler angles

Classic definition

Euler angles are a means of representing the spatial orientation of any reference frame (coordinate system or basis) as a composition of three elemental rotations starting from a known standard orientation, represented by another frame (sometimes referred to as the original or fixed reference frame, or standard basis). The reference orientation can be imagined to be an initial orientation from which the frame virtually rotates to reach its actual orientation. In the following, the axes of the original frame are denoted as x,y,z and the axes of the rotated frame are denoted as X,Y,Z. In geometry and physics, the rotated coordinate system is often imagined to be rigidly attached to a rigid body. In this case, it is called a "local" coordinate system, and it is meant to represent both the position and the

orientation of the body. Proper Euler angles representing rotations about z-, N-, and Z-axis. The xyz (original) system is shown in blue, the XYZ (rotated) system is shown in red. The The geometrical definition (referred line of nodes (N) is shown in green. sometimes as static) of the Euler angles is based on the axes of the above-mentioned (original and rotated) reference frames and an additional axis called the line of nodes. The line of nodes (N) is defined as the intersection of the xy and the XY coordinate planes. In other words, it is a line passing through the origin of both frames, and perpendicular to the zZ plane, on which both z and Z lie. The three Euler angles are defined as follows:

• α (or ) is the angle between the x-axis and the N-axis. • β (or ) is the angle between the z-axis and the Z-axis. • γ (or ) is the angle between the N-axis and the X-axis. This definition implies that: • α represents a rotation around the z-axis, • β represents a rotation around the N-axis, • γ represents a rotation around the Z-axis. If β is zero, there is no rotation about N. As a consequence, Z coincides with z, α and γ represent rotations about the same axis (z), and the final orientation can be obtained with a single rotation about z, by an angle equal to α+γ. Euler angles 65

Alternative definition The rotated frame XYZ may be imagined to be initially aligned with xyz, before undergoing the three elemental rotations represented by Euler angles. Its successive orientations may be denoted as follows: • x-y-z, or x -y -z (initial) 0 0 0 • x’-y’-z’, or x -y -z (after first rotation) 1 1 1 • x″-y″-z″, or x -y -z (after second rotation) 2 2 2 • X-Y-Z, or x -y -z (final) 3 3 3 For the above-listed sequence of rotations, the line of nodes N can be simply defined as the orientation of X after the first elemental rotation. Hence, N can be simply denoted x’. Moreover, since the third elemental rotation occurs about Z, it does not change the orientation of Z. Hence Z coincides with z″. This allows us to simplify the definition of the Euler angles as follows: • α (or ) represents a rotation around the z-axis, • β (or ) represents a rotation around the x’-axis, • γ (or ) represents a rotation around the z″-axis.

Conventions Different authors may use different sets of rotation axes to define Euler angles, or different names for the same angles. Therefore any discussion employing Euler angles should always be preceded by their definition.[2] Unless otherwise stated, this article will use the convention described above. The three elemental rotations may occur either about the axes xyz of the original coordinate system, which is assumed to remain motionless (extrinsic rotations), or about the axes of the rotating coordinate system XYZ, which changes its orientation after each elemental rotation (intrinsic rotations). The definition above uses intrinsic rotations. There are six possibilities of choosing the rotation axes for proper Euler angles. In all of them, the first and third rotation axis are the same. The six possible sequences are: 1. z-x’-z″ (intrinsic rotations) or z-x-z (extrinsic rotations) 2. x-y’-x″ (intrinsic rotations) or x-y-x (extrinsic rotations) 3. y-z’-y″ (intrinsic rotations) or y-z-y (extrinsic rotations) 4. z-y’-z″ (intrinsic rotations) or z-y-z (extrinsic rotations) 5. x-z’-x″ (intrinsic rotations) or x-z-x (extrinsic rotations) 6. y-x’-y″ (intrinsic rotations) or y-x-y (extrinsic rotations) Euler angles between two reference frames are defined only if both frames have the same handedness.

Signs and ranges Angles are commonly defined according to the right hand rule. Namely, they have positive values when they represent a rotation that appears counter-clockwise when observed from a point laying on the positive part of the rotation axis, and negative values when the rotation appears clockwise. The opposite convention (left hand rule) is less frequently adopted. About the ranges: • for α and γ, the range is defined modulo 2π radians. A valid range could be [−π, π]. • for β, the range covers π radians (but can't be said to be modulo π). For example could be [0, π] or [−π/2, π/2]. The angles α, β and γ are uniquely determined except for the singular case that the xy and the XY planes are identical, the z axis and the Z axis having the same or opposite directions. Indeed, if the z-axis and the Z-axis are the same, β = 0 and only (α + γ) is uniquely defined (not the individual values), and, similarly, if the z-axis and the Z-axis are opposite, β = π and only (α − γ) is uniquely defined (not the individual values). These ambiguities are known as Euler angles 66

gimbal lock in applications.

Geometric derivation

The fastest way to get the Euler Angles of a given frame is to write the three given vectors as columns of a matrix and compare it with the expression of the theoretical matrix (see later table of matrices). Hence the three Euler Angles can be calculated. Nevertheless, the same result can be reached avoiding matrix algebra, which is more geometrical. Assuming a frame with unitary vectors (X, Y, Z) as in the main diagram, it can be seen that

And, since

we have

As is the double projection of a unitary vector, Projections of Z vector.

There is a similar construction for , projecting it first over the plane defined by the axis z and the line of nodes. As the angle between the planes is and , this leads to:

and finally, using the inverse cosine function,

Projections of Y vector. It is interesting to note that the inverse cosine function yields two possible values for the argument. In this geometrical description only one of the solutions is valid. When Euler Angles are defined as a sequence of rotations, all the solutions can be valid, but there will be only one inside the angle ranges. This is because the sequence of rotations to reach the target frame is not unique if the ranges are not previously defined.[3] For computational purposes, it may be useful to represent the angles using atan2(y,x): Euler angles 67

Tait–Bryan angles

The second type of formalism is called Tait–Bryan angles, after Peter Guthrie Tait and George H. Bryan. The definitions and notations used for Tait-Bryan angles are similar to those described above for proper Euler angles (Classic definition, Alternative definition). The only difference is that Tait–Bryan angles represent rotations about three distinct axes (e.g. x-y-z, or x-y’-z″), while proper Euler angles use the same axis for both the first and third elemental rotations (e.g., z-x-z, or z-x’-z″).

This implies a different definition for the line of nodes. In the first case it was defined as the intersection between two homologous Cartesian planes (parallel when Euler angles are zero; e.g. xy and Tait–Bryan angles. z-y’-x″ sequence (intrinsic XY). In the second one, it is defined as the intersection of two rotations; N coincides with y’) non-homologous planes (perpendicular when Euler angles are zero; e.g. xy and YZ).

Conventions

The three elemental rotations may occur either about the axes of the original coordinate system, which remains motionless (extrinsic rotations), or about the axes of the rotating coordinate system, which changes its orientation after each elemental rotation (intrinsic rotations). Tait–Bryan angles. z-x’-y″ sequence (intrinsic rotations; N coincides with x’) There are six possibilities of choosing the rotation axes for Tait–Bryan angles. The six possible sequences are: 1. x-y’-z″ (intrinsic rotations) or x-y-z (extrinsic rotations) 2. y-z’-x″ (intrinsic rotations) or y-z-x (extrinsic rotations) 3. z-x’-y″ (intrinsic rotations) or z-x-y (extrinsic rotations) 4. x-z’-y″ (intrinsic rotations) or x-z-y (extrinsic rotations) 5. z-y’-x″ (intrinsic rotations) or z-y-x (extrinsic rotations) 6. y-x’-z″ (intrinsic rotations) or y-x-z (extrinsic rotations) Euler angles 68

Alternative names

Tait-Bryan angles are also known as nautical angles, because they can be used to describe the orientation of a ship or aircraft, or Cardan angles, after the Italian mathematician and physicist Gerolamo Cardano (French: Jérôme Cardan; 24 September 1501 – 21 September 1576) who first described in detail the Cardan suspension and the Cardan joint.

They are also called heading, elevation and bank, or yaw, pitch and roll. Notice that the second set of terms is also used for the three aircraft principal axes.

Relationship with physical motions The principal axes of an aircraft

See also Givens rotations

Intrinsic rotations

Any target orientation can be reached, starting from a known reference orientation, using a specific sequence of intrinsic rotations, whose magnitudes are the Euler Angles of the target orientation. This example uses the z-x'-z" sequence. Intrinsic rotations are elemental rotations that occur about the axes of the rotating coordinate system XYZ, which changes its orientation after each elemental rotation. The XYZ system rotates, while xyz is fixed. Starting with XYZ overlapping xyz, a composition of three intrinsic rotations can be used to reach any target orientation for XYZ. The Euler or Tait Bryan angles (α, β, γ) are the amplitudes of these elemental rotations. For instance, the target orientation can be reached as follows: • The XYZ-system rotates by α about the Z-axis (which coincides with the z-axis). The X-axis now lies on the line of nodes. • The XYZ-system rotates about the now rotated X-axis by β. The Z-axis is now in its final orientation, and the X-axis remains on the line of nodes. • The XYZ-system rotates a third time about the new Z-axis by γ. The above-mentioned notation allows us to summarize this as follows: the three elemental rotations of the XYZ-system occur about z, x’ and z″. Indeed, this sequence is often denoted z-x’-z″. Sets of rotation axes associated Euler angles 69

with both proper Euler angles and Tait Bryan angles are commonly named using this notation (see above for details). Sometimes, the same sequence is simply called z-x-z, Z-X-Z, or 3-1-3, but this notation may be ambiguous as it may be identical to that used for extrinsic rotations. In this case, it becomes necessary to separately specify whether the rotations are intrinsic or extrinsic. Rotation matrices can be used to represent a sequence of intrinsic rotations. For instance,

represents a composition of intrinsic rotations about axes x-y’-z″, if used to pre-multiply column vectors, while

represents exactly the same composition when used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.

Extrinsic rotations Extrinsic rotations are elemental rotations that occur about the axes of the fixed coordinate system xyz. The XYZ system rotates, while xyz is fixed. Starting with XYZ overlapping xyz, a composition of three extrinsic rotations can be used to reach any target orientation for XYZ. The Euler or Tait Bryan angles (α, β, γ) are the amplitudes of these elemental rotations. For instance, the target orientation can be reached as follows: • The XYZ-system rotates about the z-axis by α. The X-axis is now at angle α with respect to the x-axis. • The XYZ-system rotates again about the x-axis by β. The Z-axis is now at angle β with respect to the z-axis. • The XYZ-system rotates a third time about the z-axis by γ. In sum, the three elemental rotations occur about z, x and z. Indeed, this sequence is often denoted z-x-z (or 3-1-3). Sets of rotation axes associated with both proper Euler angles and Tait Bryan angles are commonly named using this notation (see above for details). Rotation matrices can be used to represent a sequence of extrinsic rotations. For instance,

represents a composition of extrinsic rotations about axes x-y-z, if used to pre-multiply column vectors, while

represents exactly the same composition when used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.

Conversion between intrinsic and extrinsic rotations

Any extrinsic rotation is equivalent to an intrinsic rotation by the same angles but with inverted order of elemental rotations, and vice-versa. For instance, the intrinsic rotations x-y’-z″ by angles α, β, γ are equivalent to the extrinsic rotations z-y-x by

angles γ, β, α. Both are represented by a A rotation represented by Euler angles (α, β, γ) = (−60°, 30°, 45°), using z-x’-z″ matrix intrinsic rotations

if R is used to pre-multiply column vectors, and by a matrix Euler angles 70

if R is used to post-multiply row vectors. See Ambiguities in the definition of rotation matrices for more details.

The same rotation represented by (γ, β, α) = (45°, 30°, −60°), using z-x-z extrinsic rotations

Euler rotations

Euler rotations are defined as the movement obtained by changing one of the Euler angles while leaving the other two constant. Euler rotations are never expressed in terms of the external frame, or in terms of the co-moving rotated body frame, but in a mixture. They constitute a mixed axes of rotation system, where the first angle moves the line of nodes around the external axis z, the second rotates around the line of nodes and the third one is an intrinsic rotation around an axis fixed in the body that moves.

These rotations are called precession, nutation, and intrinsic rotation (spin). As an example, consider a top. The top spins around its own axis of symmetry; this corresponds to its intrinsic rotation. It also rotates around its pivotal axis, with its center of mass orbiting the pivotal axis; this rotation is a precession. Finally, the top can wobble up and down; the Euler rotations of the Earth. Intrinsic (green), inclination angle is the nutation angle. While all three are rotations when Precession (blue) and Nutation (red) applied over individual frames, only precession is valid as a rotation operator, and only precession can be expressed in general as a matrix in the basis of the space.

Gimbal analogy Euler angles 71

Left: A three axes z-x-z-gimbal where the external frame and external axis 'x' are not shown and axes 'Y' are perpendicular to each gimbal ring. Right: A simple diagram showing the Euler angles and where the axes 'Y' of intermediate frames are located. If we suppose a set of frames, able to move each with respect to the former according to just one angle, like a gimbal, there will exist an external fixed frame, one final frame and two frames in the middle, which are called "intermediate frames". The two in the middle work as two gimbal rings that allow the last frame to reach any orientation in space.

Intermediate frames The gimbal rings indicate some intermediate frames. They can be defined statically too. Taking some vectors i, j and k over the axes x, y and z, and vectors I, J, K over X, Y and Z, and a vector N over the line of nodes, some intermediate frames can be defined using the vector cross product, as following: • origin: [i,j,k] (where k = i × j) • first: [N,k × N,k] • second: [N,K × N,K] • final: [I,J,K] These intermediate frames are equivalent to those of the gimbal. They are such that they differ from the previous one in just a single elemental rotation. This proves that: • Any target frame can be reached from the reference frame just composing three rotations. • The values of these three rotations are exactly the Euler angles of the target frame.

Relationship to other representations Euler angles are one way to represent orientations. There are others, and it is possible to change to and from other conventions.

Rotation matrix Any orientation can be achieved by composing three elemental rotations, starting from a known standard orientation. Equivalently, any rotation matrix R can be decomposed as a product of three elemental rotation matrices. For instance:

is a rotation matrix that may be used to represent a composition of intrinsic rotations about axes x-y’-z″. However, both the definition of the elemental rotation matrices X, Y, Z, and their multiplication order depend on the choices taken by the user about the definition of both rotation matrices and Euler angles (see, for instance, Ambiguities in the definition of rotation matrices). Unfortunately, different sets of conventions are adopted by users in different contexts. The following table was built according to this set of conventions: 1. Each matrix is meant to operate by pre-multiplying column vectors (see Ambiguities in the definition of rotation matrices) 2. Each matrix is meant to represent an active rotation (the composing and composed matrices are supposed to act on the coordinates of vectors defined in the initial fixed reference frame and give as a result the coordinates of a rotated vector defined in the same reference frame). 3. Each matrix is meant to represent the composition of intrinsic rotations (around the axes of the rotating reference frame). 4. Right handed reference frames are adopted, and the right hand rule is used to determine the sign of the angles α, β, γ. For the sake of simplicity, the following table uses the following nomenclature: Euler angles 72

1. 1, 2, 3 represent the angles α, β, γ. 2. X, Y, Z are the matrices representing the elemental rotations about the axes x, y, z of the fixed frame (e.g., X 1 represents a rotation about x by an angle α). 3. s and c represent sine and cosine (e.g., s represents the sine of α). 1 4. Each matrix is denoted by the formula used to calculate it. If , we name it .

Proper Euler angles Tait-Bryan angles

To change the formulas for the opposite direction of rotation, change the signs of the sine functions. To change the formulas for passive rotations, transpose the matrices (then each matrix transforms the initial coordinates of a vector remaining fixed to the coordinates of the same vector measured in the rotated reference system; same rotation axis, same angles, but now the coordinate system rotates, rather than the vector).

Quaternions Unit quaternions, also known as Euler–Rodrigues parameters, provide another mechanism for representing 3D rotations. This is equivalent to the special unitary group description. Expressing rotations in 3D as unit quaternions instead of matrices has some advantages: • Concatenating rotations is computationally faster and numerically more stable. • Extracting the angle and axis of rotation is simpler. • Interpolation is more straightforward. See for example slerp. Euler angles 73

Geometric algebra Other representation comes from the Geometric algebra(GA). GA is a higher level abstraction, in which the quaternions are an even subalgebra. The principal tool in GA is the rotor where angle of rotation, rotation axis (unitary vector) and pseudoscalar (trivector in )

Properties The Euler angles form a chart on all of SO(3), the special of rotations in 3D space. The chart is smooth except for a polar coordinate style singularity along β=0. See charts on SO(3) for a more complete treatment. The space of rotations is called in general "The Hypersphere of rotations", though this is a misnomer: the group Spin(3) is isometric to the hypersphere S3, but the rotation space SO(3) is instead isometric to the real projective space RP3 which is a 2-fold quotient space of the hypersphere. This 2-to-1 ambiguity is the mathematical origin of spin in physics. A similar three angle decomposition applies to SU(2), the special unitary group of rotations in complex 2D space, with the difference that β ranges from 0 to 2π. These are also called Euler angles. The Haar measure for Euler angles has the simple form sin(β).dα.dβ.dγ, usually normalized by a factor of 1/8π². For example, to generate uniformly randomized orientations, let α and γ be uniform from 0 to 2π, let z be uniform from −1 to 1, and let β = arccos(z).

Higher dimensions It is possible to define parameters analogous to the Euler angles in dimensions higher than three.[4] The number of degrees of freedom of a rotation matrix is always less than the dimension of the matrix squared. That is, the elements of a rotation matrix are not all completely independent. For example, the rotation matrix in dimension 2 has only one degree of freedom, since all four of its elements depend on a single angle of rotation. A rotation matrix in dimension 3 (which has nine elements) has three degrees of freedom, corresponding to each independent rotation, for example by its three Euler angles or a magnitude one (unit) quaternion. In SO(4) the rotation matrix is defined by two quaternions, and is therefore 6-parametric (three degrees of freedom for every quaternion). The 4x4 rotation matrices have therefore 6 out of 16 independent components. Any set of 6 parameters that define the rotation matrix could be considered an extension of Euler angles to dimension 4. In general, the number of euler angles in dimension D is quadratic in D; since any one rotation consists of choosing two dimensions to rotate between, the total number of rotations available in dimension is , which for yields . Euler angles 74

Applications

Vehicles and moving frames

Their main advantage over other orientation descriptions is that they are directly measurable from a gimbal mounted in a vehicle. As gyroscopes keep their rotation axis constant, angles measured in a gyro frame are equivalent to angles measured in the lab frame. Therefore gyros are used to know the actual orientation of moving spacecraft, and Euler angles are directly measurable. Intrinsic rotation angle cannot be read from a single gimbal, so there has to be more than one gimbal in a spacecraft. Normally there are at least three for redundancy. There is also a relation to the well-known gimbal lock problem of Mechanical Engineering [5] . A gyroscope keeps its rotation axis constant. Therefore, angles measured in this frame are equivalent to angles measured in the lab frame

The most popular application is to describe aircraft attitudes, normally using a Tait–Bryan convention so that zero degrees elevation represents the horizontal attitude. Tait–Bryan angles represent the orientation of the aircraft respect a reference axis system (world frame) with three angles which in the context of an aircraft are normally called Heading, Elevation and Bank. When dealing with vehicles, different axes conventions are possible.

When studying rigid bodies in general, one calls the xyz system space coordinates, and the XYZ system body coordinates. The space coordinates are treated as unmoving, while the body coordinates are considered embedded in the moving body. Calculations involving acceleration, angular acceleration, angular velocity, angular momentum, and kinetic energy are often easiest in body coordinates, because then the moment of inertia tensor Heading, elevation and bank for an aircraft with axes does not change in time. If one also diagonalizes the rigid body's DIN 9300 moment of inertia tensor (with nine components, six of which are independent), then one has a set of coordinates (called the principal axes) in which the moment of inertia tensor has only three components.

The angular velocity of a rigid body takes a simple form using Euler angles in the moving frame. Also the Euler's rigid body equations are simpler because the inertia tensor is constant in that frame. Euler angles 75

Others

Euler angles, normally in the Tait–Bryan convention, are also used in robotics for speaking about the degrees of freedom of a wrist. They are also used in Electronic stability control in a similar way. Gun fire control systems require corrections to gun-order angles (bearing and elevation) to compensate for deck tilt (pitch and roll). In traditional systems, a stabilizing gyroscope with a vertical spin axis corrects for deck tilt, and stabilizes the optical sights and radar antenna. However, gun barrels point in a direction different from the line of sight to the target, to anticipate target movement and fall of the projectile due to , among other factors. Gun mounts roll and Industrial robot operating in a foundry. pitch with the deck plane, but also require stabilization. Gun orders include angles computed from the vertical gyro data, and those computations involve Euler angles. Euler angles are also used extensively in the quantum mechanics of angular momentum. In quantum mechanics, explicit descriptions of the representations of SO(3) are very important for calculations, and almost all the work has been done using Euler angles. In the early history of quantum mechanics, when physicists and chemists had a sharply negative reaction towards abstract group theoretic methods (called the Gruppenpest), reliance on Euler angles was also essential for basic theoretical work. In materials science, crystallographic texture (or preferred orientation) can be described using Euler angles. In texture analysis, the Euler angles provide the necessary mathematical depiction of the orientation of individual crystallites within a polycrystalline material, allowing for the quantitative description of the macroscopic material. The most common definition of the angles is due to Bunge and corresponds to the ZXZ convention. It is important to note, however, that the application generally involves axis transformations of tensor quantities, i.e. passive rotations. Thus the matrix that corresponds to the Bunge Euler angles is the transpose of that shown in the table above. Many mobile computing devices contain accelerometers which can determine these devices' Euler angles with respect to the earth's gravitational attraction. These are used in applications such as games, bubble level simulations, and kaleidoscopes.[citation needed]

References

[1] Novi Commentarii academiae scientiarum Petropolitanae 20, 1776, pp. 189–207 (E478) pdf (http:/ / math. dartmouth. edu/ ~euler/ docs/

originals/ E478. pdf)

[2] Mathworld (http:/ / mathworld. wolfram. com/ EulerAngles. html) does a good job describing this issue

[3] Gregory G. Slabaugh, Computing Euler angles from a rotation matrix (http:/ / www. soi. city. ac. uk/ ~sbbh653/ publications/ euler. pdf)

[4] A generalization of Euler Angles to n-dimensional real spaces (http:/ / ansi. altervista. org) [5] The relation between the Euler angles and the Cardan suspension is explained in chap. 11.7 of the following textbook: U. Krey, A. Owen, Basic Theoretical Physics – A Concise Overview, New York, London, , Heidelberg, Springer (2007) . Euler angles 76

Bibliography • Biedenharn, L. C.; Louck, J. D. (1981), Angular Momentum in Quantum Physics, Reading, MA: Addison–Wesley, ISBN 978-0-201-13507-7 • Goldstein, Herbert (1980), Classical Mechanics (2nd ed.), Reading, MA: Addison–Wesley, ISBN 978-0-201-02918-5 • Gray, Andrew (1918), A Treatise on Gyrostatics and Rotational Motion, London: Macmillan (published 2007), ISBN 978-1-4212-5592-7 • Rose, M. E. (1957), Elementary Theory of Angular Momentum, New York, NY: John Wiley & Sons (published 1995), ISBN 978-0-486-68480-2 • Symon, Keith (1971), Mechanics, Reading, MA: Addison-Wesley, ISBN 978-0-201-07392-8 • Landau, L.D.; Lifshitz, E. M. (1996), Mechanics (3rd ed.), Oxford: Butterworth-Heinemann, ISBN 978-0-7506-2896-9

External links

• Weisstein, Eric W., " Euler Angles (http:/ / mathworld. wolfram. com/ EulerAngles. html)", MathWorld.

• Java applet for the simulation of Euler angles available at http:/ / www. parallemic. org/ Java/ EulerAngles. html.

• EulerAngles (https:/ / itunes. apple. com/ us/ app/ eulerangles/ id584911325) - An iOS app for visualizing in 3D the three rotations associated with Euler angles.

• http:/ / sourceforge. net/ projects/ orilib – A collection of routines for rotation / orientation manipulation, including special tools for crystal orientations.

• Online tool to compose rotation matrices available at http:/ / www. vectoralgebra. info/ eulermatrix. html

Gimbal lock

Gimbal lock is the loss of one degree of freedom in a three-dimensional space that occurs when the axes of two of the three gimbals are driven into a parallel configuration, "locking" the system into rotation in a degenerate two-dimensional space. The word lock is misleading: no gimbal is restrained. All three gimbals can still rotate freely about their respective axes of suspension. Nevertheless, because of the parallel orientation of two of the gimbals axes there is no gimbal available to accommodate rotation along one axis.

Gimbals Gimbal with 3 axes of rotation. A set of three A gimbal is a ring that is suspended so it can rotate about an axis. gimbals mounted together to allow three degrees Gimbals are typically nested one within another to accommodate of freedom: roll, pitch and yaw. When two gimbals rotate around the same axis, the system rotation about multiple axes. loses one degree of freedom. They appear in gyroscopes and in inertial measurement units to allow the inner gimbal's orientation to remain fixed while the outer gimbal suspension assumes any orientation. In compasses and flywheel energy storage mechanisms they allow objects to remain upright. They are used to orient thrusters on rockets. Gimbal lock 77

Some coordinate systems in mathematics behave as if there were real gimbals used to measure the angles, notably Euler angles. For cases of three or fewer nested gimbals, gimbal lock inevitably occurs at some point in the system, due to properties of covering spaces (described below).

Gimbal lock in mechanical engineering

Gimbal lock in two dimensions Adding a fourth rotational axis can solve the Gimbal lock can occur in gimbal systems with two degrees of freedom problem of gimbal lock, but it requires the such as a theodolite with rotations about an azimuth and elevation in outermost ring to be actively driven so that it stays 90 degrees out of alignment with the two dimensions. These systems can gimbal lock at zenith and nadir, innermost axis (the flywheel shaft). Without because at those points azimuth is not well-defined, and rotation in the active driving of the outermost ring, all four axes azimuth direction does not change the direction the theodolite is can become aligned in a plane as shown above, pointing. again leading to gimbal lock and inability to roll.

Consider tracking a helicopter flying towards the theodolite from the horizon. The theodolite is a telescope mounted on a tripod so that it can move in azimuth and elevation to track the helicopter. The helicopter flies towards the theodolite and is tracked by the telescope in elevation and azimuth. The helicopter flies immediately above the tripod (i.e. it is at zenith) when it changes direction and flies at 90 degrees to its previous course. The telescope cannot track this maneuver without a discontinuous jump in one or both of the gimbal orientations. There is no continuous motion that allows it to follow the target. It is in gimbal lock. So there is an infinity of directions around zenith that the telescope cannot continuously track all movements of a target. Note that even if the helicopter does not pass through zenith, but only near zenith, so that gimbal lock does not occur, the system must still move exceptionally rapidly to track it, as it rapidly passes from one bearing to the other. The closer to zenith the nearest point is, the faster this must be done, and if it actually goes through zenith, the limit of these "increasingly rapid" movements becomes infinitely fast, namely discontinuous. To recover from gimbal lock the user has to go around the zenith – explicitly: reduce the elevation, change the azimuth to match the azimuth of the target, then change the elevation to match the target. Mathematically, this corresponds to the fact that spherical coordinates do not define a coordinate chart on the sphere at zenith and nadir. Alternatively, that the corresponding map T2→S2 from the torus T2 to the sphere S2 (given by the point with given azimuth and elevation) is not a covering map at these points. Gimbal lock 78

Gimbal lock in three dimensions

Consider a case of a level sensing platform on an aircraft flying due North with its three gimbal axes mutually perpendicular (i.e., roll, pitch and yaw angles each zero). If the aircraft pitches up 90 degrees, the aircraft and platform's Yaw axis gimbal becomes parallel to the Roll axis gimbal, and changes about yaw can no longer be compensated for.

Solutions

This problem may be overcome by use of a fourth gimbal, intelligently driven by a motor so as to maintain a large angle between roll and yaw gimbal axes. Another solution is to rotate one or more of the gimbals to an arbitrary position when gimbal lock is detected and thus reset the device. Gimbal locked airplane. When the pitch (green) and yaw (magenta) gimbals become aligned, Modern practice is to avoid the use of gimbals entirely. In the context changes to roll (blue) and yaw apply the same of inertial navigation systems, that can be done by mounting the rotation to the airplane. inertial sensors directly to the body of the vehicle (this is called a strapdown system) and integrating sensed rotation and acceleration digitally using quaternion methods to derive vehicle orientation and velocity. Another way to replace gimbals is to use fluid bearings or a flotation chamber.

Gimbal lock on Apollo 11

A well-known gimbal lock incident happened in the Apollo 11 Moon mission. On this spacecraft, a set of gimbals was used on an inertial measurement unit (IMU). The engineers were aware of the gimbal lock problem but had declined to use a fourth gimbal. Some of the reasoning behind this decision is apparent from the following quote: "The advantages of the redundant gimbal seem to be outweighed Normal situation: the three gimbals are independent by the equipment simplicity, size advantages, and corresponding implied reliability of the direct three degree of freedom unit." —David Hoag, Apollo Lunar Surface Journal They preferred an alternate solution using an indicator that would be triggered when near to 85 degrees pitch. "Near that point, in a closed stabilization loop, the torque motors could theoretically be commanded to flip the gimbal 180 degrees instantaneously. Instead, in the LM, the computer flashed a 'gimbal lock' warning at 70 degrees and froze the IMU at 85 degrees" —Paul Fjeld, Apollo Lunar Surface Journal Rather than try to drive the gimbals faster than they could go, the Gimbal lock: two out of the three gimbals are in system simply gave up and froze the platform. From this point, the the same plane, one degree of freedom is lost spacecraft would have to be manually moved away from the gimbal lock position, and the platform would have to be manually realigned using the stars as a reference. Gimbal lock 79

After the Lunar Module had landed, Mike Collins aboard the Command Module joked "How about sending me a fourth gimbal for Christmas?"

Robotics

In robotics, gimbal lock is commonly referred to as "wrist flip", due to the use of a "triple-roll wrist" in robotic arms, where three axes of the wrist, controlling yaw, pitch, and roll, all pass through a common point. An example of a wrist flip, also called a wrist singularity, is when the path through which the robot is traveling causes the first and third axes of the robot's wrist to line up. The second wrist axis then attempts to spin 180° in zero time to maintain the orientation of the end effector. The result of a singularity can be quite dramatic and can have adverse effects on the robot arm, the end effector, and the process. The importance of non-singularities in robotics has led the American National Standard for Industrial Robots and Robot Systems — Safety Industrial robot operating in a foundry. Requirements to define it as "a condition caused by the collinear alignment of two or more robot axes resulting in unpredictable robot motion and velocities".[1]

Gimbal lock in applied mathematics The problem of gimbal lock appears when one uses Euler angles in applied mathematics; developers of 3D computer programs, such as 3D modeling, embedded navigation systems, and video games must take care to avoid it. In formal language, gimbal lock occurs because the map from Euler angles to rotations (topologically, from the 3-torus T3 to the real projective space RP3) is not a covering map – it is not a local homeomorphism at every point, and thus at some points the rank (degrees of freedom) must drop below 3, at which point gimbal lock occurs. Euler angles provide a means for giving a numerical description of any rotation in three-dimensional space using three numbers, but not only is this description not unique, but there are some points where not every change in the target space (rotations) can be realized by a change in the source space (Euler angles). This is a topological constraint – there is no covering map from the 3-torus to the 3-dimensional real projective space; the only (non-trivial) covering map is from the 3-sphere, as in the use of quaternions. To make a comparison, all the translations can be described using three numbers , , and , as the succession of three consecutive linear movements along three perpendicular axes , and axes. That's the same for rotations, all the rotations can be described using three numbers , , and , as the succession of three rotational movements around three axes that are perpendicular one to the next. This similarity between linear coordinates and angular coordinates makes Euler angles very intuitive, but unfortunately they suffer from the gimbal lock problem. Gimbal lock 80

Loss of a degree of freedom with Euler angles A rotation in 3D space can be represented numerically with matrices in several ways. One of these representations is:

with and constrained in the interval , and constrained in the interval . Let's examine for example what happens when . Knowing that and , the above expression becomes equal to:

The second matrix is the identity matrix and has no effect on the product. Carrying out matrix multiplication of first and third matrices:

And finally using the trigonometry formulas:

Changing the values of and in the above matrix has the same effects: the rotation angle changes, but the rotation axis remains in the direction: the last column and the last row in the matrix won't change. Only one degree of freedom (corresponding to ) remains; one other (corresponding to ) has been lost (the third degree of freedom corresponding to the choice ). The only solution for and to recover different roles is to change to some value other than 0. A similar problem appears when . One can choose another convention for representing a rotation with a matrix using Euler angles than the Z-X-Z convention above, and also choose other variation intervals for the angles, but in the end there is always at least one value for which a degree of freedom is lost. Note that the gimbal lock problem does not make Euler angles "invalid" (they always serve as a well-defined coordinate system), but it makes them unsuited for some practical applications.

Alternate orientation representation The cause of gimbal lock is representing an orientation as 3 axial rotations with Euler angles. A potential solution therefore is to represent the orientation in some other way. This could be as a rotation matrix, a quaternion, or a similar orientation representation that treats the orientation as a value rather than 3 separate and related values. Given such a representation, the user stores the orientation as a value. To apply angular changes, the orientation is modified by a delta angle/axis rotation. The resulting orientation must be re-normalized to prevent floating-point error from successive transformations from accumulating. For matrices, re-normalizing the result requires converting the matrix into its nearest orthonormal representation. For quaternions, re-normalization requires performing quaternion normalization. Gimbal lock 81

References [1] ANSI/RIA R15.06-1999

External links

• Euler angles and gimbal lock (video) Part 1 (http:/ / guerrillacg. org/ home/ 3d-rigging/ the-rotation-problem),

Part 2 (http:/ / guerrillacg. org/ home/ 3d-rigging/ euler-rotations-explained)

• Gimble Lock - Explained (http:/ / www. youtube. com/ watch?v=rrUCBOlJdt4) at YouTube Article Sources and Contributors 82 Article Sources and Contributors

Quaternion Source: http://en.wikipedia.org/w/index.php?oldid=578190683 Contributors: 62.100.19.xxx, 95j, A. di M., AManWithNoPlan, Af1523, Afteread, AjAldous, Aleks kleyn, Amantine, Andrej.westermann, Andrewa, Anniepoo, Anypodetos, ArnoldReinhold, Arved, AugPi, AxelBoldt, Baccyak4H, Bdesham, Ben Ben, Ben Standeven, BenBaker, BenFrantzDale, BenRG, Bhny, Bidabadi, BjKa, Bob A, Bob Loblaw, Boing! said Zebedee, Brion VIBBER, C quest000, CRGreathouse, Cacadril, Caylays wrath, Cffk, Charles Matthews, Chas zzz brown, Chris Barista, Chris Howard, Chris the speller, ChrisHodgesUK, Chtito, Ckoenigsberg, Cleared as filed, Clements, Cochonfou, CommonsDelinker, Conversion script, Cronholm144, Crust, Cullinane, Cwkmail, Cyp, D.Lazard, D.M. from Ukraine, D6, DPoon, DanMS, DanielPenfield, Daqu, DaveRErickson, David Eppstein, David H Braun (1964), David Haslam, DavidCary, DavidWBrooks, Davidleblanc, Decrypt3, DeltaIngegneria, DemonThing, Denevans, DialaceStarvy, Diocles, Dmmaus, Docu, Donner60, Donpage, Dratman, Dreish, Dstahlke, Dysprosia, EdJohnston, Eequor, Eeyore22, Elimisteve, ElonNarai, Encephalon, Equendil, Eriatarka, Eric Kvaalen, EricEnfermero, EthanOConnor, Excirial, FDT, Fgnievinski, Frank Lofaro Jr., Frazzydee, Frencheigh, Fropuff, Gabeh, Gandalf61, Gdr, Geometry guy, Giftlite, Godvjrt, Gonz3d, Goochelaar, Graham87, GregorB, Greyhawthorn, Grzegorj, Hairy Dude, HaukeStrasdat, Helder.wiki, Henry Delforn (old), Hgrosser, Hkuiper, Hmains, Hobojaks, Homebum, Hotlorp, Hu, Hubbard rox 2008, Huntingg, Hyacinth, Icairns, Ida Shaw, Ideyal, Iluvcapra, Imagi-King, Incnis Mrsi, Irregulargalaxies, JWWalker, JackSchmidt, JadeNB, JakeVortex, JamesBWatson, Jan Hidders, Jason Quinn, Jay Gatsby, Jeff02, JeffBobFrank, Jemebius, Jespdj, Jheald, Jitse Niesen, Jj137, Jkominek, Joanjoc, Joe Kress, JoeBruno, JohnBlackburne, Jondel, Joriki, Jtoft, Jumbuck, Jwynharris, KMcD, KSmrq, Kainous, Katzmik, Kbk, KickAssClown, Knutux, Koeplinger, Kri, Kupirijo, Kwiki, Linas, Lockeownzj00, LokiClock, Looxix, LordEniac, Lotje, Lotu, Lupin, M0tty, Macrakis, Magioladitis, Makeemlighter, Mark L MacDonald, MarkMYoung, MathMartin, Mav, Mdd, Menchi, Mets501, Mezzaluna, Michael C Price, Michael Hardy, Michael.Pohoreski, Mkch, Monsterman222, MrOllie, Mrh30, Mskfisher, Muhandes, NULL, Nbarth, Neilbeach, Niac2, Niceguyedc, Nigholith, Ninly, Nneonneo, Noeckel, Nomen4Omen, Norm mit, Nousernamesleft, OTB, OlEnglish, Oleg Alexandrov, Olli Niemitalo, OneWeirdDude, Oreo Priest, Orionus, Ornithikos, OrthogonalFrog, Ozob, P0mbal, PAR, Pablo X, Pak21, Paolo.dL, Papadim.G, Patrick, Patsuloi, Paul D. Anderson, Paul White, Pdecalculus, Pdn, Phil Boswell, PhilipO, Phys, Pmaillot, Pmanderson, Pmg, Pol098, Policron, Positron, Possum, Pred, ProkopHapala, Prosfilaes, Pvazteixeira, QuatSkinner, Quaternionist, Quondum, Qutezuce, R'n'B, R.e.b., R3m0t, RMcGuigan, Raiden10, Rdnzl, Reddi, Revolver, Reywas92, Rgdboer, Rjwilmsi, Robinh, Rogper, Ross Fraser, Rs2, Rschwieb, Ruud Koot, SDC, Salgueiro, Sam Staton, Sangwine, Sanjaynediyara, Schmock, Scythe33, Selket, Shawn in Montreal, Shmorhay, Shsilver, Silverfish, Simetrical, Siroxo, Sjoerd visscher, Skarebo, SkyWalker, Slow Smurf, Sneakums, Soler97, Spiral5800, Spoon!, Stamcose, Steven J Haker, StevenDH, Stevenj, Stwalczyk, SuperUser79, Tachikoma's All Memory, Taits Wrath, TakuyaMurata, Taw, Tculig, TenPoundHammer, Terry Bollinger, TheLateDentarthurdent, TheTito, Thenry1337, Thorwald, Tinfoilcat, Titi2, Tkuvho, TobyNorris, Tomchiukc, Trifonov, Trumpet marietta 45750, Tsemii, Turgidson, Vanished user 23i4hjwrjfiij4t, Varlaam, Virginia-American, Vkravche, Voltagedrop, Wavelength, WegianWarrior, WhiteHatLurker, Wiki101012, William Allen Simpson, Wleizero, Wshun, Wwoods, XJaM, Xantharius, Yoderj, Zedall, Zundark, Zy26, 378 anonymous edits

Quaternions and spatial rotation Source: http://en.wikipedia.org/w/index.php?oldid=577017284 Contributors: AeronBuchanan, Albmont, Ananthsaran7, ArnoldReinhold, AxelBoldt, BD2412, Ben pcc, BenFrantzDale, BenRG, Bgwhite, Bjones410, Bmju, Brews ohare, Bulee, CALR, Catskul, Ceyockey, Chadernook, Charles Matthews, CheesyPuffs144, Count Truthstein, Cyp, Daniel Brockman, Daniel.villegas, Darkbane, David Eppstein, Davidjholden, Denevans, Depakote, Dionyziz, Dl2000, Download, Ebelular, Edward, Endomorphic, Enosch, Eregli bob, Eugene-elgato, Fgnievinski, Fish-Face, Forderud, ForrestVoight, Fropuff, Fyrael, Gaius Cornelius, GangofOne, Genedial, Giftlite, Gj7, Gonz3d, Gutza, HenryHRich, Hyacinth, Ig0r, Incnis Mrsi, J04n, Janek Kozicki, Jemebius, Jermcb, Jheald, Jitse Niesen, JohnBlackburne, JohnPritchard, JohnnyMrNinja, Josh Triplett, Joydeep.biswas, KSmrq, Kborer, Kordas, Lambiam, LeandraVicci, Lemontea, Light current, Linas, Lkesteloot, Looxix, Lotu, Lourakis, LuisIbanez, Maksim343, ManoaChild, Markus Kuhn, MathsPoetry, Michael C Price, Michael Hardy, Mike Stramba, Mild Bill Hiccup, Mtschoen, Nayuki, Oleg Alexandrov, Onlinetexts, PAR, Paddy3118, Paolo.dL, Patrick, Patrick Gill, Patsuloi, PiBVi, Ploncomi, Pt, Quondum, RJHall, Rainwarrior, Randallbsmith, Reddi, Reddwarf2956, Rgdboer, Robinh, Ruffling, RzR, Samuel Huang, Sebsch, Short Circuit, Sigmundur, SlavMFM, Soler97, TLKeller, Tamfang, Terry Bollinger, Timo Honkasalo, Tkuvho, TobyNorris, User A1, WVhybrid, WaysToEscape, X-Fi6, Yoderj, Zhw, Zundark, 221 anonymous edits

Versor Source: http://en.wikipedia.org/w/index.php?oldid=568790791 Contributors: Adriatikus, BenFrantzDale, Biggerj1, Chinju, Doc glasgow, Harryboyles, Hobojaks, Incnis Mrsi, Jitse Niesen, Joule36e5, Kaba3, Michael Hardy, Niceguyedc, Paolo.dL, Prim Ethics, Quondum, Rgdboer, Rich Farmbrough, Tassedethe, 9 anonymous edits

Dual quaternion Source: http://en.wikipedia.org/w/index.php?oldid=577344550 Contributors: Banus, BenFrantzDale, Bgwhite, Bloutiouf, CBM, Charlik, Crowsnest, Delphenich, EpicArtist, Giftlite, InverseHypercube, JWWalker, Jheald, JohnBlackburne, LilHelpa, Mplecnik, Myasuda, Papadim.G, Prof McCarthy, Quondum, Rgdboer, Tobias Bergemann, VanBuren, 22 anonymous edits

Screw theory Source: http://en.wikipedia.org/w/index.php?oldid=577889832 Contributors: Aburov, BenFrantzDale, Ceyockey, Charles Matthews, Conscious, David Eppstein, Delphenich, Designprof, Dfeldmann, Diderot, Dmartins, Dontknowhow, Drm0hr, Elf, Eric Lengyel, Flowerpotman, HWU K, Hansamurai, Jalexiou, Kborer, Longhorn, Melchoir, Michael Devore, Nmnogueira, Open2universe, Paolo.dL, Patrick, Phrood, Prof McCarthy, Rgdboer, RichardMills65, Rjwilmsi, SchreiberBike, Shannonbonannon, Silly rabbit, TheTito, Vishakha, Zerodamage, 45 anonymous edits

Exponential map Source: http://en.wikipedia.org/w/index.php?oldid=562036802 Contributors: Adam majewski, Aetheling, BenFrantzDale, CBM, Charles Matthews, Choni, CsDix, Dfeldmann, Fly by Night, Fropuff, Funandtrvl, Gauge, Geometry guy, Giftlite, Headbomb, Ike9898, JackSchmidt, JoeRiel, JohnCD, Lantonov, Linas, Magioladitis, Marsupilamov, Michael Hardy, Nbarth, Niceguyedc, Niout, Notburnt, Nsk92, Oleg Alexandrov, Policron, R.e.b., Raven in Orbit, Reedbeta, Rgdboer, RobHar, Silly rabbit, Silverfish, Slawekb, Smack, Stootoon, Sullivan.t.j, Sławomir Biały, Terse, Tosha, Zundark, 26 anonymous edits

Rotation formalisms in three dimensions Source: http://en.wikipedia.org/w/index.php?oldid=574246430 Contributors: Aesopos, AndrewDressel, Auntof6, Ballinamona, Ben pcc, BenFrantzDale, Calwiki, Catslash, Charles Matthews, Chessfan, Control.valve, Derek Andrews, EdJohnston, Emily Jensen, Eulerian vibe, Excirial, Fgnievinski, Fmalan, Giftlite, Hansee, Harold Philby, Haseldon, Headbomb, Ida Shaw, Imnotminkus, Incnis Mrsi, Iorsh, Jefago, Jemebius, Jheald, Jlenthe, JohnBlackburne, Jonoji, Jorunn, Juansempere, Keilandreas, Kerichill, Kmatzen, Laadams85, LilHelpa, Lliu2008, Lourakis, Mandarax, Michael Hardy, Mukkakukaku, Muphrid15, Nageh, Niac2, NickPenguin, Omnipaedista, Otypon, Paolo.dL, Papadim.G, Parvons, Patrick O'Leary, Qetuth, Quondum, Radagast83, Ricciov, Rjwilmsi, Ryankrameretc, SchreiberBike, Shlomo Levinger, Smutny, Soler97, Stamcose, Tennenrishin, The Anome, Thelastcraftman, Tkhaxton, Vliegeois, Waldir, Wesha, WillowW, Winston365, Yoderj, 110 anonymous edits

Conversion between quaternions and Euler angles Source: http://en.wikipedia.org/w/index.php?oldid=536886939 Contributors: Anakin101, BlindWanderer, Charles Matthews, EdJohnston, Eiserlohpp, Fmalan, Forderud, Gaius Cornelius, Guentherwagner, Hyacinth, Icairns, Icalanise, Incnis Mrsi, JWWalker, Jcuadros, Jemebius, Jgoppert, Jheald, JohnBlackburne, JordiGH, Juansempere, Linas, Lionelbrits, Marcofantoni84, Mjb4567, Niac2, Oleg Alexandrov, PAR, Patrick, RJHall, Radagast83, Stamcose, Steve Lovelace, ThomasV, TobyNorris, Waldir, Woohookitty, ZeroOne, 34 anonymous edits

Euler angles Source: http://en.wikipedia.org/w/index.php?oldid=577169955 Contributors: Abel Cavaşi, Ahtih, Alangowitz, Asmeurer, AugPi, B.d.mills, Beland, Bill the Galactic Hero, Bobo192, Brunetton, CALR, CBM, CRGreathouse, CarlKenner, Carlospascal, Charles Matthews, Chessfan, Ckambler, Claystein, Cmprince, Colonel angel, Cthissen, David Biddulph, Dratman, Drewnoakes, Dringend, Dthomsen8, ELinguist, Ebelular, EdJohnston, Eilonb3, Error9312, Everyking, Fmalan, Fropuff, Giftlite, Girolamous, Gjacquenot, GoldAndBronze, GregorB, Grue, Guentherwagner, Guillaume Ponchel, Guntherwagner, Hyacinth, Ideal gas equation, Incnis Mrsi, Insertesla, James.ransley, Jheald, John of Reading, JohnBlackburne, Jonschlueter, Joostdhw, Jrvz, Jsnx, Juansempere, Jyril, KSmrq, Karada, Kborer, Killy mcgee, KnightRider, Ksimek, Lani101, Lekthor, Leonard G., Linas, Lionelbrits, Looxix, Magioladitis, Marc W. Abel, MarcusMaximus, Maxtremus, McSush, Mechgyver, Mets501, Mhym, Michael Hardy, Mike Rosoft, Mikhail Ryazanov, Mmeijeri, Monsterman222, Moradmandali, MrOllie, MusikAnimal, Nbarth, Netheril96, Niac2, NocNokNeo, Nono64, Novas0x2a, Oleg Alexandrov, PAR, Paolo.dL, Papadim.G, Patrick, Pgan002, Phancy Physicist, Phtempel, RG2, Rausch, RexNL, Rhubbarb, Rjwilmsi, Robinh, Ryan Vesey, Ryandle, SEIBasaurus, Saibod, Sbstn, Secret of success, Shadowjams, Sintaku, Stamcose, StephenNewby, Tadeu, Terrek, The Anome, Thelastcraftman, Thumperward, Thuresson, Thurth, TobyNorris, Tony1, Tosha, True bugman, Urhixidur, Waldir, Wayne Slam, Wesha, Wholmestu, Wmayner, XJaM, Yoderj, Ziggle, Znode, 381 anonymous edits

Gimbal lock Source: http://en.wikipedia.org/w/index.php?oldid=569692458 Contributors: AzraelUK, B.d.mills, Beetstra, Bersl2, Bruyninc, Catclock, CatherineMunro, Cherkash, Chetvorno, Cjcollier, DMahalko, Daev, Damjan1980, DarthNerdious, Davidhorman, Demomoer, Dysprosia, Eric Le Bigot, Fabien.chraim, Faffod, Furrykef, Gail, Giftlite, Gmcrivello, GroverInfo, Herbee, Hooperbloob, Incnis Mrsi, JA.Davidson, JamesBWatson, Jarble, Jcloninger, Jesdisciple, JoOleaN, John, KSmrq, Karada, Katiecoh438, Kauffner, Kevinpurcell, Khazar2, Kjinsert, Kku, Korval, Krientle, Kwan3217, Linas, Lookang, LtPowers, LucasVB, MacMog, Markioffe, MathsPoetry, Michael Hardy, Mild Bill Hiccup, Minesweeper, MistyMorn, Mmeijeri, N2e, Naddy, Nahum Reduta, Nbarth, NoNonsenseHumJock, PAR, PatheticCopyEditor, Patriotic dissent, PerryTachett, Pinethicket, Ppareit, R'n'B, Robinh, SEIBasaurus, Shai-kun, Slawekb, Soler97, Sonett72, The Anome, Thumperward, Tom Duff, Toon81, Utcursch, Waldir, Whitepaw, Wyatt915, 83 anonymous edits Image Sources, Licenses and Contributors 83 Image Sources, Licenses and Contributors

Image:Quaternion2.png Source: http://en.wikipedia.org/w/index.php?title=File:Quaternion2.png License: Public Domain Contributors: Original uploader was ProkopHapala at en.wikipedia Image:William Rowan Hamilton Plaque - geograph.org.uk - 347941.jpg Source: http://en.wikipedia.org/w/index.php?title=File:William_Rowan_Hamilton_Plaque_-_geograph.org.uk_-_347941.jpg License: Creative Commons Attribution-Share Alike 2.0 Generic Contributors: Anne Bauval, Silverblaster Image:Cayley graph Q8.svg Source: http://en.wikipedia.org/w/index.php?title=File:Cayley_graph_Q8.svg License: Creative Commons Attribution-Sharealike 3.0 Contributors: Cayley_graph_Q8.png: Sullivan.t.j. Original uploader was Sullivan.t.j at en.wikipedia derivative work: M0tty (talk) File:Diagonal rotation.png Source: http://en.wikipedia.org/w/index.php?title=File:Diagonal_rotation.png License: Creative Commons Attribution-Sharealike 3.0 Contributors: MathsPoetry File:Space of rotations.png Source: http://en.wikipedia.org/w/index.php?title=File:Space_of_rotations.png License: Creative Commons Attribution-Sharealike 3.0 Contributors: Flappiefh, MathsPoetry, Phy1729, SlavMFM File:Hypersphere of rotations.png Source: http://en.wikipedia.org/w/index.php?title=File:Hypersphere_of_rotations.png License: Creative Commons Attribution-Sharealike 3.0 Contributors: Hawky.diddiz, MathsPoetry, Perhelion, Phy1729 Image:Spherical triangle.svg Source: http://en.wikipedia.org/w/index.php?title=File:Spherical_triangle.svg License: Public Domain Contributors: derivative work: Pbroks13 (talk) RechtwKugeldreieck.svg: Traced by User:Stannered from a PNG by en:User:Rt66lt File:Quaternion Plaque on Broom Bridge.jpg Source: http://en.wikipedia.org/w/index.php?title=File:Quaternion_Plaque_on_Broom_Bridge.jpg License: GNU Free Documentation License Contributors: Albertomos, AnonMoos, Captmondo, Charlik, Darapti, G.dallorto, J.-H. Janßen, Man vyi, Mark L MacDonald, Quibik, Silverfish, 1 anonymous edits Image:pure screw.svg Source: http://en.wikipedia.org/w/index.php?title=File:Pure_screw.svg License: Creative Commons Zero Contributors: User:Zerodamage File:Azimuthal Equidistant N90.jpg Source: http://en.wikipedia.org/w/index.php?title=File:Azimuthal_Equidistant_N90.jpg License: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contributors: RokerHRO File:E8Petrie.svg Source: http://en.wikipedia.org/w/index.php?title=File:E8Petrie.svg License: Creative Commons Attribution-Sharealike 3.0 Contributors: Jgmoxness Image:ExponentialMap-01.png Source: http://en.wikipedia.org/w/index.php?title=File:ExponentialMap-01.png License: Public Domain Contributors: Darapti, EugeneZelenko, Fropuff Image:Euler AxisAngle.png Source: http://en.wikipedia.org/w/index.php?title=File:Euler_AxisAngle.png License: Public Domain Contributors: DF Malan Image:Praezession.svg Source: http://en.wikipedia.org/w/index.php?title=File:Praezession.svg License: GNU Free Documentation License Contributors: User Herbye (German Wikipedia). Designed by Dr. H. Sulzer Image:Eulerangles.svg Source: http://en.wikipedia.org/w/index.php?title=File:Eulerangles.svg License: Creative Commons Attribution 3.0 Contributors: Lionel Brits Image:plane.svg Source: http://en.wikipedia.org/w/index.php?title=File:Plane.svg License: Creative Commons Attribution 3.0 Contributors: Original uploader was Juansempere at en.wikipedia. Image:EulerProjections.svg Source: http://en.wikipedia.org/w/index.php?title=File:EulerProjections.svg License: Creative Commons Attribution 3.0 Contributors: Juan Sempere. Original uploader was Juansempere at en.wikipedia Image:EulerProjections2.svg Source: http://en.wikipedia.org/w/index.php?title=File:EulerProjections2.svg License: Creative Commons Attribution-Sharealike 3.0 Contributors: Juansempere at en.wikipedia Image:taitbrianzyx.svg Source: http://en.wikipedia.org/w/index.php?title=File:Taitbrianzyx.svg License: Creative Commons Attribution 3.0 Contributors: Juansempere Image:taitbrianangles.svg Source: http://en.wikipedia.org/w/index.php?title=File:Taitbrianangles.svg License: Creative Commons Attribution 3.0 Contributors: Eulerangles.svg: Lionel Brits derivative work: Juansempere (talk) Image:Yaw Axis Corrected.svg Source: http://en.wikipedia.org/w/index.php?title=File:Yaw_Axis_Corrected.svg License: Creative Commons Attribution-Sharealike 3.0 Contributors: Yaw_Axis.svg: Auawise derivative work: Jrvz (talk) file:euler2a.gif Source: http://en.wikipedia.org/w/index.php?title=File:Euler2a.gif License: Creative Commons Attribution-Sharealike 3.0,2.5,2.0,1.0 Contributors: Euler2.gif: Juansempere derivative work: Xavax file:intermediateframes.svg Source: http://en.wikipedia.org/w/index.php?title=File:Intermediateframes.svg License: Creative Commons Attribution-Share Alike Contributors: Juansempere Image:EulerG.png Source: http://en.wikipedia.org/w/index.php?title=File:EulerG.png License: Public Domain Contributors: DF Malan Image:EulerX.png Source: http://en.wikipedia.org/w/index.php?title=File:EulerX.png License: Public Domain Contributors: DF Malan file:gimbaleuler.svg Source: http://en.wikipedia.org/w/index.php?title=File:Gimbaleuler.svg License: Public Domain Contributors: derivative work: McSush (talk) Gimbaleuler.gif: Lars H. Rohwedder (User:RokerHRO) file:gimbaleuler2.svg Source: http://en.wikipedia.org/w/index.php?title=File:Gimbaleuler2.svg License: Creative Commons Attribution-Sharealike 3.0 Contributors: User:Ronhjones image:Gyroscope operation.gif Source: http://en.wikipedia.org/w/index.php?title=File:Gyroscope_operation.gif License: Public Domain Contributors: Bensin, Juiced lemon, LucasVB, Roomba, Santosga, SharkD, Wst, 9 anonymous edits File:Automation of foundry with robot.jpg Source: http://en.wikipedia.org/w/index.php?title=File:Automation_of_foundry_with_robot.jpg License: Public Domain Contributors: KUKA Roboter GmbH, Bachmann File:Gimbal 3 axes rotation.gif Source: http://en.wikipedia.org/w/index.php?title=File:Gimbal_3_axes_rotation.gif License: Creative Commons Attribution-Sharealike 3.0 Contributors: User:Lookang File:Gimbal lock still occurs with 4 axis.png Source: http://en.wikipedia.org/w/index.php?title=File:Gimbal_lock_still_occurs_with_4_axis.png License: Public Domain Contributors: Gyroscope_operation.gif: User:Kieff derivative work: DMahalko (talk) File:Gimbal lock airplane.gif Source: http://en.wikipedia.org/w/index.php?title=File:Gimbal_lock_airplane.gif License: Creative Commons Attribution-Sharealike 3.0 Contributors: User:Lookang Image:no gimbal lock.png Source: http://en.wikipedia.org/w/index.php?title=File:No_gimbal_lock.png License: GNU Free Documentation License Contributors: MathsPoetry Image:gimbal lock.png Source: http://en.wikipedia.org/w/index.php?title=File:Gimbal_lock.png License: Creative Commons Attribution-Sharealike 3.0 Contributors: MathsPoetry License 84 License

Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/