Draw walls. Watch the waves bend.
A ripple tank in your browser. Two gaps split a wave, the pieces overlap, and bright bands appear on the screen, right where the formula says.
Draw your own wallsRipple Tank
Tap the water to drop a source
Fig. 1. Waves are starting.Matches the formula
How it's built
- A wave solver written from scratch
- The tank is a 2D wave equation stepped on the GPU: WebGL2 float textures ping-ponged at 60 frames a second, with walls, shallow plates that slow the wave, and an absorbing edge so nothing bounces back from the glass.
- A twin that checks the GPU
- A second copy runs on the CPU in a worker, with its own sine and Float32 arithmetic. At start-up it checks the GPU against it and takes over if they disagree, so the tank never goes blank.
- Shadowgraph rendering
- Brightness comes from the curvature of the water surface, the way a real tank's lamp projects it: crests that curve up focus light, troughs spread it.
- Measured, not painted
- The bright bands on the screen are found by fitting a peak to the averaged brightness and compared with the textbook formula d sin θ = mλ in the caption.
- Next: a daily puzzle
- Daily Focus is planned: a physics puzzle scored on Pages Functions and D1 from a table the CPU twin precomputes, so the server never simulates.