# Question on the Axis-Angle Representation

According to Wikipedia's entry on the axis-angle representation:

In mathematics, the axis–angle representation of a rotation parameterizes a rotation in a three-dimensional Euclidean space by three quantities, a unit vector e indicating the direction of an axis of rotation, and an angle θ describing the magnitude of the rotation about the axis. Only two numbers, not three, are needed to define the direction of the unit vector e because its magnitude is constrained.

Question: Why is this so? Suppose we are in $\mathbb{R}^3$ and our Euler axis of rotation is represented by the vector pointing in the direction of $(1,1,1)$ with unit length. How can this direction be represented by only 2 quantities?

• I had a typo. I meant "how can this be expressed by 2 numbers" instead of 3. – user1770201 Sep 22 '16 at 11:18
• I don't know if this is related, but the rotation group SO(3), as a manifold, is known to have dimension 3. – edm Sep 22 '16 at 13:30
• Generally vector [a,b.c] has 3 DOF, but we have additional constraint for a direction vector i.e. we know that it has the unit length so it stays for it only 2 DOF.. – Widawensen Sep 23 '16 at 11:20

This does deserve a little explanation: the comment is deceptive in that it must hide some conventions. I don't see anything in the article about this, but the following discussion seems necessary to justify it.

If you think about a unit vector of $\mathbb R^3$ called $(x,y,?)$, then strictly speaking there are two options for $?$, namely $\pm\sqrt{1-x^2-y^2}$. This is the constraint that the comment refers to.

So why doesn't it mention this wrinkle about two choices? Well, the axis of a transformation doesn't really depend on the direction of the unit vector $(x,y,z)$, just the line it lies in. So $(-x,-y,-z)$ would be as good as $(x,y,z)$, if we are representing our transformation. That being the case, we can always get the last coordinate to be positive if we wish.

From the beginning then, suppose we have an axis given by $(x,y,z)$ and angle of rotation. If $z$ is negative, we first replace this vector by $(-x,-y,-z)$ so that $z$ becomes positive. Then after normalizing the whole vector you have a unit vector pointing along the axis of rotation with positive $z$ coordinate. This can be our representation of the axis, and we probably choose the sign of our angle to maintain the right-hand rule of rotation using this vector.

Conversely, given any line through the origin, there's a unit vector with positive $z$ coordinate lying within the line. Now you can see that there is a $1-1$ correspondence of rotations with unit vectors in the upper-half-space $\{(x,y,z)\mid x,y\in \mathbb R, z\in \mathbb R^+\}$. This space can obviously be parameterized this way: $\{(x,y,\sqrt{1-x^2-y^2}\mid x,y\in \mathbb R\}$, with two parameters per element.

There are many ways to parameterize the axis vector with just two numbers, since the vector is just the displacement from the origin to some point on the unit sphere, which is a two-dimensional surface.

One answer has already given a perfectly good way to parameterize the axis. Another possibility is to use spherical coordinates $(\phi, \theta, r)$ with $r=1$ (that is, $r$ is a fixed constant and is assumed to take that value without having to be stated). Then given any real numbers $\phi$ and $\theta$ you can write \begin{align} x & = \cos \theta \cos \phi, \\ y & = \sin \theta \cos \phi, \\ z & = \sin \phi \\ \end{align} and $(x,y,z)$ is one of the desired axis vectors. Moreover, given an axis vector $(x,y,z)$ you can solve the system of equations above to find values of $\phi$ and $\theta$ that give the vector $(x,y,z)$.

There are multiple choices of $\phi$ and $\theta$ for any given axis vector, so you'll probably want to adopt some convention to decide which $\phi$ and $\theta$ are the "principal" values to describe any given axis. Also, again, a negative rotation around axis $e$ is a positive rotation around $-e$, so there's another source of duplication of parameters for the same rotation that you may want to resolve.