Nodal patterns on a vibrating plate, the standing wave modes where displacement is zero. Sand collects there. Click or tap to cycle through (m, n) mode pairs.
In 1787, Ernst Chladni published Entdeckungen über die Theorie des Klanges , "Discoveries in the Theory of Sound", and included detailed engravings of more than fifty patterns he had made by drawing a violin bow across the edge of a clamped metal plate dusted with sand. When the plate vibrated, the sand migrated. It did not collect where the plate moved most. It collected where the plate did not move at all. Chladni had made standing wave nodes visible.
The patterns are not decorative accidents. Each one is a mode of the plate's natural resonance, a frequency at which the plate settles into a stable standing wave. At that frequency, certain lines across the plate surface remain stationary while everything around them oscillates. Sand resting anywhere on the vibrating surface gets shaken off the moving regions and pushed toward the still ones. The result is a precise map of the plate's resonant geometry, carved by vibration into powder. Robert Hooke had noticed something similar on a glass plate in 1680, but Chladni systematized the method, catalogued dozens of mode pairs, and made acoustics a quantitative experimental science. Napoleon watched a demonstration and funded further research. The patterns fascinated Goethe. They still show up in violin-making workshops, where builders use them to match top-plate and back-plate resonances by mode.
The mathematics behind the patterns is the biharmonic wave equation, distinct from the simpler wave equation you get for strings or membranes. Exact analytic solutions exist for rectangular plates with specific boundary conditions. For a square plate clamped at the center and free at the edges, the displacement function for mode (m, n) is:
f(x, y) = cos(m·π·x)·cos(n·π·y) − cos(n·π·x)·cos(m·π·y)
The nodal lines are where |f(x, y)| = 0. Sand sits there. The browser artifact evaluates this formula across a grid, colors pixels near the zero contour in warm sand tones, and morphs continuously between mode pairs, interpolating the parameters so you can watch one pattern dissolve into the next. The core rendering loop is a direct pixel-by-pixel evaluation:
for (let py = 0; py < side; py++) {
const y = (py / (side - 1)) * 2 - 1;
const cny = Math.cos(n * Math.PI * y);
const cmy = Math.cos(m * Math.PI * y);
for (let px = 0; px < side; px++) {
const x = (px / (side - 1)) * 2 - 1;
const f = Math.cos(m * Math.PI * x) * cny
- Math.cos(n * Math.PI * x) * cmy;
const af = Math.abs(f);
// draw sand-colored band where |f| < threshold
if (af < band) {
const s = 1 - af / band;
buf[i] = BR + (SR - BR) * s * s;
buf[i+1] = BG + (SG - BG) * s * s;
buf[i+2] = BB + (SB - BB) * s * s;
}
}
}
The quadratic falloff (s * s) gives the nodal lines a soft edge that reads like actual sand grain density rather than a hard boundary. Mode (1, 2) produces a simple cross. Mode (3, 4) is more complex, four-fold petals nested inside each other. The pattern's complexity scales roughly with m + n. The artifact cycles through twelve mode pairs, morphing each into the next over about 2.6 seconds so you can track how one symmetric structure deforms into another without a hard cut.
What Chladni demonstrated in 1787 is that geometry is latent inside vibration. The plate does not draw the pattern. The pattern is the plate's own resonant structure, expressed through sand as a marker. Different frequencies reveal different modes; the same plate holds all of them simultaneously, waiting for the right excitation to surface each one. That relationship between an object, its natural frequencies, and the geometry those frequencies imply is foundational to structural engineering, instrument acoustics, and quantum mechanics alike. Chladni did it with a bow and some sand.
Chladni
Nodal patterns on a vibrating plate, twelve mode pairs morphing continuously, sand mapping where sound stops.
View artifact →