# Charts on SO(3)

In mathematics, the special orthogonal group in three dimensions, otherwise known as the rotation group SO(3), is a naturally occurring example of a manifold. The various charts on SO(3) set up rival coordinate systems: in this case there cannot be said to be a preferred set of parameters describing a rotation. There are three degrees of freedom, so that the dimension of SO(3) is three. In numerous applications one or other coordinate system is used, and the question arises how to convert from a given system to another.

## The space of rotations

In geometry the rotation group is the group of all rotations about the origin of three-dimensional Euclidean space R$^3$ under the operation of composition. By definition, a rotation about the origin is a linear transformation that preserves length of vectors (it is an isometry) and preserves orientation (i.e. handedness) of space. A length-preserving transformation which reverses orientation is called an improper rotation. Every improper rotation of three-dimensional Euclidean space is a rotation followed by a reflection in a plane through the origin.
Composing two rotations results in another rotation; every rotation has a unique inverse rotation; and the identity map satisfies the definition of a rotation. Owing to the above properties, the set of all rotations is a group under composition. Moreover, the rotation group has a natural manifold structure for which the group operations are smooth; so it is in fact a Lie group. The rotation group is often denoted SO(3) for reasons explained below.
The space of rotations is isomorphic with the set of rotation operators and the set of orthonormal matrices with determinant +1. It is also closely related (double covered) with the set of quaternions with their internal product, as well as to the set of rotation vectors (though here the relation is harder to describe, see below for details), with a different internal composition operation given by the product of their equivalent matrices.
Rotation vectors notation arise from the Euler's rotation theorem which states that any rotation in three dimensions can be described by a rotation by some angle about some axis. Considering this, we can then specify the axis of one of these rotations by two angles, and we can use the radius of the vector to specify the angle of rotation. These vectors represent a ball in 3D with an unusual topology.
This 3D solid sphere is equivalent to the surface of a 4D disc, which is also a 3D variety. For doing this equivalence, we will have to define how will we represent a rotation with this 4D-embedded surface.

## The hypersphere of rotations
### Visualizing the hypersphere

It is interesting to consider the space as the three-dimensional sphere S$^3$, the boundary of a disk in 4-dimensional Euclidean space. For doing this, we will have to define how we represent a rotation with this 4D-embedded surface.
The way in which the radius can be used to specify the angle of rotation is not straightforward. It can be related to circles of latitude in a sphere with a defined north pole and is explained as follows:
Beginning at the north pole of a sphere in three-dimensional space, we specify the point at the north pole to represent the identity rotation. In the case of the identity rotation, no axis of rotation is defined, and the angle of rotation (zero) is irrelevant. A rotation with its axis contained in the xy-plane and 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 southward, 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 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.

### Aliases

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, which 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 3D Euclidean space of points) as the neighborhood shrinks.
This behavior is matched by the set of unit quaternions: A general quaternion 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 sine 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.

## Parametrizations

We can parameterize the space of rotations in several ways, but degenerations will always appear. For example, if we use three angles (Euler angles), 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 w$^2$ + x$^2$ + y$^2$ + z$^2$ = 1. The point (w,x,y,z) represents a rotation around the axis directed by the vector (x,y,z) by an angle
    $\alpha =2\cos ^{-1}(w)=2\sin ^{-1}\left({\sqrt {1-(x^{2}+y^{2}+z^{2})}}\right).$
This problem is similar to parameterize the bidimensional surface of a sphere with two coordinates, such as latitude and longitude. 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.
The possible parametrizations candidates include:
* Euler angles (θ,φ,ψ), representing a product of rotations about the x, y and z axes;
* Tait–Bryan angles (θ,φ,ψ), representing a product of rotations about the x, y and z axes;
* Axis angle pair (n, θ) of a unit vector representing an axis, and an angle of rotation about it;
* A quaternion q of length 1 (cf. Versor, quaternions and spatial rotation, 3-sphere), the components of which are also called Euler–Rodrigues parameters;
* a 3 × 3 skew-symmetric matrix, via exponentiation; the 3 × 3 skew-symmetric matrices are the Lie algebra ${\mathfrak {so}}(3)$, and this is the exponential map in Lie theory;
* Cayley rational parameters, based on the Cayley transform, usable in all characteristics;
* Möbius transformations, $w={\frac {az+b}{cz+d}},$ acting on the Riemann sphere.

### Problems of the parametrizations

