Aim a glowing orb across a lab bench and see why a path is a parabola: constant horizontal speed, steady vertical change, and what air does to both.
Same speed and same launch point, only the direction changes. The measured best angle (numerical flights) is compared with the exact vacuum answer.
The science
Without air. Gravity acts only downward, so x = x₀ + v₀cosθ·t and y = y₀ + v₀sinθ·t − ½gt². The horizontal velocity never changes; the vertical velocity changes by exactly g every second. That is why the strobe ghosts are evenly spaced sideways while the vertical gaps grow and shrink. Time of flight from height y₀: T = (v₀sinθ + √((v₀sinθ)² + 2gy₀))/g, range R = v₀cosθ·T, top of the path H = y₀ + (v₀sinθ)²/2g. From table level the range is R = v₀² sin2θ / g, so θ and 90° − θ give the same range, and 45° is best. Launching from a height y₀ above the landing level makes the best angle smaller: tanθ* = v₀/√(v₀² + 2gy₀).
With air. Quadratic drag on a sphere: F = ½ ρ Cd A |vrel| vrel, with A = πd²/4, Cd = 0.47 held constant (a smooth-sphere value; a real Cd changes with the Reynolds number), and vrel = v − wind (wind is horizontal, uniform). Equations of motion dv/dt = −g ŷ − k|vrel|vrel with k = ρCdA/2m, integrated with fixed-step RK4 (Δt = 1/240 s); landing and the apex are found with a fractional final step. Drag lowers the range, makes the descent steeper than the climb, and pulls the best angle below 45°. A falling orb tends to the terminal speed vt = √(2mg/ρCdA), which is one of the checks.
What is simplified. Point mass (no spin, no Magnus force, no lift), constant air density and gravity (no height dependence), Cd constant, flat table with the landing at height 0 and no bounce. The orb is drawn larger than its physical diameter so you can see it; the diameter slider only changes the drag. The scene is a 1:10 scale model: 1 m of flight is 0.1 world units, so the launcher looks tiny next to a 25 m flight. The tube is a 2 m guide: the flight starts at its muzzle. Air density and gravity presets are typical round values (Earth sea-level air 1.225 kg/m³, Moon 1.62 m/s², Mars 3.71 m/s² and about 0.02 kg/m³, Titan 1.35 m/s² and about 5.4 kg/m³).
Safety and tone. A classroom physics model with an inanimate glowing orb. Not a design tool for real launchers. Models built with Blender, scene by Three.js.