Projectile Motion Solver: Trajectory, Range, Max Height, Target
Calculate trajectory, range, time of flight, and maximum height. Solve for launch angles or speeds to hit targets, and visualize projectile paths with interactive graphs.
Calculate trajectory, range, time of flight, and maximum height. Solve for launch angles or speeds to hit targets, and visualize projectile paths with interactive graphs.
A projectile motion calculator finds range, maximum height, and flight time from initial speed and launch angle. Last week a student got 25 m range instead of 40 m because they used v₀ = 20 m/s in the level-ground formula but forgot they were launching from a 5 m platform. This tool handles both level and elevated launches, showing which formula applies and why the height term changes the answer. If your range seems too short, check whether you entered the initial height—that extra altitude adds flight time and extends the landing distance.
Before computing anything, draw the parabola. Sketch the launch point, peak, and landing. Mark the velocity vectors at launch (angled upward) and at the peak (purely horizontal). This diagram reveals what the equations describe: horizontal motion at constant speed, vertical motion under constant downward acceleration. Without the picture, students mix up components and get sign errors.
Projectile motion splits into two independent problems: horizontal motion with zero acceleration, and vertical motion under gravity. Neither direction knows what the other is doing. This independence is why you can solve each separately then combine results.
The Two Equations Running Simultaneously
Horizontal: x(t) = x₀ + v₀ₓ · t // constant velocity
Vertical: y(t) = y₀ + v₀ᵧ · t − ½ g t² // accelerated motion
The horizontal position grows linearly with time. The vertical position follows a parabola because the −½gt² term curves the trajectory downward. Neither equation contains a term from the other direction—that's independence in action.
Practical consequence: doubling horizontal speed doubles range (x grows twice as fast for the same flight time). Doubling vertical speed quadruples maximum height (H ∝ v₀ᵧ²). These scaling behaviors become obvious once you see that horizontal and vertical are separate games.
Diagram Caption
Trajectory overview: Origin at launch point (x₀, y₀). Parabolic arc rising to apex then falling to ground. Launch velocity v₀ at angle θ above horizontal, decomposed into v₀ₓ (horizontal arrow) and v₀ᵧ (vertical arrow).
At apex: Velocity is purely horizontal (v₀ₓ only). Vertical component has decayed to zero. Height is maximum H above launch point. Horizontal position is R/2 (for level ground).
At landing: Horizontal velocity unchanged (still v₀ₓ). Vertical velocity is −vᵧ (downward, same magnitude as launch for level ground). Impact angle mirrors launch angle. Total range R measured along x-axis.
| Position | x-coordinate | y-coordinate | vₓ | vᵧ |
|---|---|---|---|---|
| Launch | 0 | h₀ | v₀ cos θ | v₀ sin θ |
| Apex | R/2 (level ground) | h₀ + H | v₀ cos θ | 0 |
| Landing | R | 0 | v₀ cos θ | −v₀ sin θ (level) |
When sketching, use equal axis scales so the parabola looks correct. A distorted diagram misleads intuition. Mark the range R along the x-axis and max height H along the y-axis. Draw velocity vectors to scale at launch, apex, and landing.
Given v₀ and θ, find components: v₀ₓ = v₀ cos θ and v₀ᵧ = v₀ sin θ. Example: 20 m/s at 30° gives v₀ₓ = 17.32 m/s, v₀ᵧ = 10 m/s. The horizontal component stays constant; the vertical component will change.
At the apex, vᵧ = 0. Using vᵧ = v₀ᵧ − gt, set vᵧ = 0 and solve: t_apex = v₀ᵧ / g = v₀ sin θ / g. For the example: t_apex = 10 / 9.81 = 1.02 s.
Use H = h₀ + v₀ᵧ² / (2g). For launch from ground (h₀ = 0): H = (10)² / (2 × 9.81) = 5.10 m above the launch point. If launching from height h₀, add that to get total altitude.
For level ground (h₀ = 0, landing at y = 0): T = 2 t_apex = 2 v₀ sin θ / g. For the example: T = 2 × 1.02 = 2.04 s. If h₀ > 0, solve the quadratic y(T) = 0: T = [v₀ sin θ + √((v₀ sin θ)² + 2gh₀)] / g.
R = v₀ₓ × T = (v₀ cos θ) × T. For the example: R = 17.32 × 2.04 = 35.3 m. The level-ground shortcut R = v₀² sin(2θ) / g gives the same answer: R = (20)² × sin(60°) / 9.81 = 35.3 m.
vₓ at impact = v₀ₓ (unchanged). vᵧ at impact = v₀ᵧ − gT. For level ground: vᵧ = 10 − 9.81 × 2.04 = −10 m/s (downward). Impact speed = √(vₓ² + vᵧ²) = √(17.32² + 10²) = 20 m/s (equals launch speed for level ground).
At launch, draw a right triangle: horizontal leg v₀ₓ, vertical leg v₀ᵧ, hypotenuse v₀. The angle θ sits between the horizontal and the hypotenuse. This triangle defines the decomposition.
Launch triangle: v₀ₓ = v₀ cos θ, v₀ᵧ = v₀ sin θ, v₀ = √(v₀ₓ² + v₀ᵧ²)
Impact triangle: vₓ = v₀ₓ, vᵧ = v₀ᵧ − gT, v = √(vₓ² + vᵧ²)
For level ground: vᵧ(impact) = −v₀ᵧ (same magnitude, opposite sign). Impact angle = −θ (below horizontal).
At the apex, the triangle collapses to just the horizontal leg: vᵧ = 0, so the velocity vector points purely along x with magnitude v₀ₓ. This is the minimum speed during flight.
When launching from height h₀ > 0, impact vᵧ exceeds the launch value because the projectile falls through extra height. Impact speed exceeds launch speed. The impact triangle is taller than the launch triangle.
A soccer player kicks a ball at 18 m/s at 40° from ground level. A 3-meter wall stands 20 meters away. Does the ball clear the wall?
Step-by-Step Solution
1. Find velocity components:
v₀ₓ = 18 cos(40°) = 18 × 0.766 = 13.79 m/s
v₀ᵧ = 18 sin(40°) = 18 × 0.643 = 11.57 m/s
2. Find time to reach x = 20 m:
t = x / v₀ₓ = 20 / 13.79 = 1.45 s
3. Find height at x = 20 m:
y = v₀ᵧ t − ½ g t² = 11.57 × 1.45 − ½ × 9.81 × (1.45)²
y = 16.78 − 10.32 = 6.46 m
4. Compare with wall height:
Ball is at 6.46 m when x = 20 m. Wall is 3 m tall.
Ball clears the wall by 3.46 m.
Diagram Caption
Parabolic arc from origin. Wall shown as vertical line at x = 20 m, height 3 m. Ball trajectory passes above wall at y = 6.46 m. Dashed horizontal line marks wall height for reference. Trajectory continues to land at x = R (range to be calculated separately if needed).
This approach works for any obstacle: find the time to reach the obstacle's x-position, then compute y at that time. If y > obstacle height, it clears. If y < obstacle height, adjust launch angle or speed.
Consistent sign conventions prevent errors. The standard choice: rightward = +x, upward = +y, g = +9.81 m/s² (acceleration magnitude), but the vertical position equation uses −g because gravity points downward.
| Scenario | v₀ₓ | v₀ᵧ | y₀ | Notes |
|---|---|---|---|---|
| Upward launch from ground | + (forward) | + (upward) | 0 | Standard case |
| Upward launch from height | + | + | +h₀ | Solve quadratic for T |
| Horizontal launch from cliff | + | 0 | +h₀ | θ = 0°, T = √(2h₀/g) |
| Downward launch from cliff | + | − (downward) | +h₀ | θ negative, shorter T |
| Straight up (θ = 90°) | 0 | + | 0 | R = 0, max H |
Common error: Using g = −9.81 in the equation y = y₀ + v₀ᵧ t − ½ g t². The minus sign is already built into the formula, so use g = +9.81 m/s². If you use g = −9.81, the double negative gives wrong results.
When launching downward (θ negative), v₀ᵧ is negative. The quadratic for flight time still works, but use the positive root for T. Downward launches reach the ground faster but cover less range than horizontal launches from the same height.
The equations assume no air resistance, no wind, and no spin. Real projectiles violate all three assumptions to varying degrees.
Effects Ignored by Ideal Model
For a soccer ball kicked at 25 m/s, ideal range is ~63 m. With drag, actual range is ~50 m (20% loss). For a ping pong ball at the same speed, drag cuts range by 70%+. Use calculator results as upper bounds and expect real performance to be lower.
When Ideal Model Is Good Enough
For heavy, compact objects at moderate speeds (shot put, bowling ball, cannonball), drag is small and ideal formulas work within 5–10%. For light or fast objects (shuttlecock, bullet, golf ball), use ballistics software that includes drag coefficients.
Projectile motion derives from Newton's second law applied to constant gravitational acceleration. These sources provide derivations, worked examples, and extensions to drag and spin:
Note: This calculator uses ideal projectile motion (no drag). For applications requiring air resistance modeling, use ballistics software with drag coefficients specific to your projectile.
Real questions from students stuck on launch height, angle units, complementary trajectories, and real-world vs ideal range.
It matters a lot. Launching from h₀ = 5 m instead of ground level adds roughly 0.6 seconds of extra flight time (the time to fall that extra 5 m). At 17 m/s horizontal speed, that's an extra 10+ meters of range. The level-ground formula R = v₀² sin(2θ)/g doesn't include height—if your problem has h₀ > 0, you need the full quadratic time-of-flight formula. Always check whether the launch point is elevated before using the shortcut.
Neither. The 45° optimal applies only to level ground (h₀ = 0). Shot putters release from shoulder height (~2 m), which shifts the optimal angle down to about 40–42°. The higher you start, the lower the optimal angle. Use the calculator with your actual release height to find the true optimal—it's usually θ_opt ≈ arctan(v₀/√(v₀² + 2gh₀)), which gives less than 45° whenever h₀ > 0.
It means the projectile is moving downward when it lands, which is correct. At launch, vᵧ = v₀ sin θ (positive, upward). At impact on level ground, vᵧ = −v₀ sin θ (negative, downward). The negative sign comes from the sign convention: up is positive, down is negative. Impact velocity magnitude is √(vₓ² + vᵧ²), which is always positive. Don't drop the minus sign—it tells you direction.
That's actually correct. Moon gravity is g = 1.62 m/s² versus Earth's 9.81 m/s²—about 6× weaker. Range scales inversely with g (R ∝ 1/g), so weaker gravity gives proportionally longer range. Time of flight also increases (T ∝ 1/√g for given launch speed and angle). If you're comparing to your intuition about 'jumping on the Moon,' remember astronauts' leg muscles generate less launch speed in a spacesuit—but for a fixed v₀, yes, 6× range is right.
Same range, different trajectories. At 30°, the ball travels fast and low (short flight time, low apex). At 60°, it arcs high and slow (long flight time, high apex). Both hit the same x-coordinate because the range formula R = v₀² sin(2θ)/g depends on sin(2θ), and sin(60°) = sin(120°). The heights differ because H ∝ sin²(θ), which is larger for 60° than 30°. Complementary angles give identical range but opposite trajectory shapes.
Degrees to radians: multiply by π/180. So 45° = 45 × π/180 = 0.785 radians. Radians to degrees: multiply by 180/π. Most projectile calculators expect degrees (0–90), but if yours expects radians, use 0–π/2. If results look nonsensical (range of thousands of meters or negative values), check angle units first. On a TI calculator, press MODE and verify Degree vs Radian. In code, Math.cos() uses radians—convert with angle × Math.PI / 180.
Air drag. The calculator assumes no air resistance, but real projectiles slow down in flight. A soccer ball at 25 m/s loses about 15–20% of ideal range due to drag; a lighter ping pong ball loses 50%+. Other factors: measurement error in launch speed/angle (±5° changes range by 10%), wind, spin (Magnus effect curves the ball), and bounce/roll after landing. Treat calculator results as upper bounds and expect real data to fall short.
Find the height y at horizontal distance x = 20 m using y = v₀ᵧ·t − ½gt², where t = x/v₀ₓ. Example: 18 m/s at 40° gives v₀ₓ = 13.79 m/s, v₀ᵧ = 11.57 m/s. Time to reach x = 20 m is t = 20/13.79 = 1.45 s. Height: y = 11.57 × 1.45 − ½ × 9.81 × 1.45² = 6.46 m. Since 6.46 m > 3 m wall height, the ball clears by 3.46 m. If y came out less than 3 m, increase angle or speed.
Time to max height (t_apex) is when the vertical velocity reaches zero: t_apex = v₀ sin θ / g. Total flight time (T) is when the projectile returns to ground. For level ground, T = 2 × t_apex—the descent mirrors the ascent. If you stopped at t_apex, you got half the answer. For elevated launches (h₀ > 0), the descent takes longer than the ascent, so T > 2 × t_apex. Always compute full flight time using the quadratic formula when the start and end heights differ.
At θ = 90°, all velocity is vertical: v₀ₓ = v₀ cos(90°) = 0. With zero horizontal speed, there's no horizontal displacement—the projectile goes straight up and comes straight down. Range R = v₀ₓ × T = 0 × T = 0. This is physically correct: if you throw a ball straight up, it lands at your feet (ignoring wind). If you want horizontal travel, use an angle less than 90°.
Enter your projectile parameters and click "Calculate" to see the trajectory, range, and flight time.