Ripple tank (3D)

A Blender-built lab tank with a live water surface: send waves through slits, add sources and watch diffraction, fringes and the Doppler shift appear.

Switch to 2D

Presets

Playback

Waves and barrier

Camera

Layers

Quality

Model check

The science

Waves on a grid

The water height u obeys the wave equation, utt = c² (uxx + uyy). The lab steps it on a square grid (1 cell = 1 cm) with the standard second-order rule unew = u + (u - uold)(1 - damping) + (c dt/dx)² ∇²u, the same rule the 2D page uses. Cells marked as barrier are held at zero (a hard wall that reflects the wave), and a soft sponge near the edges absorbs waves so they do not bounce back.

Wavelength on a grid. In the continuum λ = c/f. A grid slows short waves slightly, and for waves along a grid axis the scheme obeys sin(π f) = (c dt/dx) sin(k/2), giving a wavelength a little shorter than c/f. The lab uses the scheme's own value for predictions, and the graph shows both.

Diffraction and interference. A slit of width a spreads a wave; the first minimum of a single slit lies at sinθ = λ/a. Two slits (or two sources) a distance d apart make fringes of spacing about λL/d at a screen distance L; a grating of many slits sharpens them into orders at sinθ = mλ/d. The screen bar and the first graph show the time-averaged intensity there. A moving source piles up waves in front and stretches them behind it: the Doppler effect.

Honest simplifications

This is a scalar 2D wave with constant speed and linear damping, not real water: no surface tension, no depth-dependent dispersion, no breaking. The screen is a line of numbers, not light. The height you see is exaggerated by a slider and is only for display; the simulation does not change with it. Predictions use the screen distance in cells (centimetres), and the fringe formula is the far-field one, so it is only approximate close to the slits.

Model checks (run once at load, on separate small tanks)

A plane wave's wavelength against the dispersion relation of the scheme; the frequency of a standing mode in a walled cavity against the discrete resonance formula; the decay rate of a damped mode against damping/2; and the double-slit fringe spacing against λL/d.

Loading model...
Loading Blender model...
Mean intensity along the screen
Height at the screen centre against time
Wavelength against frequency for this solver
Made with 🟠 Blender · Three.js