How to Calculate Projectile Motion: Physics Guide
Projectile motion separates into independent horizontal and vertical components. This guide derives the range, height and flight-time equations, works through full examples, explains why 45° is optimal only on level ground, and covers what changes when air resistance is included.
How to Calculate Projectile Motion
Throw a ball and it traces a curve. That curve looks complicated, but it is the result of two very simple motions happening at once, and the entire subject rests on one insight:
The horizontal and vertical motions are completely independent.
Gravity pulls downward. It has no horizontal component, so it cannot change horizontal velocity. Meanwhile the horizontal motion has no bearing on how fast the object falls. Fire a bullet horizontally and drop an identical bullet from the same height at the same instant, and — ignoring air resistance and assuming level ground — both hit the ground at the same time. The fired bullet simply lands much further away.
Once you accept that, projectile motion becomes two straightforward problems solved side by side.
Splitting the initial velocity
An object launched at speed v_0 and angle θ above the horizontal has its velocity split into components:
v_0x = v_0 \cosθ \qquad v_0y = v_0 \sinθ
The horizontal component v_0x never changes throughout the flight (no horizontal force acts). The vertical component v_0y changes constantly under gravity at g = 9.81 m/s².
Everything else follows from these two facts.
The four core equations
Horizontal position
With constant horizontal velocity, distance is simply speed times time:
x = v_0 \cosθ · t
Vertical position
Vertical motion is uniform acceleration, so it takes the standard kinematic form:
y = v_0 \sinθ · t - (1)/(2)g t^2
The minus sign matters: gravity acts downward while we have defined upward as positive.
Time of flight
On level ground, the projectile returns to y = 0. Setting the vertical position to zero and solving:
0 = v_0 \sinθ · t - (1)/(2)g t^2 = t(v_0 \sinθ - (1)/(2)g t)
The trivial solution t = 0 is the launch instant. The one we want:
T = (2 v_0 \sinθ)/(g)
Maximum height
At the peak the vertical velocity is momentarily zero. Using v_y = v_0\sinθ - gt, the peak occurs at t = v_0\sinθ / g — exactly half the total flight time, because the trajectory is symmetric. Substituting back:
H = ((v_0 \sinθ)^2)/(2g)
Range
Range is horizontal velocity multiplied by total flight time:
R = v_0\cosθ · (2v_0\sinθ)/(g) = (v_0^2 \sin 2θ)/(g)
The last step uses the identity 2\sinθ\cosθ = \sin 2θ. This compact form is where the famous 45° result comes from.
A complete worked example
A ball is launched at 20 m/s at 30° above level ground. Take g = 9.81 m/s².
Components:
v_0x = 20\cos 30° = 20 × 0.8660 = 17.32 \text m/s v_0y = 20\sin 30° = 20 × 0.5 = 10.0 \text m/s
Time of flight:
T = (2 × 10.0)/(9.81) = 2.039 \text s
Maximum height:
H = (10.0^2)/(2 × 9.81) = (100)/(19.62) = 5.097 \text m
Range:
R = 17.32 × 2.039 = 35.31 \text m
Cross-check with the compact formula:
R = (20^2 \sin 60°)/(9.81) = (400 × 0.8660)/(9.81) = 35.31 \text m
The two agree, which is a useful habit: deriving a result two ways catches arithmetic slips immediately.
Sanity check the magnitudes. A 20 m/s launch is roughly 72 km/h — a hard throw. Travelling 35 m and peaking at 5 m, about the height of a two-storey building, is entirely plausible. If you had calculated a 350 m range, something went wrong.
Why 45° is optimal — and when it isn't
Range is maximised when \sin 2θ is maximised. Since \sin peaks at 90°, that means 2θ = 90°, so θ = 45°.
Two consequences fall straight out:
Complementary angles give the same range. 30° and 60° produce identical ranges, because \sin 60° = \sin 120°. The 60° shot goes higher and stays airborne longer; the 30° shot is flatter and faster. They land in the same place.
45° is optimal only on level ground, in a vacuum. Both caveats are routinely forgotten:
- Launching from a height (a cliff, a raised hand, a hilltop) lowers the optimal angle below 45°. The extra drop time rewards horizontal speed more than extra hang time.
- Air resistance lowers the optimal angle further. Real projectiles lose energy to drag throughout their flight, and a flatter trajectory spends less time being slowed. Competitive javelin throwers release at roughly 33–36°, not 45°.
- Landing below the launch point — throwing down a slope — also reduces the optimal angle.
Launching from a height
When the projectile starts at height h and lands at y = 0, the flight time comes from the quadratic:
0 = h + v_0\sinθ · t - (1)/(2)g t^2
Solved with the quadratic formula, taking the positive root:
T = (v_0\sinθ + √((v_0\sinθ)^2 + 2gh))/(g)
Range is then R = v_0\cosθ · T as before, and maximum height becomes H = h + (v_0\sinθ)^2 / 2g.
Example. A stone thrown at 15 m/s at 40° from a 25 m cliff:
v_0y = 15\sin 40° = 9.64 m/s, and v_0x = 15\cos 40° = 11.49 m/s.
T = (9.64 + √(9.64^2 + 2(9.81)(25)))/(9.81) = (9.64 + √(92.9 + 490.5))/(9.81) = (9.64 + 24.15)/(9.81) = 3.45 \text s
R = 11.49 × 3.45 = 39.6 \text m
Note the flight time is far longer than the 1.97 s it would be on level ground — the cliff adds most of the airtime.
The trajectory equation
Eliminating t between the horizontal and vertical equations gives the shape of the path directly:
y = x\tanθ - (g x^2)/(2v_0^2\cos^2θ)
This is a downward-opening parabola. It is useful when you need the height at a specific horizontal distance — clearing a wall, for instance — without first solving for time.
Example. Will the 20 m/s, 30° ball clear a 3 m wall at 25 m?
y = 25\tan 30° - (9.81 × 625)/(2 × 400 × \cos^2 30°) = 14.43 - (6131)/(600) = 14.43 - 10.22 = 4.22 \text m
At 4.22 m it clears a 3 m wall with 1.21 m to spare.
Velocity during flight
The horizontal component stays at v_0\cosθ. The vertical component evolves as:
v_y = v_0\sinθ - gt
Speed at any instant is the vector magnitude:
v = √(v_x^2 + v_y^2)
At the peak, v_y = 0, so the speed there equals v_0\cosθ — the projectile is still moving, just horizontally. This is a common misconception: objects do not stop at the top of their arc unless launched straight up.
On level ground, the landing speed equals the launch speed. Energy conservation requires it: the projectile returns to its starting height, so its kinetic energy must return to its starting value.
Common mistakes
Using the full velocity instead of a component. The single most frequent error. Always resolve into v_0\cosθ and v_0\sinθ first.
Sign errors on gravity. Pick a convention — upward positive is standard — and hold it. If upward is positive, acceleration is -9.81 m/s².
Degrees versus radians. Calculators and programming languages differ. Python's math.sin() expects radians; a value of \sin(30) in radians is -0.988, not 0.5. Convert with math.radians(30).
Assuming 45° always maximises range. Only true for level ground with no drag.
Forgetting the projectile has horizontal velocity at the peak. Vertical velocity is zero there; total speed is not.
Applying level-ground formulas to elevated launches. The simple T = 2v_0\sinθ/g is wrong the moment launch and landing heights differ.
Where air resistance changes things
Everything above assumes a vacuum. That assumption is excellent for a shot put, poor for a badminton shuttlecock, and somewhere between for a football.
Drag force is approximately:
F_d = (1)/(2)\rho v^2 C_d A
where \rho is air density, C_d the drag coefficient and A the cross-sectional area. Because drag depends on v^2 and always opposes motion, the equations stop being solvable in closed form — real trajectory analysis uses numerical integration.
Qualitatively, drag makes the trajectory asymmetric: the descent is steeper than the ascent, range is reduced, and the optimal launch angle drops below 45°. For a golf ball, spin adds lift as well, which is why a well-struck drive travels considerably further than the vacuum equations predict.
The vacuum model is nonetheless the right starting point. It gives correct intuitions, bounds the answer, and is accurate enough for dense, slow, compact objects.
Frequently asked questions
Does mass affect projectile motion? Not in a vacuum. Gravitational acceleration is independent of mass, so a bowling ball and a marble launched identically follow identical paths. Mass matters only once air resistance enters, where the ratio of mass to drag area determines how strongly the object is slowed.
Why is the trajectory a parabola? Because horizontal position grows linearly with time while vertical position depends on t^2. Substituting t = x/v_0x into the vertical equation produces an expression quadratic in x — the definition of a parabola.
What is the maximum height of a vertical launch? Set θ = 90°, so \sinθ = 1 and H = v_0^2/2g. A 20 m/s vertical throw peaks at 400/19.62 = 20.4 m. Range is zero, as expected.
Is the flight time really independent of horizontal speed? Yes, on level ground and ignoring drag. Flight time depends only on the vertical component. This is exactly the fired-bullet-and-dropped-bullet result, and it has been demonstrated experimentally many times.
How do I find the launch angle needed for a given range? Rearrange the range equation: θ = (1)/(2)\arcsin\!((Rg)/(v_0^2)). Note there are generally two solutions — the complementary pair — and none at all if Rg > v_0^2, which simply means the target is out of reach at that speed.
Does the Earth's rotation matter? For everyday projectiles, no. The Coriolis effect is negligible over short ranges and flight times. It becomes significant for long-range artillery and ballistic missiles, where corrections of hundreds of metres are required.
Summary
Resolve the launch velocity into components, treat horizontal motion as constant-velocity and vertical motion as constant-acceleration, then solve each independently. On level ground, flight time is 2v_0\sinθ/g, peak height is (v_0\sinθ)^2/2g, and range is v_0^2\sin 2θ/g.
Remember what the model assumes: no air resistance, level ground, and constant gravity. Break any of those and the clean formulas need adjusting — most commonly by dropping the optimal angle below 45°.
Work through your own numbers with our Projectile Motion Calculator, which reports range, peak height, flight time and the full trajectory.