We've seen two different approaches to rotations. I've called these coordinate systems. So for example, using rotation matrices, you can represent rotations with a set of nine numbers or nine coordinates. Those coordinates are redundant. So in reality they are not really coordinates. We've done the same thing with Euler angles where you get a set of three numbers or three coordinates. We're now going to look at a different way of looking at rotations. This involves explicitly representing the axis of rotation and the angle of rotation. The key idea comes from a theorem due to Euler. Euler said, that a displacement of a rigid body such that a point on the rigid body, say O, remains fixed and by the way that is essentially what a rotation is, a displacement That leaves a single point fixed. While this rotation is equivalent to a rotation about a fixed axis through a point O, notice that a description of the rotation doesn't really talk about an axis. But what Euler is saying, is that any rotation is equivalent to a rotation about a fixed axis through a point O. Let's see how to verify that. In order to do that again, we're going to consider displacements where the point O is fixed. So here are two positions and orientations. And I'm going to translate the rigid body from the second position in orientation, so that the two origins are identical so the point P has moved to the new point P prime. As we've seen before, the vector OP can be written as a linear combination of the basis factors a1, a2, a3. And likewise, the point P Prime can also be written as a linear combination of a1, a2, and a3. So now we have two three-by-one vectors, the vector p and the vector q, that are related by the rotation matrix. What we'd like to do, is to ask ourselves if there's an axis that remains fixed under this rotation. In other words, is there a point P such that after the rotation through R, it stays fixed, in other words, the point P is in variant to the rotation. This is the essence of the proof. So again, going back to the basic equation where p gets rotated to q. The question we ask is is there a point p that maps onto itself. If there is such a point, then that point p would define the axis of rotation Well if there was such a point p we can write, p = Rp and this is nothing but a statement that one is the item value of the rotation matrix R. So we can solve the item value problem and verify that if Rp were equal to lambda p, that lambda equals 1 is a solution to this eigenvalue problem. And this is easy to verify and it's a good exercise for you to try. Now I want us to consider the inverse problem. Suppose I give you an axis of rotation and an angle of rotation. How do you calculate the rotation matrix armed with these two pieces of information? And note that we already know how to do this if the axis of rotation is the x axis or the y axis or the z axis. In fact, we discussed formulae for these very simple cases. But now, we have an arbitrarily oriented axis given by the unit factor U and an arbitrary angle of rotation given by the angle phi. Let's consider a generic vector P. And let's see how this vector p gets rotated if the rigid body to which it's attached gets rotated about the axis u through an angle phi. Before we do that, I want to break this vector up into two components. One that's parallel to the vector u, and the other that's perpendicular to the vector u. The one that's parallel to the vector u I can obtain by projecting it along u. And then, if I subtract that projection, I get the vector that's perpendicular to the vector u. Now, it's clear that the component of the vector that's along the axis is never changed by the rotation. In other words, the vector (p.u)u remains unchanged by the rotation r. But the perpendicular component, which is along v will get rotated. So I'm going to use now three vectors, u, v and the orthogonal vector w, where w is given by u cross v as my local coordinate system or my local basis. So once again, the vector along u does not get rotated, but the vector along v does get rotated. And this is what it looks like, it's v cos phi plus w times sin phi. So this is simple trigonometry and you should be able to verify it. So the vector P, after rotation, now consists of two new components. One of which is the same as the component before, the one parallel to you. But the one perpendicular to you has changed, and that is now given by V cosign plus W sign If I add up these two components, I get the new vector. Now we can derive an expression for the rotated p, and that's given by pcos phi + uu transpose (1-cos phi)p+u cross p sin phi. So that is the resultant expression. Now you have to remember that p is a generic vector, so this expression holds for any vector p. So now we have this expression, we're going to simplify it just a little bit. Notice a term U cross p. While the term u cross p is obviously a cross product. But it can also be written as a matrix times p. And this matrix we'll call, u hat. So, u hat is a skewed symmetric matrix Whose components are the same as the components of u. Now we have this expression. Let's remind ourselves that p is a generic vector. And so this expression applies to any vector attached to the rigid body. The rotation of a generic vector is given by the right hand side, the formula we just derived. If you remove the vector P from both sides, you essentially get an expression that depends only on the axis of rotation and the angle of rotation. And this is the rotation matrix. It consists of three terms, one is the identity times cosine phi, the second is u, u transpose (1- cosine phi). And the third is u hat times sine phi where u hat is this q symmetric three by three matrix. So this formula is due to Rodrigues. And it's called Rodrigues' formula. So the key idea now is quite simple. Given a generic vector u, and a rotation angle phi. You can derive the rotation matrix using this closed form expression. And you can verify that this expression makes sense by testing it on some simple cases we've already seen before. So for instance, take u to be a unit vector along the x axis. And you can verify that the result is the same as a rotation about the x axis through phi. So, again we can revisit this question, is this representation a onto representation? Is it 1-1? It's onto if every rotation matrix can be represented by a combination of a vector u and an angle phi. It's one to one if there's a unique representation. Euler's theorem is pretty much telling us that it's onto. Because we know for every rotation there's an axis of rotation. What about the 1-1 property? Well, we can immediately see that this does not hold. If you look at a rotation about the axis u through an angle phi. And the rotation about an axis pointing in the opposite direction through the angle two pi minus phi or minus phi. You can verify that these two rotations are the same. In order to verify it, just think about rotating a body one way through an angle phi. And then the other way through an angle minus phi. And they're basically the same notation. You can also substitute these into Rodrigues' formula, and verify that you get the same notation matrix. So what if we restrict phi to this interval from zero to pi? If we do that, then minus phi will not be in the same interval as fee. Likewise two pi minus fee will not be in the same interval as fee. Does this make the math one to one? This is something you should think about. One way to explore this question is to look at Rodrigues formula. And then ask ourselves for a given rotation matrix can we extract u and v from this matrix? So to do this, you can verify that if you take the trace of the rotation matrix, let's call that pal. Which is essentially R one one plus R two two plus R three three. And you subtract one from it, divide by two, and you get cosine of phi. And this is obtained by directly applying Rodrigues' formula to get the trace, and you should verify that this is true. Or if this true, you can also see from Rodrigues's formula that u hat can be obtained by just doing R minus R transposed divided by 2sin(Phi). So you obtain in this case u without actually solving for the eigenvector. So is the axis angle rotation 1 to 1? It's actually many to 1. Even restricting the angle from 0 to pi does not make it 1 to 1. It is one to one, except for these special cases. The trace equal to 3 is equivalent to cosine phi being equal to 1, which means phi equal to 0. While a phi equal to 0, there is no unique axis of rotation. If the trace is equal to -1 and phi equal to pi, in this case you can have two axis of rotation. Either the axis you've obtained using the formula above or the opposite. The -u, the best way to think about the rotation group, SO(3), is by imagining a solid ball of radius pi. Any point on the ball's surface or inside the ball essentially represents a rotation whose angle is given by the radius. And the vector that describes the point with the origin of the sphere as the origin of the vector tells you the axis of rotation. Again, it seems like there's a one to one map between points on the surface of the ball or inside the ball and the set of rotations. This is true, again, except for points that are on the surface of the ball. So if you look at any pair of points on the ball, but they are diametrically opposite, they essentially correspond to the same rotation.