← Feed
Link31 Aug 2026Rigs & DIYScienceProducts & tools

A tiny cymatics toy that models both a plate and a drumhead

Olivier Giulieri's MIT-licensed demo computes square-plate trigonometry and circular Bessel functions, with no libraries at all.

Open at github.com ↗GitHub · 4 min

Most browser demos only do the square plate. This one does both geometries: trigonometric superposition for a steel plate, and Bessel functions for a circular drumhead. Play a frequency and the simulated sand settles onto the nodal set, with particles measuring their distance to the nearest node and moving downhill in proportion to the local vibration.

It is deliberately lean. No external libraries, no images, no lookup tables, Web Audio for the tone, and a service worker so it installs as a progressive web app. Frequencies are derived from material constants, using a steel density of 7850 kg/m³, which means the numbers on screen bear some relation to a physical plate rather than being arbitrary.

Created at the end of August 2026 by Olivier Giulieri, MIT licensed, still only a handful of stars. The demo lives at evoluteur.github.io/cymatics. A good short read if you are writing your own solver.

More from the feed