# How is it that angular velocities are vectors, while rotations aren't?

Does anyone have an intuitive explanation of why this is the case?

This is a note on why angular velocities are vectors, to complement Matt and David's excellent explanations of why rotations are not.

When we say something has a certain angular velocity $\vec{\omega_1}$, we mean that each part of the thing has a position-dependent velocity

$\vec{v_1}(\vec{r}) = \vec{\omega_1} \times \vec{r}$.

We might consider another one of these motions

$\vec{v_2}(\vec{r}) = \vec{\omega_2} \times \vec{r}$

and wonder what happens when we add them. We get

$\vec{v_1}(\vec{r}) + \vec{v_2}(\vec{r}) = \vec{\omega_1} \times \vec{r} + \vec{\omega_2} \times \vec{r}$.

The cross product is linear, so this is equivalent to

$(\vec{v_1} + \vec{v_2})(\vec{r}) = (\vec{\omega_1} + \vec{\omega_2}) \times \vec{r}$,

so it makes fine sense to add angular velocities by vector addition.

• Thanks, this was exactly what I was looking for - although I don't think I expressed it clearly. I already knew that rotations were non-commutative – Casebash Nov 6 '10 at 8:16
• @Casebash: ah, sorry if I misjudged the level of technical detail you were looking for. I figured since your question was written in a simple manner it would probably (eventually) be read by people who didn't know about rotations not commuting. – David Z Nov 7 '10 at 3:59
• @David: Your answer was excellent as well – Casebash Nov 7 '10 at 5:01
• I certainly can't argue with the OP's feeling of satisfaction, but don't you think you assumed true the very thing you were trying to explain in this answer...? "When we say something has a certain angular velocity $\vec{\omega}_1$", here you start with angular velocity as a vector, then proceed to show that it exhibits vector characteristics... This answer was bound to demonstrate its vector nature, since you assumed it... – kηives Jan 12 '13 at 6:52
• @kηives No, it does not assume the conclusion. That is just the definition of angular velocity. As a counterexample to your claim, one could say that a rotation vector $\vec{R}$ is defined such that displacement of a point is $\Delta \vec{r} = \vec{R} \times \vec{r}$. Nonetheless, these "rotation vectors" would not add like vectors, even though I wrote down the definition in terms of vectors. – Mark Eichenlaub Jan 12 '13 at 14:30

There are actually several different ways to interpret that question, depending on what you mean by "vector" and "rotation". But here's a sense that I've often wondered about myself: in introductory physics, the velocity vector is defined as the time derivative of the position vector (relative to some fixed point). Why is the same not true of angular velocity - that is, why isn't there an "angular position vector" which angular velocity can be the derivative of?

As a matter of fact, sometimes there is. Think about this simple case: pick a single, fixed rotation axis and only consider rotations about that axis. (2D rotations, if you prefer to think of it that way) You'd pick a certain orientation to be the "origin," and you could actually define an angular position vector, pointing along the rotational axis, with length equal to the amount of rotation relative to that "origin" orientation.

Now, suppose your object's angular position is changing over time. You can take the derivative of the angular position vector, and hopefully you can see that what you'd get is just the good old angular velocity. No problem there.

But we live in a 3D world (relativity notwithstanding), so what happens when you try to generalize that model to 3 dimensions? That's where you run into problems. As an example, take the object from the last paragraph, which was rotating around one particular axis - say, the $\hat{z}$ axis. Now suppose it changes its motion so that it starts rotating around a different axis, maybe the $\hat{x}$ axis. How will you represent its orientation now?

You might be tempted to use an "angular position vector" pointing in the $\hat{z}$ direction, whose length represents the amount of rotation around the $\hat{z}$ axis, and another "angular position vector" pointing in the $\hat{x}$ direction, whose length represents the amount of rotation around the $\hat{x}$ axis. After all, that works for position. But it doesn't work for angular position. The reason why is that rotations do not commute, to use the technical lingo. What that means is that if you apply rotation A to an object and follow it up by rotation B which is around a different axis, you get a different result than if you apply rotation B followed by rotation A.

