Skip to main content

Wave interference: sources and phase differences

Open wave interference. Two in-phase sources initially generate circular ripples. Pause and inspect the bands between them: different distances to the sources produce different sums. OpenStax’s chapter on interference explains displacement superposition, reinforcement in phase and cancellation in opposition.

Controls

Click to add a source. Up to six are retained; adding another removes the oldest. Clear lets you start with a single source. With the canvas focused, move the cursor using the arrows and press Enter or Space to add one.

Spatial frequency changes the density of bands; source spacing changes the horizontal separation of the default pair. Either slider recreates that pair and resets the phase, removing manually added sources. Pause and Step help compare individual moments.

What the image measures

This implementation directly evaluates normalized displacement:

u(x,y,t)=1Nj=1Ncos(2π(frjt)).u(x,y,t)=\frac{1}{N}\sum_{j=1}^{N}\cos\left(2\pi(f r_j-t)\right).

Here rjr_j is distance to source jj, with coordinates normalized by canvas height. The parameter ff is spatial frequency; the temporal frequency is fixed. With no sources, displacement is zero. For two sources, an integer-wavelength path difference gives matching phases; half a wavelength gives opposition.

Color represents signed displacement from 1-1 to +1+1, not intensity or energy. Dividing by source count keeps the scale fixed, so adding sources need not brighten the image. There is no distance attenuation, obstacle reflection or water dynamics: this is a phase-superposition model.

Rendering

A 320×224320\times224 field is smoothly enlarged. Horizontal coordinates account for aspect ratio so circular ripples stay circular. Cached spatial sine and cosine coefficients are combined with the changing time phase, avoiding repeated distance calculations until sources or parameters change. Compare reaction–diffusion: this field is evaluated directly, while that model evolves from the previous grid state.

Explore connectionsOpen network