Eigendrum: draw a shape, hear it as a drum — the physics solved in your browser
Original source
Show HN: Eigendrum - Draw any shape and hear what it sounds like as a drum
Hacker News →Eigendrum is a browser tool that turns an arbitrary outline into a playable drum by solving the underlying physics on the fly. A clamped drumhead can only vibrate in specific modes at specific frequencies — the eigenvalues of the Laplacian with a zero-displacement boundary — and almost no shape has a closed-form answer. So the tool meshes whatever you draw into triangles, assembles finite-element stiffness and mass matrices, and computes the lowest eigenvalues numerically. Shapes can be sketched, or written as polar or parametric equations, which reaches curves no hand can trace accurately and makes a shape something you can tweak one number at a time.
The author leans hard on verifiability. The solver is regression-tested against the few shapes with exact spectra — a circle’s frequencies come from Bessel-function zeros, a rectangle’s from a simple formula — and reproduces them to within a tenth of a percent, with errors guaranteed to be slight overestimates because a conforming FEM minimizes energy over a restricted space. Much of the physical behavior is emergent rather than hand-coded: strike a node line and a mode won’t sound, because a strike is just the mallet projected onto every mode at once. The genuine modeling choices are separated out and exposed as sliders — wave speed (pitch), mallet width and contact time, and Rayleigh damping that makes high overtones fade first — none of which can shift a mode’s frequency.
The project frames itself around Mark Kac’s 1966 question, ‘Can one hear the shape of a drum?’, which Gordon, Webb and Wolpert answered ‘no’ in 1992 by constructing two different shapes with identical spectra; both ship as presets so you can see distinct outlines that sound the same. Architecturally it’s a static site with no backend — meshing, solving, and audio all run client-side — and it’s privacy-conscious by design: the drawn shape lives in the URL fragment after the ’#’, which browsers never transmit, so it stays off the server. The source, including the solver and its tests, is on GitHub.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.