Dr. Loveless Curiosity Lab

The 2D Wave Equation

How geometry shapes vibration on rectangular and circular regions

This project is about two-dimensional waves: vibrating membranes, drums, and surfaces whose motion depends on both position and time. The central question is: if we choose the starting shape of a membrane, what motion follows?

Rectangles are the friendly first case: the natural modes are products of sine functions, and initial conditions are converted into coefficients using double integrals. Circles change the story. In circular regions the natural modes use sine, cosine, and Bessel functions, connecting differential equations, Taylor series, numerical approximation, and geometry.

Back to Project Showcase
Concept 1: Rectangular Eigenmodes
Click a pure mode, adjust the rectangle or wave speed, then play the demo.

For a rectangular membrane with fixed edges, the natural modes are products of sine waves. Each pair \(m,n\) gives a standing-wave shape and its own frequency.

These pure modes are the building blocks used in the initial-condition lab next door.

Rectangle and wave speed
\(L_x\) = 5.00
\(L_y\) = 5.00
\(c\) = 0.80
0.0s
Loading eigenmode demonstration...

Eigenmode Spectrum

Click a square to choose one pure mode.

Concept 2: Rectangular Initial Conditions
Choose a preset, localized bump, velocity kick, or pluck. The spectrum shows how much of each mode is present.

Real membranes do not usually start in a single eigenmode. A starting shape \(f(x,y)\), such as a pluck, must be decomposed into many modes.

The coefficients come from double integrals over the rectangle. The small table shows the resulting mode mixture.

Starting condition type
\(L_x\) = 5.00
\(L_y\) = 5.00
\(c\) = 0.80
\(a_p\) = 0.68
\(b_p\) = 0.62
\(H_p\) = -1.70
0.0s
Loading initial condition graph...

Mode Mixture

How much each pure mode is used.

Concept 3: Circular Eigenmodes
Click a circular mode in the triangular menu. Here \(m\) controls angular oscillations and \(n\) controls radial oscillations.

On a disk, polar coordinates change the separation-of-variables problem. The angular part uses sine and cosine, while the radial part uses Bessel functions.

The Desmos model uses fast fitted Bessel-mode shapes so the boundary stays clamped and the modes remain interactive.

Circular eigenmode controls
\(R\) = 7.00
\(c\) = 1.30
\(A_0\) = -2.50
0.0s
0.00
This rotates the angular pattern without changing the frequency.
Loading circular eigenmode graph...

Circular Eigenmodes

m = angular, n = radial

Selected mode: (0,1)
Concept 4: Circular Initial Conditions
Choose a preset starting shape. Each one is a mixture of the circular eigenmodes from Concept 3.

The circular version follows the same big idea as the rectangle: an initial shape is built from natural modes, and each mode vibrates at its own frequency.

A fully general solver would require computing many Bessel coefficients from integrals over the disk. For now, these presets keep the interaction fast.

Circular initial-condition controls
\(R\) = 7.00
\(c\) = 1.30
\(A_0\) = -2.50
0.0s
0.00
Rotate the starting shape without changing the mode frequencies.
Loading circular initial-condition graph...

Mode Mixture

How much each circular mode is used.

Where It Started

This project grew from the 2D wave equation and the question of how a vibrating region remembers its starting shape.

Rectangles gave us a friendly laboratory: pure eigenmodes, pluck initial conditions, mode mixtures, and double-integral coefficient formulas.

Going Further

The circular case pushed the project into Bessel functions, roots, Taylor series, and numerical approximation.

We started building a more general circular solver, but the fully automatic version runs slowly in Desmos. Future versions could precompute coefficients, add more circular presets, and compare the visuals with Chladni patterns or 3D-printed eigenmode surfaces.