Projectile Drag/Wind Simulator

Compare ideal and drag-influenced trajectories.

Loading interactive simulation...

Lesson

The theory — Projectile Drag/Wind Simulator

Add air resistance to a projectile and you do not get a corrected parabola — you lose the formula. Quadratic drag is a force −(k/m)·|vrel|·vrel: directed against the motion through the air, and growing with the square of speed. It ties the horizontal and vertical equations to each other, and the coupled pair has no elementary solution. This page integrates the flight in 10-millisecond steps because there is nothing left to evaluate.

What each symbol means

θ
the launch angle. Without drag its best value is 45° for every launch speed and every mass — a constant of the problem. With drag it is none of those things, which is what this lesson is about.
k/m
the drag coefficient divided by the mass. This is the only combination that appears anywhere in the equations: never k alone, never m alone. Two of the six input boxes are handles on one number.
v_rel
velocity relative to the air, v − w. Drag acts on this and never on velocity over the ground, which is why a headwind and a tailwind are not mirror images of each other.
R
the range. The page prints two of them — Rideal from the closed-form parabola and Ractual from the integration — and the distance between them is what the air took.

Where the formula comes from

  1. Start with no air, where the two axes never speak to each other. Horizontal velocity is constant, vertical position is a parabola in time, and eliminating time leaves R = v₀² sin(2θ)/g. Maximise it: sin(2θ) is largest at 2θ = 90°. Notice what dropped out — neither v₀ nor the mass appears in that condition, so 45° is the best angle for every launch there has ever been. That is why it is remembered as a fact rather than as a result.
  2. Now add drag and watch the axes stop being independent. The force is −(k/m)·|vrel|·vrel, and |vrel| is √(vx² + vy²) — it contains both components. The horizontal equation therefore depends on how fast you are climbing, and the vertical equation on how fast you are travelling downrange. The pair is non-linear and refuses to separate; no elementary formula for R survives it. The solid curve on the plot was integrated, not evaluated, and the page writes it honestly as a sum.
  3. Read the arithmetic and one thing stands out: k and m only ever occur as k/m. A heavy ball is a light ball in thinner air. Set k = 0.03 with m = 3 and you get the trajectory of k = 0.01 with m = 1 to the last digit — the "heavy ball" preset is the low-drag case wearing a different label, and the mass box can tell you nothing the drag box could not.
  4. And now the optimum moves. Climbing steeply still buys hang time, but under drag hang time is paid for in speed, and speed is what carries you forward — so the best angle tilts flatter. Because a faster projectile piles up more drag on the way, that angle now depends on the launch speed, which it never did before. Try it at this page's default drag: 45° costs almost nothing at 25 m/s, 28.0 m against the 28.5 m you find by hand near 38°, and costs a great deal at 90 m/s, where 45° gives 65.4 m and roughly 30° gives 70.8 m.

How to read what you see

Two curves, and two numbers that answer different questions. The dashed curve is the same launch with the air taken away — not an approximation of the solid one but the solution of a different problem — so the space between them is what the drag cost, read straight off. Rideal is printed as a formula with your numbers substituted, because a formula exists; Ractual is printed as Σ vx Δt, because none does. Set the drag to zero and the two describe identical physics — and the page still shows 63.7 m against 63.5 m. That fifth of a metre is not air. It is the integrator's own error, and it is worth knowing it is there before you read any gap as physics.

Assumes
Air at rest apart from a steady horizontal wind blowing at the same speed at every height, uniform density all the way up, and a drag coefficient that does not vary with speed. A point mass: no lift, no spin, no Magnus force, so a sliced golf ball and a drifting shell are both outside what this model can say.
Breaks when
The integration runs at most 5000 steps of 10 ms — fifty seconds of flight — and nothing on the page mentions it. Ordinary settings come nowhere near: the default is back on the ground in under three seconds. But switch the drag off and fire hard and steep, v₀ = 300 m/s at 85°, and the trajectory simply stops in mid-air with the projectile 2.68 km above the ground; the range printed underneath is wherever it happened to be at that instant, not where it lands. Drag conceals this limit rather than causing it — the same launch with k = 0.03 is down in nine seconds.

why drag breaks parabola symmetry 🖖

Air resistance breaks the elegant parabola symmetry of ideal projectile motion. The drag force is proportional to v², so doubling speed quadruples drag. At terminal velocity, drag equals gravity and vertical acceleration stops. Real artillery tables account for drag, spin, air density, and wind — the ideal formula is only a first approximation.

It's the air you move through 🖖

A projectile only feels drag from its speed through the air, not its speed over the ground. Wind moves the whole mass of air, while drag always acts opposite the object's motion relative to that air. So a headwind raises your effective airspeed and drag bites harder, while a tailwind lowers it — letting the projectile fly farther than the wind's gentle push alone would explain.

Why dimpled golf balls fly farther 🖖

Here's the counterintuitive part: roughening a ball can reduce its drag. A golf ball's dimples trip the airflow into a thin turbulent boundary layer that clings to the surface longer, shrinking the low-pressure wake behind it. A dimpled ball flies roughly twice as far as a smooth one launched identically. This simulator's tidy v²-drag law assumes a fixed drag coefficient, so it can't capture that 'drag crisis' where Cd suddenly drops as speed rises.

Problem solved in full

  1. Why the 63.7 m vacuum formula answer becomes 28.0 m 5 steps

    25 m/s at 45°, drag coefficient 0.03. The vacuum formula says 63.7 m. Work out why the answer is 28.0 m — and why the height survives far better than the range.

    1. Start with the answer the air is going to spoil. Both vacuum formulas are exact, take one line, and are the only analytic ground in this problem.

    2. Now write the real equation. The drag term points against the velocity vector, so its horizontal part depends on the vertical speed and vice versa — the two axes stop being independent and the parabola stops existing.

    3. Read the two losses off the panel as fractions. They differ, and the difference is the thing worth explaining.

    4. Terminal velocity is the speed at which drag balances weight, and comparing it with the launch speed says which force is in charge at the start.

    5. The drag length 1/k is the distance over which the air removes a substantial fraction of the speed. Compare it with the range you were hoping for.

    Answer

    Because drag has a length scale of 33 m and the throw wanted to be 64 m long but only 16 m high. The range keeps 44% of its vacuum value and the peak height keeps 60%. Two numbers say the regime is not perturbative. The terminal velocity √(g/k) is 18.1 m/s, below the 25 m/s launch, so the ball starts out losing to the air rather than to gravity; and 1/k = 33 m is half the vacuum range, when a small correction would need it to be many times larger. There is no closed form to fall back on either — drag couples the two axes, which is exactly why the panel integrates instead of substituting.

Learning path

Throwing things

References (2)

Example problems

  • no drag - With drag switched off the flight ends at 63.5 m, the ideal parabola printed beside it at 63.7 m.
  • headwind - A headwind cuts the very same launch down to 14.2 m.
  • tailwind - The same wind from behind gives 41.2 m — almost three times the headwind figure.
  • heavy ball - Three times the mass carries the identical ball out to 43.3 m.