Axes of rotation

I recently tried my hand at throwing axes at a wall, courtesy of Whistle Punks in London. While this was a fun and satisfyingly macho activity, I noticed that the attendants were careful to position people at various distances from the target to increase their chances of success. This piqued my curiosity, so here I’ll have a look at why that might be.

This is the simplified setup we’ll be considering:


The axe is thrown at velocity v, released at some initial angle \theta, and travels a distance d to a target. In flight it rotates at an angular velocity \omega, and is thrown by an arm of length \ell_a.

The conditions for a successful throw are

  • The axe hits the target perfectly parallel, as drawn
  • The axe hits the target at the same height as it was thrown, i.e. it can travel vertically, but must fall back to its original height

After being thrown, the axe has vertical velocity v\sin\theta. It returns to its original height after a time

t = \frac{2v\sin\theta}{g}

where g is the acceleration due to gravity. The horizontal distance covered in this time must be d, so the first condition means

v^2 = \frac{dg}{\sin 2\theta}

and so the launch velocity and angle must be related.

For the second condition, note that the angular velocity is \omega = v/\ell_a and that for the axe to end up at the correct angle, we must have

\omega t = \theta + 2n\pi

where n is an integer.

Putting everything together, what we end up with is a condition on the initial launch angle as a function of the target distance

\frac{d}{\ell_a} = \cos\theta (\theta + 2n\pi)

This is a nice, compact expression, and doesn’t depend on the strength of gravity or the launch speed, just the angle you release the axe at. The interesting thing is the fact that n is restricted in the values it can take, and therefore so are the other quantities.

Plotted below are solutions to this equation for various n, assuming \ell_a is 45 cm, and d is 6 m.


In general, there is a lower bound on the angle you throw the axe at – too small and it isn’t possible for the axe to rotate the right number of times. For this geometry, the axe must rotate at least 3 times in flight, and be released at an angle of around 45 degrees. If the axe rotates more than this, it must be thrown at a greater angle to allow time for the rotations.

It is also possible to flip this round and ask, for a given number of rotations, what values can d take?

The equations must again be solved numerically, but for solutions to exist one can show that

  • n = 0 \Rightarrow d < 0.56\ell_a
  • n = 1 \Rightarrow d < 6.35\ell_a
  • n \rightarrow \infty \Rightarrow d < 2\pi n\ell_a

Clearly the n = 0 case is impossible, as then the target is so close there’s no way to actually throw an axe. For every extra rotation, the limit in d is raised by approximately 6 times  the length of your forearm.

The Whistle Punk attendants seem to have been doing their job properly then – a given thrower probably has a roughly fixed release angle, release velocity and effective arm length, meaning that the distance must be adjusted to score a good hit, by up to a maximum of \pi \times \ell_a, or a metre and a bit for most people.

Throws at an angle

Another mistake I witnessed was throwers releasing the axe at an odd angle, meaning it wasn’t rotating purely in the vertical plane. This causes the rotational motion to become much more complex. We’ll describe the motion of the axe using the Euler angles, usually denoted as (\theta, \phi, \psi) as below:


The order of rotation matters, so to get to a particular orientation, the axe is rotated by \theta from the vertical axis first, then \phi about the vertical axis, then by \psi about the ‘axe’ axis.

There is a very compact set of equations, called the Euler equations, which describe how the axis of rotation evolves with respect to the axe. These equations are interesting to examine, and contain a whole set of behaviours leading to chaos in some circumstances. They are however not so useful here, as I want to study the motion of the axe in the ‘laboratory frame’, i.e. a frame fixed with respect to an external observer.

I therefore went through the process of writing down the Euler equations in this frame, and they are mildly horrific to behold. Here I_1, I_2, I_3 are the moments of inertia of the axe about the three coordinate axes, which measure how difficult it is to rotate a rigid body in a particular direction.

