Home▸Physics & Mechanics▸Projectile Motion Simulation (2D)

Projectile Motion Simulation (2D)

2D ballistics lab: a real numerically-integrated equations-of-motion solver with adjustable launch angle, launch speed, gravity and linear air drag — fire projectiles, read range/height/flight-time live, and compare the drag-free ideal parabola against the real drag-damped trajectory.

Physics & Mechanics2DModerate60 FPS📱 Mobile-adapted⇄ 3D version
2d-projectile-motion-simulation ↗ Open standalone

This 2D companion replaces the 3D version's fixed, auto-oscillating 20°–70° angle sweep with a fully player-controlled ballistics solver: a side panel exposes launch angle, launch speed, gravity (with Earth/Moon/Mars presets) and a linear air-drag coefficient, and every shot is integrated step by step from Newton's second law rather than drawn as a canned parabola. A dashed ideal curve — the textbook drag-free parabola with range R = v₀²·sin(2θ)/g — is drawn alongside the real, drag-damped trajectory so you can see exactly how much air resistance shortens the range and steepens the fall, with flight time, max height, range and current speed all read live off the moving shot.

⚙ Under the hood

2D ballistics lab with a real numerically-integrated equations-of-motion solver (gravity plus linear air drag), adjustable launch angle/speed/gravity/drag, and a live comparison against the ideal drag-free parabola.

projectile motionballisticsair resistancetrajectory analysisnewtonian mechanicsnumerical integration

2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install

Why does the real trajectory fall short of the ideal parabola?

Air drag (F = −k·v) removes energy from the projectile throughout its flight, so as soon as the drag slider is above zero the real path lands closer and falls more steeply than the drag-free R = v₀²·sin(2θ)/g formula predicts.

What launch angle gives the maximum range?

With zero drag, 45° maximizes range for a given launch speed. Once drag is introduced, the optimal angle actually shifts slightly below 45° — try comparing 45° against 35–40° with drag turned up to see it.

How is gravity used in the Moon/Mars presets?

The presets simply set g to the real surface gravity of each body (1.62 m/s² for the Moon, 3.71 m/s² for Mars, versus 9.8 m/s² on Earth) and feed it into the same equations of motion — nothing else about the physics model changes.

What did you find?

Add reproduction steps (optional)