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.
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.
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.
2D · HTML5 Canvas 2D · 60 FPS target · runs fully client-side, no install
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.
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.
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.