There are problems in using these as more than local charts, to do with their multiple-valued nature, and singularities. That is, one must be careful above all to work only with diffeomorphisms in the definition of chart. Problems of this sort are inevitable, since SO(3) is diffeomorphic to real projective space P$^3$(R), which is a quotient of S$^3$ by identifying antipodal points, and charts try to model a manifold using R$^3$.
This explains why, for example, the Euler angles appear to give a variable in the 3-torus, and the unit quaternions in a 3-sphere. The uniqueness of the representation by Euler angles breaks down at some points (cf. gimbal lock), while the quaternion representation is always a double cover, with q and −q giving the same rotation.
If we use a skew-symmetric matrix, every 3 × 3 skew-symmetric matrix is determined by 3 parameters, and so at first glance, the parameter space is R$^3$. Exponentiating such a matrix results in an orthogonal 3 × 3 matrix of determinant 1 – in other words, a rotation matrix, but this is a many-to-one map. Note that it is not a covering map – while it is a local homeomorphism near the origin, it is not a covering map at rotations by 180 degrees. It is possible to restrict these matrices to a ball around the origin in R$^3$ so that rotations do not exceed 180 degrees, and this will be one-to-one, except for rotations by 180 degrees, which correspond to the boundary S$^2$, and these identify antipodal points – this is the cut locus. The 3-ball with this identification of the boundary is P$^3$(R). A similar situation holds for applying a Cayley transform to the skew-symmetric matrix.
Axis angle gives parameters in S$^2$ × S$^1$; if we replace the unit vector by the actual axis of rotation, so that n and −n give the same axis line, the set of axis becomes P$^2$(R), the real projective plane. But since rotations around n and −n are parameterized by opposite values of θ, the result is an S$^1$ bundle over P$^2$(R), which turns out to be P$^3$(R).
Fractional linear transformations use four complex parameters, a, b, c, and d, with the condition that ad−bc is non-zero. Since multiplying all four parameters by the same complex number does not change the parameter, we can insist that ad−bc=1. This suggests writing (a,b,c,d) as a 2 × 2 complex matrix of determinant 1, that is, as an element of the special linear group SL(2,C). But not all such matrices produce rotations: conformal maps on S$^2$ are also included. To only get rotations we insist that d is the complex conjugate of a, and c is the negative of the complex conjugate of b. Then we have two complex numbers, a and b, subject to |a|$^2$+|b|$^2$=1. If we write a+bj, this is a quaternion of unit length.
Ultimately, since R$^3$ is not P$^3$(R), there will be a problem with each of these approaches. In some cases, we need to remember that certain parameter values result in the same rotation, and to remove this issue, boundaries must be set up, but then a path through this region in R$^3$ must then suddenly jump to a different region when it crosses a boundary. Gimbal lock is a problem when the derivative of the map is not full rank, which occurs with Euler angles and Tait–Bryan angles, but not for the other choices. The quaternion representation has none of these problems (being a two-to-one mapping everywhere), but it has 4 parameters with a condition (unit length), which sometimes makes it harder to see the three degrees of freedom available.

### Applications

One area in which these considerations, in some form, become inevitable, is the kinematics of a rigid body. One can take as definition the idea of a curve in the Euclidean group E(3) of three-dimensional Euclidean space, starting at the identity (initial position). The translation subgroup T of E(3) is a normal subgroup, with quotient SO(3) if we look at the subgroup E$^+$(3) of direct isometries only (which is reasonable in kinematics). The translational part can be decoupled from the rotational part in standard Newtonian kinematics by considering the motion of the center of mass, and rotations of the rigid body about the center of mass. Therefore, any rigid body movement leads directly to SO(3), when we factor out the translational part.
These identifications illustrate that SO(3) is connected but not simply connected. As to the latter, in the ball with antipodal surface points identified, consider the path running from the "north pole" straight through the center down to the south pole. This is a closed loop, since the north pole and the south pole are identified. This loop cannot be shrunk to a point, since no matter how you deform the loop, the start and end point have to remain antipodal, or else the loop will "break open". In terms of rotations, this loop represents a continuous sequence of rotations about the z-axis starting and ending at the identity rotation (i.e. a series of rotations through an angle φ where φ runs from 0 to 2π).
Surprisingly, if you run through the path twice, i.e., from north pole down to south pole and back to the north pole so that φ runs from 0 to 4π, you get a closed loop which can be shrunk to a single point: first move the paths continuously to the ball's surface, still connecting north pole to south pole twice. The second half of the path can then be mirrored over to the antipodal side without changing the path at all. Now we have an ordinary closed loop on the surface of the ball, connecting the north pole to itself along a great circle. This circle can be shrunk to the north pole without problems. The Balinese plate trick and similar tricks demonstrate this practically.
The same argument can be performed in general, and it shows that the fundamental group of SO(3) is cyclic group of order 2. In physics applications, the non-triviality of the fundamental group allows for the existence of objects known as spinors, and is an important tool in the development of the spin–statistics theorem.
The universal cover of SO(3) is a Lie group called Spin(3). The group Spin(3) is isomorphic to the special unitary group SU(2); it is also diffeomorphic to the unit 3-sphere S$^3$ and can be understood as the group of unit quaternions (i.e. those with absolute value 1). The connection between quaternions and rotations, commonly exploited in computer graphics, is explained in quaternions and spatial rotations. The map from S$^3$ onto SO(3) that identifies antipodal points of S$^3$ is a surjective homomorphism of Lie groups, with kernel {±1}. Topologically, this map is a two-to-one covering map.