Maximum Range of a Projectile

Introduction

Source Code: https://github.com/CupcakePhysics/projectile_range/releases/tag/v1.0.0

In introductory mechanics courses, we learn that we need to launch a projectile at an angle of for maximum range. However, this derivation only works when we are studying the kinematics of a projectile on flat ground. What would happen if we launched the projectile off of a cliff? Does the maximum range still correspond to ? Does it depend on the height of the cliff?

Range on Flat Surface

Let’s review the derivation of the maximum range of a projectile (neglecting air resistance). Consider the setup shown below.

Parabolic Motion

We launch a projectile with an initial speed at an angle with respect to the horizontal axis. It makes a parabolic arc through the air due to the acceleration due to gravity () and then lands some distance away. I will use the kinematics equations to analyze this problem.

First, we can solve for the time of flight by analyzing motion in the vertical (y) direction.

Solving for the time yields:

Next, we can analyze the motion along the horizontal (x) direction.

Substituting the expression for into the expression for yields:

If we want to find the maximum range of the projectile, we take the derivative of with respect to and set it equal to zero:

As we expect, the maximum range of the projectile occurs when .

Range Off Cliff

Now suppose that instead of a flat surface we launch the projectile off of a cliff as shown below.

Parabolic Motion With Step

Everything is the same as before, except now, the starting position is (0,h) rather than (0,0). At what angle do we see a maximum?

We can start our analysis just like before. First, we will analyze the motion along the vertical (y) direction. This time, the initial y position does not equal zero.

Solving for t using the quadratic formula yields:

We note that the minus solution will give us a negative time. This is not a physically real solution, so we will only focus on the positive one.

Now, once again we can analyze the motion in the horizontal (x) direction. Solving for yields:

Substituting in the expression for into the expression for yields:

That looks a lot more complicated than the expression we got in the case of flat ground…

We could proceed as we did above, taking the derivative and setting it equal to zero. However, I really wouldn’t recommend it. The derivative itself is messy, but doable:

But solving the final equation for is a nightmare:

Don’t believe me? Here is the solution in Wolfram Alpha. If you have a Wolfram account, feel free to run the problem with more computing time and see what you get!

Wolfram Alpha Output

Oh god, kill it with fire…

Instead of struggling with the analytical solution, maybe we can look at this problem numerically. I have written a little Matlab script that plots the range of the projectile as a function of angle. You can customize the starting height of the projectile in the parameters at the top of the script. Feel free to play around with it.

An example output is shown below. Here, I have plotted heights of:

  • h1 = 0 m
  • h2 = 2 m
  • h3 = 4 m
  • h4 = 6 m
  • h5 = 8 m.

Matlab Plot

Notice that the distance traveled is negative when the angle is greater than radians. This is because we are effectively launching the projectile “backwards”. In any case, we see that as the height increases, the maximum range increases as well. Additionally, as the height increases, the maximum range occurs at smaller and smaller angles.

Thus, we finally get to our result. If we are on a flat surface, the angle of maximum range is . However, as we increase the initial height (h) of the projectile, we need to throw it at a shallower angle in order to get maximum distance (less than ).