Simulation

Projectile with Drag

DynamicsDrag

A projectile launched with adjustable air resistance showing the effect of drag on trajectory.

Objective

Investigate how quadratic air drag distorts projectile motion away from the ideal parabola. Using the Launch Speed, Launch Angle, and Drag Coefficient sliders, compare a drag-free baseline (k = 0, displayed as off) against runs with non-zero drag at the same launch parameters. Confirm that drag shortens the range, lowers the peak, breaks the symmetry between ascent and descent, and pushes the range-maximising angle below 45°. Recognise why no closed-form trajectory exists once drag is switched on, and read the live X, Y, and Speed readouts to track the changes.

Setup

  1. Press Reset to clear any prior trail. The Time, X, Y, and Speed readouts return to their initial values, and the static 0–400 m by 0–200 m grid stays fixed for direct comparison between launches.
  2. Set Launch Speed to 45 m/s and Launch Angle to 40°. These are the sim defaults and produce a baseline that fills most of the canvas without clipping the right edge when drag is off.
  3. Set the Drag Coefficient slider to 0. The value display reads off, meaning the simulation reduces to ideal projectile motion and the trajectory should match the closed-form parabola predicted in the next section.
  4. Press Start. Watch the projectile arc across the canvas; note the landing X value when the run halts at y ≈ 0, plus the Time elapsed and the peak Y reached during flight.
  5. Press Reset, then push Drag Coefficient to 0.0050 kg/m. Press Start again and compare the new landing X and peak Y against the drag-free run, with Launch Speed and Launch Angle held fixed at 45 m/s and 40°.

Analytical Prediction

With drag switched on, the equations of motion are aₓ = −(k/m)·vₓ·|v| and aᵧ = −g − (k/m)·vᵧ·|v|. These are coupled and nonlinear because |v| = √(vₓ² + vᵧ²) mixes both components, so no closed-form trajectory x(t), y(t) exists — the simulation must integrate numerically. The drag-free case (k = 0, displayed as off) is the baseline where a closed form does apply. With v = 45 m/s, θ = 40°, g = 9.81 m/s²:

R₀=v² · sin(2θ) / g
=2025 · sin(80°) / 9.81
2025 · 0.9848 / 9.81
203.3 m
t=2v · sin θ / g
=2 · 45 · 0.6428 / 9.81
5.90 s
h=(v · sin θ)² / (2g)
=(28.93)² / 19.62
42.6 m

With Drag Coefficient k = 0.0050 kg/m and the sim's built-in mass m = 1 kg, expect range and peak to fall noticeably below these baseline values, with the descent taking longer than the ascent.

Results Analysis

Run the baseline at Launch Speed = 45 m/s, Launch Angle = 40°, Drag Coefficient = off. The Time readout should halt near 5.90 s, with a landing X near 203 m and a peak Y near 42.6 m during flight, matching the closed-form predictions to within numerical-integration tolerance. Now repeat with Drag Coefficient = 0.0050 kg/m at the same speed and angle. The landing X collapses well below 203 m, the peak Y drops below 42.6 m, and the Speed readout at landing is markedly lower than the launch speed of 45 m/s — energy has been bled away by drag throughout the flight. Watch the trail: the descending half of the arc is steeper and covers less horizontal distance than the ascending half, breaking the symmetry of the drag-free parabola. Push Drag Coefficient up to 0.0100 kg/m and the range shortens further. Holding speed fixed at 45 m/s, sweep the Launch Angle and you will find the range-maximising angle now sits below 45°.

Source of Error

What this sim does NOT model: ground curvature, Coriolis effect, variations in g with altitude, ball spin and Magnus force, lateral wind, or drag-coefficient variation with Reynolds number across the flight. The drag is a single quadratic term per axis with a constant coefficient. The closed-form drag-on equations of motion aₓ = −(k/m)·vₓ·|v| and aᵧ = −g − (k/m)·vᵧ·|v| assume the same idealizations, so they cancel rather than contributing to the residual range or peak height. The remaining gap between prediction and readouts is therefore purely numerical, not physical.

Further Exploration