Skip to content

Graphics demo - Galileo falling-body sim

Each body falls differently - because its physics does

A physics-first falling-body simulator. Six objects are released together into a vertical atrium of different media, and each falls differently because its physics differs, not because of a per-object animation. The simulation decides the fall; the SDF renderer only shows it. Every rendered position and orientation is read back from a recorded trajectory sample - SI units throughout.

Stained-glass atrium with a glass marble, iron bar, golf ball, feather, ping-pong ball and cork falling through coloured liquid basins
Beauty view

Marble floor, coloured stained-glass liquid basins with brass rims, back wall and columns under a golden-hour sun with cool clerestory fill. The dense objects (glass marble, iron bar, golf ball) plunge and sink; the light ones (feather, ping-pong ball, cork) drift down and float on the surface. Nothing here is hand-placed - each body sits at the exact position its recorded fall put it in.

Same drop with projected velocity, gravity and drag force arrows plus a live telemetry HUD
Debug view

The same drop with the physics exposed: per-object force arrows projected into the frame - velocity, gravity and drag - plus a live telemetry panel tracking the selected iron bar: mass, weight, height, speed, terminal velocity, drag and buoyancy force, Reynolds number, temperature and submerged fraction. The readouts are the simulation, sampled at the same instant the frame renders.

velocity gravity drag stained-glass basin

What the physics proves

EffectWhat the sim demonstrates
BuoyancyDensity alone decides float vs. sink: iron, glass and golf ball sink; cork, wood and the hollow ping-pong ball float - from Archimedes' law, not a flag.
Terminal velocityIn air, feather < golf < iron; and the medium changes everything - a golf ball's terminal speed is air > water > honey (barely creeping in honey).
Heavier falls faster (in air)Because of drag, the iron bar reaches the floor before the feather - the opposite would be true only in vacuum.
Reynolds regimeThe Reynolds number selects Stokes vs. quadratic drag automatically; drag removes energy, so measured impact KE is 0 < KE < m * g * h.
Orientation and MagnusAn edge-on coin's terminal speed is ~3.5x the same coin face-on; a spinning golf ball curves sideways from Magnus lift.
HeatHot metal quenches in water and flashes steam (Stefan-Boltzmann + convection); paper ignites in flame, but wet paper does not.

How it renders

SDF ray march

Signed- distance solids (marble, glass basins, brass rims, columns) with a soft sun, cool fill and a flame point light.

Recorded fall

An adaptive sub-stepped SI integrator records the trajectory; the renderer replays samples - no authored motion.

54 frames

540x360 at 2x supersample, 3.4 s of sim per GIF, plus a 96 px telemetry HUD strip.

~65-73 s

Per GIF, single-thread CPU render on this machine; two GIFs, ~3 MB total.

Objects are drawn 2.2x enlarged for visibility, but their positions stay exactly real. 24 self-tests (buoyancy, terminal ordering, heavier-falls-faster, Reynolds selection, energy loss to drag, quench and flash-steam, ignition, coin edge-vs-face, Magnus deflection, determinism) back every claim above.