Projectile Motion

Consider a soccer ball kicked across level ground at an initial angle \( \theta \). After some time, it returns to the ground at a horizontal distance \( d \) from the launch point. When air resistance is included, the equation of motion is

$$ m \frac{d\vec{v}}{dt} = - m g \hat{y} - k v \vec{v} $$

Here \( \vec{v}(t) = (v_x(t), v_y(t)) \) is the velocity of the projectile, and the constant \( k \) characterizes the strength of the quadratic drag force.

In the absence of drag, the only force acting on the projectile is gravity, so the acceleration is

$$ \frac{d^2 x}{dt^2} = 0, \qquad \frac{d^2 y}{dt^2} = -g $$

Integrating the vertical equation once gives

$$ \frac{dy}{dt} = -gt + c $$

where \(c\) is a constant of integration. To determine \(c\), we use the initial condition: at \(t=0\), the projectile is launched with speed \(v_0\) at an angle \(\theta\), so its vertical velocity is

$$ \left.\frac{dy}{dt}\right|_{t=0} = v_0 \sin\theta $$

Therefore \(c = v_0 \sin\theta\), and hence

$$ \frac{dy}{dt} = v_0 \sin\theta - gt $$

Integrating once more, and using \(y(0)=0\), gives

$$ y(t) = v_0 t \sin\theta - \frac{1}{2} g t^2 $$

A similar argument for the horizontal motion, where the acceleration is zero, gives

$$ x(t) = v_0 t \cos\theta $$

To study the effect of drag, we solve the full equation of motion numerically using solve_ivp(). The numerical trajectory can then be compared directly with the analytical no-drag solution. This makes it possible to isolate and visualize the effect of air resistance on the trajectory. In the implementation below, the solver is used with method = 'LSODA', which adapts efficiently to the behaviour of the system.

The parameters used are:

The resulting trajectories are plotted in the \(x\)-\(y\) plane. The numerical solution is shown as a set of points that are evenly spaced in time, so that the spacing between points reflects the speed of the projectile. The analytical solution is shown as a smooth curve for comparison.


projectile motion plot Open Notebook Environment