Recently, Nathan made a launching speed calculator which calculates the speed and/or angle required to score a ball from any position on the field in Nothing but Net.

The theoretical basis behind this calculator is the Drag Equation:

This makes the equations more complex than if air resistance was ignored or if air resistance was assumed to be proportional to velocity (rather than the square of velocity). However, these equations should also be more accurate.

We can group the variables that will not change into one constant and call it :

To model the ball’s trajectory, we will split the motion into horizontal and vertical components. We want to find out the distance travelled as a function of time in both the horizontal and vertical directions.

In the horizontal direction, we can express horizontal acceleration in terms of , horizontal velocity , mass and time :

where is a constant of integration.

When ,

also for horizontal distance covered:

When ,

For the vertical component, we split the equations into an upward section and a downward section. The drag force acts downward in both cases, but squaring the velocity gives a positive drag force whether the velocity is positive or negative.

For the upward section:

This can be solved to get

When ,

Also for vertical height covered:

When ,

So if is the maximum height and is the required time to reach there then

Similarly for when the projectile is coming downward. Here is the descending time only. ie. is counted only after reaching the maximum height.

This too can be solved to get

When ,

And if is the height above the surface at a particular time after

When , , where is the maximum height

So if is the required time to hit the ground

Finally, the velocity at any instant , Total Time of flight , Range and speed at which it hit the ground is