This little issue gets in the way if you try to combine your two $x$- and $z$- angular position vectors into one overall angular position vector. Presumably, you would write this overall vector as $(\theta_x, 0, \theta_z)$ (the zero might represent the amount of rotation around the $\hat{y}$ axis). That vector would represent the sum of $\theta_x$ times the unit rotation around the $\hat{x}$ direction and $\theta_z$ times the unit rotation around the $\hat{z}$ direction. But it's missing a critical piece of information: which of those rotations was performed first? If you gave that vector to your physicist friend, he would be unable to reproduce the orientation of the object because he doesn't know whether to perform the $x$-rotation or the $z$-rotation first. Sure, you may know that the object was rotated in the $z$-direction first, but that information needs to be contained in the vector for it to be of any use.

The point of the last paragraph is that there's no way to sensibly create linear combinations of these "angular position vectors." And that pretty much ruins their usefulness, because the ability to be linearly combined is absolutely fundamental to the definition of a vector, and it underlies a lot of the analytical techniques we use in physics.

By the way, in this view, the reason matrices work to represent rotations is that matrices offer you an additional operation, multiplication, which you can use to combine them. It happens that matrix multiplication, for certain matrices (3x3 antisymmetric with determinant 1), has the same properties as composing rotations; most notably, it's also noncommutative. Multiplying matrix A by matrix B can give you a different result from multiplying matrix B by matrix A.

Defining properties of vectors are that you can add them and multiply them by constants. These both make sense for angular velocities. On the other hand, adding rotations doesn't make sense. What you can do with two rotations is compose them: first rotate one way, then rotate another. This operation doesn't look like addition of any sort. For one thing, it doesn't commute. Rotating something $30$ degrees around the $x$-axis, then $60$ degrees around the $y$-axis, is not the same thing as doing those two operations in the opposite order. (If you've never done so, pick up an object and try!) So the mathematical operation that corresponds to rotations has to be something that is able to express noncommutativity. Matrices work very naturally for this; for two matrices A and B, it isn't true in general that $AB = BA$.

• Particularly, the rotational group is not abelian (which express noncommutativity) and instead of regular addition (or whatever your favorite operation is), you have function composition. More info: en.wikipedia.org/wiki/Rotation_group. – Robert Smith Nov 6 '10 at 2:50
• +1 for making the exact same point I did in about $\frac{1}{4}$ of the space ;-) – David Z Nov 6 '10 at 3:00

You are mixing up different things. A rotation transformation is a transformation of vectors in a linear space -- such a transformation doesn't need to have any angular velocities or anything, and it doesn't even need to have anything to do with a mechanical rotation.

The angular velocity is the rate of a physical rotation, measured as $\vec\omega=d\vec\theta/dt$, where $\vec\theta$ is also a vector, the rotational analog of displacement.

In any case, the $\vec\theta$ is not the same as the matrix of rotation. The latter is a function of $\vec\theta$, but a matrix can be used to represent a lot more things than just a rotation. Note that a rotation can still be modelled as a time-dependent matrix itself, like $\vec{x}(t)=A(t)\vec{x}(0)$, but the matrix is still not the same as the angle of rotation.

Note: I've been a bit sneaky in claiming that $\vec\theta$ is a "vector" -- it's really not, although it happens to have 3 components in 3 dimensions so it's conventional to write the "xy" component as the "z" component, "xz" as the "y" component, "yz" as "x", but in general it's best to think of angles as (2, 0) tensors $\theta^{\mu\nu}$. Interestingly, the rotation transformation is a (1, 1) tensor $A^{\mu}{}_{\nu}$.

This may not be intuitive at first but I think it is valuable in understanding the relationship between rotation matrices and angular velocities. Also, I know it does not directly answer the question, but I sense there is confusion in the OP and this might help.

So given the rotation matrices $E_1$ and $E_2$ for two connected rigid bodies how do be establish their angular velocity kinematics? How is $\vec{\omega}_1$ related to $\vec{\omega}_2$?

Supposed the two rotation matrices are related by a single rotation about an axis $\hat{z}$ local to the first body and angle $\theta$ such that

