Simulation

Projectile Motion · SimulatorRange, Height & Flight Time

KinematicsProjectile motion

Launch an object and watch it fly; adjust speed and angle to explore range and height.

Published: April 8, 2026 · Updated: June 8, 2026

Objective

Confirm that ideal projectile motion follows the closed-form range equation R = (v² · sin 2θ) / g, where R is horizontal distance, v is launch speed, θ is launch angle above horizontal, and g = 9.81 m/s². Discover why complementary angles (e.g., 30° and 60°) produce the same range at fixed speed, and identify the specific launch angle that maximizes range. This experiment assumes no air resistance: the trajectory is a perfect parabola governed by gravity alone.

Setup

  1. If earlier attempts are on the canvas, press Clear to wipe them; on a fresh canvas the third button reads Reset instead. The Range, Max Height, and Flight Time readouts show dashes until a run has completed.
  2. Set the Launch Speed slider to 20 m/s. This gives a clean numerical example for the prediction in the next section and stays well within the canvas bounds at the chosen angle.
  3. Set the Launch Angle slider to 45°. This is the angle of maximum range for ideal projectile motion on level terrain, a useful first reference run before exploring other angles.
  4. Press Start. The projectile launches from the bottom-left corner and the path traces out in real time. After it lands, press Reset to launch again; each finished arc stays on the canvas as a faded grey ghost so you can overlay and compare several launches; press Clear to wipe them all.
  5. Wait for landing. The Time readout stops counting, and the Range, Max Height, and Flight Time readouts populate with the measured values.
The Projectile Motion simulator at the start of a run.

Analytical Prediction

For ideal projectile motion (no air resistance), the horizontal range equation is R = (v² · sin 2θ) / g, where v is the initial speed, θ is the launch angle above horizontal, and g = 9.81 m/s². The equation assumes the projectile lands at the same height it was launched from, which holds here, since launch and landing both occur at y = 0. With v = 20 m/s and θ = 45° (so sin(2 × 45°) = 1):

R=(v² · sin 2θ) / g
=(20² × 1) / 9.81
=400 / 9.811
40.77 m

The flight time and peak height follow the same kinematic skeleton:

t=(2v · sin θ) / g
=(2 × 20 × 0.707) / 9.81
2.88 s
h=(v · sin θ)² / (2g)
=(14.14)² / 19.622
10.19 m

Together: range 40.77 m, peak 10.19 m, flight time 2.88 s. These are the three values to verify against the simulation's readouts.

Results Analysis

After Start completes, the simulation reports Range, Max Height, and Flight Time in the readout grid. Compare each to the predicted values: Range ≈ 40.77 m, Max Height ≈ 10.19 m, Flight Time ≈ 2.88 s. The simulation typically displays values within 0.5% of these analytical predictions: Range may read 40.7 to 40.9 m, Max Height 10.18 to 10.22 m, Flight Time 2.88 to 2.90 s. The agreement confirms that the closed-form range equation correctly describes the simulated trajectory. A more demanding check: re-run with the angle changed to 30°. The prediction says R = (400 × sin 60°) / 9.81 ≈ 35.31 m. Now run at 60°; the prediction is identical: R = (400 × sin 120°) / 9.81 ≈ 35.31 m. Observe both readouts. They should match within the same 0.5% tolerance, demonstrating empirically that complementary angles produce equal ranges.

The Projectile Motion simulator after a completed run.

Source of Error

What this sim does NOT model: air resistance, ground curvature, Coriolis effect from Earth's rotation, or variations in g with latitude or altitude. The analytical formula R = v²·sin(2θ)/g assumes the same four idealizations, so they cancel: predicted and observed range agree to within numerical-integration drift (typically <0.5% over a 3-second flight). The same applies to flight time and peak height: the closed forms and the simulation share an identical idealized model. The residual gap between prediction and readouts is therefore purely numerical, not physical, for this sim.

Further Exploration