p✳ PopFunFlight Labv2.0.0

POPFUN / SCIENCE & DISCOVERY

Give curiosity
a little spin.

A flight lab in three dimensions. Launch. Compare. Discover.

↗

Curve a ball. Tumble a tractor.
Find out what happens next.

EARTH
Ready to launch
Same flight · three viewpoints
● Current flight┄ PredictionSymbols enlarged
0.00 s0.00 s
Forward x0 m
Height y0 m
Sideways z0 m
Speed25 m/s

Target practice is ready.

MAKE THE INVISIBLE VISIBLE

A flight, by the numbers.

Force arrows use one shared scale per frame (newtons); velocity arrows use meters/second. Ground phase uses a separate friction model.

YOUR FLIGHT NOTEBOOK

Every arc tells a story.

FlightLaunch & rotationFirst landing x / zFinal x / zPeak / timeScore

Launch to start your notebook.

TRY IT

A sideways surprise.

Give a soccer ball sidespin, switch to Top-down, and watch the curve. Then reverse its spin and compare.

ASK A BIGGER QUESTION

Run an automatic experiment.

Change one variable while holding everything else fixed. Up to 41 trials; incomplete flights are excluded from the best result.

Ready for your question.

ValueLanding xLanding zPeakTimeScoreStatus

KEEP THE DISCOVERY

Your saved experiments.

Named saves include settings, camera and up to five comparison flights. Everything stays in this browser; shared links contain settings and view only.

Current settings autosave locally.

PASS THE CURIOSITY ON

Share this experiment.

Includes the launch, model settings and view. Your named library and notebook are private to this browser.

UNDER THE ARC

The physics of Flight Lab.

Version 2 integrates 3D translation (x forward, y height, z sideways), ball spin and wild-object pitch using fourth-order Runge–Kutta. It uses flat ground, constant gravity and density. The tracked height is clearance above the contact level; symbols are enlarged and do not define collision geometry.

Drag acts opposite air-relative velocity u with magnitude ½ρCᴅA|u|². Ball lift points along ω × u, with Cʟ = min(0.6, 1.2r|ω × u|/|u|²), zero at zero relative airspeed. Backspin and sidespin are signed controls; azimuth aims the initial velocity in the horizontal plane. Coefficients are qualitative approximations, not per-object measured flight predictions.

Wild objects rotate around their pitch axis. Their projected area is A₀√(cos²α + R²sin²α); Cᴅ increases from the selected nose-on value toward max(Cᴅ, 1.1) at broadside. α is the angle of the long axis relative to the 3D airflow. The area ratio R is editable. Their side view rotates about one axis; this is not a six-degree-of-freedom rigid-body solver.

With Advanced rotation off, rates remain constant. With it on, ball angular velocity decays exponentially at the selected coefficient × relative airspeed/25 × density/1.225. For wild objects, an assumed aligning torque τ = −¼ρ|u|²AL Cₘ sin(2α) and selectable rotational damping (also scaled by airspeed and density) change pitch rate; I = m(L² + H²)/12. The pitch torque uses projected airflow in the side plane. Shape, torque and damping coefficients are assumptions. Aerodynamic torque is zero without an atmosphere.

Wind x = base wind + shear × height + gust × sin(2πt/T). Side wind z = crosswind + ½ gust × sin(0.7 × 2πt/T). Gust phase restarts for every launch and sweep trial, making comparisons reproducible. Ground mode ignores aerodynamic forces and applies surface friction instead.

Ground impact reverses normal velocity using e = object restitution × surface response. Tangential impulse is limited by Coulomb friction and, for spheres, includes spin exchange using I = c m r² (c = 2/5 for solid/custom spheres, 2/3 for inflated ball presets). Small rebounds transition to rolling without slip; rolling resistance slows balls, while wild objects slide. Hard court, grass, sand and ice use representative response/friction/rolling coefficients, not universal measured constants. Rotational inertia, deformation, contact geometry and wheel suspension remain simplified. At most 15 rebounds are resolved before settling.

