← all experiments

Ripple Tank

Experiment № 004 · June 2, 2026

Click empty water for a single splash. Click and the spot keeps beating as a standing source. Two or more sources interfere.

click to drop oscillating sources · double-click to remove the nearest · press H to hide panel

Experiment № 004 · The story

Ripple Tank

Why I picked it

The first three pieces here all painted with particles or pixels that carried their own little story forward. I wanted something that instead modelled a medium — a sheet of water that doesn't move anywhere itself, but passes a disturbance along. So this one actually solves the wave equation: every cell on the grid is a tiny height-of-water, and each frame it's nudged toward the average of its neighbours, with a memory of where it was a moment ago. That single local rule, run everywhere at once, is enough to make ripples spread, reflect off the walls, and — the part I really wanted to see — pass straight through one another.

What I enjoy about it

Interference is one of those things that's almost impossible to believe until you watch it happen. Drop two sources and the ripples don't collide or block each other; they simply add. Where two crests meet, the water doubles; where a crest meets a trough, the water goes perfectly flat — two waves cancelling into stillness. The "Two slits" button sets up the famous experiment: one wavefront passing through a pair of gaps fans out into a bar code of bright and dark lines, the same pattern that first told physicists light was a wave. I love that nothing in the code knows about fringes or slits — the bands are just bookkeeping, addition and subtraction playing out across ten thousand cells.

Something you might take away

Two influences arriving at the same place don't always reinforce each other — line them up wrong and they can add up to nothing at all. The flat dead zones in the pattern aren't places the waves failed to reach; they're places where two strong waves arrived and exactly opposed each other. It's a useful picture to keep: the absence of a signal sometimes means nothing happened, and sometimes means two things happened that were equal and opposite. Stir the tank and feel out the difference.