Skip to main content

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.

Last Updated: February 2026

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.

Horizontal vs Vertical Independence: The Core Insight

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.

Labeled Diagram: Parabola, Velocity Vectors, Key Positions

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.

Positionx-coordinatey-coordinatevₓvᵧ
Launch0h₀v₀ cos θv₀ sin θ
ApexR/2 (level ground)h₀ + Hv₀ cos θ0
LandingR0v₀ 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.

Mapping the Trajectory: Step-by-Step from Launch to Land

Step 1: Decompose Initial Velocity

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.

Step 2: Find Time to Reach Apex

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.

Step 3: Calculate Maximum Height

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.

Step 4: Find Total Flight Time

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.

Step 5: Calculate Horizontal Range

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.

Step 6: Find Impact Velocity

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).

Velocity Component Triangle at Launch vs Impact

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.

Worked Visual: Kicked Ball Clearing a Wall

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.

Sign Table: x₀, y₀, v₀ₓ, v₀ᵧ, g for Up/Down Cases

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.

Scenariov₀ₓv₀ᵧy₀Notes
Upward launch from ground+ (forward)+ (upward)0Standard 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+0R = 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.

When Ideal Projectile Motion Fails: Wind, Drag, Spin

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

  • Air drag: Reduces range by 10–30% for balls, 50%+ for shuttlecocks. Drag force ∝ v², so faster projectiles lose proportionally more speed.
  • Wind: Tailwinds increase range, headwinds decrease it. Crosswinds cause lateral drift. Effects compound over long flights.
  • Magnus effect: Spinning balls curve. Topspin drops faster (range decreases), backspin floats longer (range increases). Soccer free kicks exploit this.
  • Non-uniform gravity: For extreme heights (km scale), g varies with altitude. Not relevant for sports or typical physics problems.

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.

Kinematics References

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:

  • Halliday, D., Resnick, R., & Walker, J. (2018). Fundamentals of Physics (11th ed.). Wiley. Chapters 4–5 cover kinematics and projectile motion with vector decomposition.
  • Serway, R. A. & Jewett, J. W. (2018). Physics for Scientists and Engineers (10th ed.). Cengage. Detailed treatment of 2D kinematics and optimal launch angles.
  • NASA Glenn Research Centergrc.nasa.gov — Educational resources on trajectories including drag effects.
  • HyperPhysics (Georgia State University)hyperphysics.phy-astr.gsu.edu — Interactive projectile motion diagrams and calculators.
  • Mehta, R. D. (1985). "Aerodynamics of sports balls." Annual Review of Fluid Mechanics, 17, 151–189. — Technical treatment of drag and spin effects on real projectiles.

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.

Limitations and Assumptions

  • No air resistance: Results represent upper bounds. Real ranges are 10–50% shorter depending on projectile shape and speed.
  • Constant gravity: Uses uniform g = 9.81 m/s². Not valid for trajectories spanning kilometers of altitude.
  • Point mass: Ignores spin, lift, and Magnus effect. Golf balls, baseballs, and soccer balls behave differently than predicted.
  • Educational tool only: Not for engineering design, safety analysis, or any application where lives or significant resources are at stake.

Fixing Projectile Motion Calculation Errors

Real questions from students stuck on launch height, angle units, complementary trajectories, and real-world vs ideal range.

I got 25 m range but my friend got 40 m with the same speed and angle—turns out I forgot the launch height. How much does that really matter?

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.

My calculator says 45° gives max range, but my physics teacher says shot putters use 40°—who's wrong?

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.

I'm getting a negative vertical velocity at impact—is that wrong or does it mean something?

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.

My range on the Moon is 6× farther than Earth for the same throw—that seems wrong. Did I mess up the gravity input?

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.

The formula says complementary angles give the same range, but 30° and 60° give me different heights and times. How is that the same?

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.

I entered 45 degrees but my scientific calculator uses radians and gave garbage—how do I convert?

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.

The ball should land at 50 m but I measured 42 m in the real experiment—why the 15% error?

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.

I need to clear a 3 m wall at 20 m away—how do I figure out if my launch angle works?

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.

My time of flight is half what my friend calculated—we used the same numbers but I only computed time to max height. What's the difference?

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.

Why does my 90° straight-up throw give R = 0? Shouldn't it still move somewhere horizontally?

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°.

Related Physics & Math Tools

Projectile Motion Solver - Range, Time, Trajectory