$$E_2 = E_1 {\rm Rot}(\hat{z}, \theta)$$

Differentiate the above equation to get to the angular velocities using the rotating frame derivative.

$$\frac{{\rm d}}{{\rm d} t} E_1 = \vec{\omega}_1 \times E_1$$ $$\frac{{\rm d}}{{\rm d} t} E_2 = \vec{\omega}_2 \times E_2$$ $$\frac{{\rm d}}{{\rm d} t} {\rm Rot}(\hat{z},\theta)= \dot{\theta} \hat{z} \times {\rm Rot}(\hat{z},\theta)$$

Using the chain rule then

$$\frac{{\rm d}}{{\rm d} t} E_2 =\left(\frac{{\rm d}}{{\rm d} t} E_1 \right) {\rm Rot}(\hat{z},\theta) + E_1 \left( \frac{{\rm d}}{{\rm d} t} {\rm Rot}(\hat{z},\theta)\right)$$

$$\vec{\omega}_2 \times E_2 = \left( \vec{\omega}_1 \times E_1 \right) {\rm Rot}(\hat{z},\theta) + E_1 \left(\dot{\theta} \hat{z} \times {\rm Rot}(\hat{z},\theta)\right)$$ $$\vec{\omega}_2 \times E_2 = \vec{\omega}_1 \times E_2 + \dot{\theta} (E_1 \hat{z}) \times (E_1 {\rm Rot}(\hat{z},\theta))$$

$$\vec{\omega}_2 \times E_2 = ( \vec{\omega}_1 + E_1 \hat{z} \dot{\theta} ) \times E_2$$

which is only true when

$$\vec{\omega}_2 = \vec{\omega}_1 + E_1 \hat{z} \dot{\theta}$$

The equation above described the rotational kinematics of the connecting joint, and it is derived from the sequence of rotations. Similarly for more complicated joints.

The time derivative of the rotation sequence yields the angular rotation kinematics.

The angular velocity is represented in the coordinate system as a rectilinear vector. Immediately we see a conflict between directions of the vector and physical quantity. That is, the theory of vectors is an inadequate model of angular physical quantities. These vectors are called pseudovectors. This problem is described in the article "Angular vectors in vector theory" https://doi.org/10.5539/jmr.v9n5p71. These angular vectors simulate the angular direction in the coordinate system, they are located in the plane in which the physical quantity is located. The article describes all the basic properties of the angular vector. Dakzhe proved that the result of a cross product of vectors can not be a rectilinear vector. The result of the cross product of the vectors is the angular vector https://en.wikipedia.org/wiki/Talk:Cross_product#Cross_product_does_not_exist .

I'm not knowledgeable in some aspects of the question, but I will provide an answer unrelated to others.

An object can rotate so fast that some representations of angular velocity cannot be valid. For example, when an object rotates more than 180-degrees or 360-degrees (pi or 2*pi radians) per unit time, the representation must be able to represent such large angles.

But for some purposes and in certain representations, the orientation or rotation-angle or rotation-velocity is inherently limited to pi or 2*pi radians by the representation, and therefore cannot represent a rotational velocity beyond a modest value. What typically happens mathematically is, the orientation/rotation/angular-velocity is "truncated" to the supported or representable range, which is usually -pi to +pi or -2*pi to +2*pi.

While this often leaves the object in the correct orientation at the computed moment, it completely hides how many revolutions occurred since the previous state (computed at the previous time). This is physically WILDLY incorrect for some purposes. For example, if some part of the fast-rotating object collided with another object, the computed impact velocity at the point of contact is vastly lower than the real value.

Even worse, often this error makes the object rotate in the wrong direction! For example, consider what happens when an object rotates 718 degrees (around some/any axis) during the interval in question. This will appear to be a rotation of -2 degrees, which is both "vastly slower" than reality, but also in the opposite direction from reality.

I believe this is a good reason to never adopt quaternions and certain other representations for angular velocity... at least in any system where angular velocity can possibly exceed pi radians per second (or pi radians per time interval).