Surface presets (response multiplier / sliding friction / rolling resistance): hard court 1.00 / 0.25 / 0.025; grass 0.55 / 0.50 / 0.12; sand 0.15 / 0.70 / 0.30; ice 0.90 / 0.04 / 0.005. Ground models are deliberately simple and ignore aerodynamic forces once rolling/sliding begins.

Ground targets score first contact. Hoops score the closest crossing of their x-plane; a moving hoop shifts sideways sinusoidally. Walls span z = ±10 m and stop the flight on contact. Icons remain symbolic. Flights exceeding 180 seconds (600 with ground continuation) or the numerical work limit are marked incomplete and never reported as completed results.

Energy graphs show translational, gravitational and rotational energy. Magnus lift is perpendicular to air-relative velocity and does no work in still air. Spin decay and wild-body torque are phenomenological models; their coefficients are not part of a fully coupled fluid/rigid-body energy budget. Wind can add energy, and contact dissipates energy. This is an educational simulator, not a validated flight or vehicle dynamics tool.

Method context: NASA ball lift, Nathan et al. spin experiments, NASA reference area, and friction/restitution collision modeling. The specific simplified coefficient laws above are application assumptions.

Object presets & sources

Baseball: 0.145 kg, 0.073 m diameter, Cᴅ 0.30. Mass and size are representative values within MLB Rule 3.01 (2019); drag follows NASA’s approximate baseball model.

Basketball: size 7, 0.600 kg, 0.242 m diameter (76 cm circumference), within FIBA 2024 equipment tolerances. Cᴅ 0.50 is a representative sphere approximation, not a measured coefficient for a particular basketball.

Cannonball: representative 12 lb solid iron shot, 5.44 kg and approximately 11.5 cm diameter. Historical size reference: archived NPS mountain howitzer guide (4.52-inch projectile). Cᴅ 0.47 is an approximate sphere value. This simulator keeps launch speeds at 1–60 m/s for comparisons; it does not model historical cannon firing speeds.

New sports presets use representative regulation-sized balls: R&A golf ball limits, ITF 2026 tennis ball specifications, IFAB soccer ball measurements and PBA bowling ball limits. Golf Cᴅ 0.25, tennis 0.55, soccer 0.25 and bowling 0.47 are representative constant assumptions, not measurements of particular balls.

Wild launches are generic examples, not specific vehicle models or individual animals. Their masses and dimensions are representative choices; all reference areas and Cᴅ values are assumptions. Mass/size context: Toyota compact car example, Ford pickup examples, John Deere 2,700 kg utility tractor, and San Diego Zoo elephant size ranges.

Concept inspiration: PhET Projectile Motion. Original PopFun interface, artwork, and code; no PhET assets or source used. Model reference: NASA flight equations with drag and drag equation.

FLIGHT LAB

Changelog

v2.0.0 · November 1, 2026

Added all eight expansion features: 3D sidespin and views; bouncing and rolling; force arrows and measurement graphs; gusts and wind shear; spin decay and pitch torque; target/hoop/moving-hoop/wall challenges; automatic parameter sweeps; named browser saves, JSON files and shareable experiment links. Retains all 11 objects and the five-flight notebook.

v1.3.0 · November 1, 2026

Added signed ball spin with Magnus lift, rotating ball artwork, starting orientation and signed tumble rate for wild objects, projected-area and drag-coefficient changes with orientation, broadside area ratios, live aerodynamic readouts, and rotation settings in flight history and CSV.

v1.2.0 · November 1, 2026

Added golf, tennis, soccer and bowling balls, plus cars, pickup trucks, tractors and elephants. Added original object graphics, reference-area drag for non-spherical objects, larger mass controls and reference areas in CSV exports. Wild launches use assumed fixed aerodynamic properties without tumbling.

v1.1.0 · November 1, 2026

Added baseball, size 7 basketball and 12 lb cannonball presets with representative masses and diameters, approximate drag coefficients, original object graphics, editable properties, and object names in flight history and CSV. Preset selection enables air resistance where an atmosphere exists.

v1.0.0 · November 1, 2026

Original projectile simulator with three environments, launch controls, quadratic drag and wind, velocity vectors, timeline scrubbing, five-flight comparisons, target practice and CSV export.