Vibrating plates create stunning Chladni patterns. Sand gathers at nodal lines — the places where the plate doesn't vibrate. Different frequencies produce different geometric patterns.
The plate vibrates at eigenfrequencies. Sand moves away from antinodes (maximum vibration) and collects at nodes (zero vibration), revealing the mode shape.
Change the vibration frequency to see different patterns emerge. Higher frequencies create more complex, intricate figures.
Ernst Chladni demonstrated these patterns to Napoleon in 1809 using a violin bow on metal plates. Napoleon was so impressed he funded Chladni's research — making it one of the first government science grants.
This simulation reproduces the nodal patterns that form when a square plate is driven into resonance and sand is sprinkled across it. A GLSL fragment shader evaluates the standing-wave amplitude at every pixel using a superposition of two square-plate modes, s(x,y) = a·cos(nπx)cos(mπy) + b·cos(mπx)cos(nπy), and draws bright sand wherever the amplitude crosses zero, tracing the nodal lines where the plate stays still.
The m and n sliders set the integer mode numbers (1–12), Mix a/b blends the two superposed modes so symmetric figures appear near 50%, Drive animates the vibration intensity over time, and the palette recolours the sand. Chladni figures are not just beautiful: they underpin the design of musical instruments, loudspeakers, and the tuning of bells and resonant structures.
What is a Chladni figure?
A Chladni figure is the pattern formed by fine particles, such as sand, on a vibrating plate driven at one of its resonant frequencies. The particles bounce away from the regions of strong movement and settle along the nodal lines, where the plate does not vibrate, making the invisible mode shape visible.
How does this simulation create the patterns?
It runs a GLSL fragment shader on the GPU that evaluates a standing-wave amplitude for every pixel of a square plate. Wherever the absolute amplitude is close to zero, the shader draws bright sand; everywhere else it shades the field by the sign and strength of the displacement. No physical particles are simulated, the pattern is computed directly from the wave equation.
What do the m and n sliders do?
m and n are integer mode numbers between 1 and 12 that select which vibrational mode of the square plate is displayed. They effectively set the number of half-wavelengths along each axis, so larger values produce more lines and more intricate figures. The on-screen readout shows the current m, n pair.
The displacement is modelled as s(x,y) = a·cos(nπx)cos(mπy) + b·cos(mπx)cos(nπy), a superposition of two degenerate plate modes. Sand collects where |s| is approximately zero, and the resonant frequency scales roughly as f proportional to the square root of (m squared plus n squared).
Mix a/b sets the relative weights a and b of the two superposed modes. At the extremes only one mode is visible, giving a simple grid of straight nodal lines. Near the 50% midpoint the two modes combine equally, producing the symmetric, curved Chladni figures that the plates are famous for.
Drive controls the intensity of the time-varying vibration animating the plate. Internally it modulates the standing-wave amplitude through a sine term tied to the simulation clock, so the field gently pulses. It also slightly tightens the sand threshold, sharpening the nodal lines as the drive increases.
The figures are an idealised analytic model rather than a full elasticity simulation. The cosine superposition captures the symmetry and topology of real square-plate modes very well, but a true plate also depends on boundary conditions, material stiffness, and damping. The simulation is excellent for understanding mode shapes, though exact real-plate frequencies require the biharmonic plate equation.
On a vibrating plate the antinodes shake violently while the nodal lines remain motionless. Grains sitting on the antinodes are flung around and gradually migrate until they reach a nodal line, where there is no acceleration to dislodge them. Over time almost all the sand accumulates along these still curves, outlining the mode.
The preset grid offers a selection of well-known mode pairs, from simple low-order figures such as (1,1) up to busier patterns like (5,2). Clicking a preset sets the m and n sliders together so you can jump straight to a recognisable figure without hunting through every combination by hand.
Understanding plate modes is central to acoustics and instrument making. Violin and guitar makers tap and tune their soundboards to favourable mode shapes, loudspeaker and panel designers avoid unwanted resonances, and engineers study modal patterns to prevent fatigue in turbine blades, vehicle panels, and other thin vibrating structures.