← Back to Work

Eigendrum

Finite-Element Acoustics & Spectral Geometry in the Browser
Role & Team
Creator & Sole Author
Timeline
Aug 2026 to Present
Stack
JavaScript, Web Audio, FEM, Workers
Citations & Stars
150★: DOI 10.5281/zenodo.22019539

Overview

Eigendrum is a zero-dependency web application that turns any hand-drawn polygon into an acoustically accurate drum membrane. It discretizes the drawn region, solves the 2D Dirichlet eigenvalue problem for the Laplace operator with linear P1 finite elements, and synthesizes the resulting acoustic overtones in real time using the Web Audio API.

No sample libraries, audio recordings, or hand-tuned wavetable oscillators are used. Every harmonic and non-harmonic partial is computed directly from boundary geometry. A drum with 2,051 unknowns meshes and solves in about 800 ms in an asynchronous Web Worker with zero backend dependencies and no WebAssembly runtime.

The Eigendrum interface: a circular drum ringing with modal displacement contour bands.
eigendrum.com Live instrument ringing: real-time modal displacement contours with stationary nodal lines.

Mark Kac's Problem & Computational Proof

In 1966, mathematician Mark Kac published "Can One Hear the Shape of a Drum?" in the American Mathematical Monthly, asking whether the spectrum of eigenvalues of the Dirichlet Laplacian uniquely identifies the shape of a 2D planar domain.

In 1992, Carolyn Gordon, David Webb, and Scott Wolpert proved the answer is negative by constructing pairs of non-isometric polygons that share identical Laplace spectra. Eigendrum incorporates both shapes as Kac drum I (hook) and Kac drum II (arrow).

The in-browser conforming solver computes both geometries independently and confirms that their first 16 vibrational frequencies match to within 1.07×10−7%. Users can switch between the two shapes in real time to physically hear and visually confirm the mathematical theorem.

Engineering Architecture & Numerical PDE Solver

The solver pipeline executes on the client side across four stages:

  1. Boundary Simplification & Delaunay Triangulation: Hand-drawn input points are simplified using Ramer-Douglas-Peucker and meshed into a conforming triangular mesh using constrained Delaunay triangulation.
  2. Stiffness and Mass Matrix Assembly: Linear P1 finite elements formulate the generalized discrete eigenvalue problem K u = λ M u, where K is the discrete Laplace-Beltrami stiffness matrix and M is the lumped mass matrix.
  3. Rayleigh Quotient Eigensolver: Eigenvalues (λ) and eigenvectors (u) are computed via Rayleigh quotient minimization with Chebyshev-accelerated subspace iteration in a dedicated Web Worker.
  4. Physical Synthesis: Strike coordinates project spatial impulse functions onto computed eigenmodes; modal frequencies drive individual exponentially decaying bank oscillators.

Validated against analytical closed-form eigenvalues: the unit square achieves 0.160% worst-case relative error, and the unit circular disk achieves 0.192% relative error.

Reception & Citations

Eigendrum reached the front page of Hacker News twice, earned 219 upvotes on r/InternetIsBeautiful, is cited on Wikipedia in the "Hearing the shape of a drum" external links, and received editorial coverage in Kottke.org, Sidebar.io, and 52+ publications worldwide in 8 languages.

+ View all 52+ press sources and regional publications