\ddot{\phi} \left( I_1\sin^2\theta\sin^2\psi + I_2\sin^2\theta\cos^2\psi+I_3\cos^2\theta \right)+\ddot{\theta}\left( I_1\sin\theta\sin\psi\cos\psi - I_2\sin\theta\sin\psi\cos\psi \right)+\ddot{\psi} \left( I_3\cos\theta \right)+\dot{\theta}\dot{\phi}\left( 2I_1\sin\theta\cos\theta\sin^2\psi + 2I_2\sin\theta\cos\theta\cos^2\psi - 2I_3\sin\theta\cos\theta \right)+\dot{\theta}\dot{\psi}\left( 2I_1\sin^2\theta\sin\psi\cos\psi + I_1\sin\theta\cos^2\psi - I_1\sin\theta\sin^2\psi - I_2\sin\theta\cos^2\psi + I_2\sin\theta\sin^2\psi - I_3\sin\theta \right)+\dot{\theta}^2\left( I_1\cos\theta\sin\psi\cos\psi - I_2\cos\theta\sin\psi\cos\psi \right)-\dot{\phi}\dot{\psi} \left( 2I_2\sin^2\theta\sin\psi\cos\psi \right)= 0

\ddot{\phi} \left( I_1\sin\theta\sin\psi\cos\psi - I_2\sin\theta\sin\psi\cos\psi \right)+\ddot{\theta}\left( I_1\cos^2\psi + I_2\sin^2\psi \right)+\dot{\phi}\dot{\psi} \left( I_3\sin\theta + I_1\sin\theta\cos^2\psi - I_1\sin\theta\sin^2\psi - I_2\sin\theta\cos^2\psi + I_2\sin\theta\sin^2\psi \right)+\dot{\theta}\dot{\psi} \left( 2I_2\sin\psi\cos\psi - 2I_1\sin\psi\cos\psi \right)+\dot{\phi}^2\left( I_3\sin\theta\cos\theta - I_2\sin\theta\cos\theta\cos^2\psi - I_1\sin\theta\cos\theta\sin^2\psi \right)= 0

\ddot{\phi} \left( I_3\cos\theta \right)+\ddot{\psi} \left( I_3 \right)+\dot{\theta}\dot{\phi}\left( -I_3\sin\theta + I_1\sin\theta\sin^2\psi - I_1\sin\theta\cos^2\psi + I_2\sin\theta\sin\psi\cos\psi - \sin\theta\sin^2\psi \right)+\dot{\phi}^2\left( -I_1\sin^2\theta\sin\psi\cos\psi + I_2\sin^2\theta\sin^2\psi \right)+\dot{\theta}^2\left( I_1\sin\psi\cos\psi - I_2\sin\psi\cos\psi \right)= 0

I did valiantly have a go at solving these, but they were not particularly numerically stable.

A much better way is to solve the Euler equations, and simultaneously keep track of what happens to the Euler angles. I wrote a python script in Blender that did this, and then applied the solution to a 3D model of an axe. The differential equations I’m solving look like this:

def rot3d(state, t, I1, I2, I3):
    phi, theta, psi, w1, w2, w3 = state
    w1dot = w2 * w3 * (I2 - I3) / I1
    w2dot = w1 * w3 * (I3 - I1) / I2
    w3dot = w1 * w2 * (I1 - I2) / I3
    phidot, thetadot, psidot = np.matmul( np.array([[-np.sin(phi) / np.tan(theta), np.cos(phi) / np.tan(theta), 1],
                                         [np.cos(phi), np.sin(phi), 0],
                                         [np.sin(phi) / np.sin(theta), -np.cos(phi) / np.sin(theta) , 0]]) ,
                                         np.array([w1, w2, w3]))
    dstatedt = [phidot, thetadot, psidot, w1dot, w2dot, w3dot]
    return dstatedt

We update the components of the angular velocity in the axe frame, and use those to update the Euler angles in the laboratory frame.

The interesting thing about an axe is that it is asymmetric – the moments of inertia are different in different directions. From the above, you can see that any differences in I_1 etc. mean that the \dot{\omega} are not zero, and so the angular velocity can change.

To build up some intuition of what I mean when I say the axe is rotating about a different axis, here are some simulations where I’ve artificially set the moments of inertia to all be the same, so the axe rotates in an unnaturally smooth way:

Isotropic – I_1 = I_2 = I_3




Clearly the axis of rotation isn’t in the right place, as the axe ends up quite far out of the plane, but the motion appears stable.

Now, add in some realistic moments of inertia:

Anisotropic – I_1 = 0.7, I_2 = 0.75, I_3 = 1


Now it is clear that the rotation is much less predictable, due to the coupling between rotation directions caused by the I_a - I_b terms in the Euler equations.

This may be a lot of effort to come to a predictable conclusion (as always) – if you’re going to go around throwing axes at things, make sure you do it straight! Otherwise, you’ll have to be quite quick at explaining the complexities of rigid body dynamics to the poor soul you scythe in half.


One thought on “Axes of rotation

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s