Ripple Tank
z = sin(3 · hypot(x−3,y) − 4t) + sin(3 · hypot(x+3,y) − 4t)
Open in the app The dials and keys named below are the app's.
What it draws
Two point sources sit on the x axis, at (−3, 0) and (3, 0). hypot(x − 3, y) is the distance from a point of the sheet to the right-hand source, so each term is a circular wave spreading out from its own source. The height is the sum of the two.
The 3 in front of each distance is the wavenumber: crests are 2π/3 ≈ 2.09 apart. The 4 on t is the angular frequency, so each set of rings takes 2π/4 ≈ 1.57 seconds to repeat. Both sets travel outward at 4/3 ≈ 1.33 units per second at Speed 1. Neither term fades with distance, so the far corners heave as hard as the middle.
Why the pattern
Where the two distances differ by a whole number of wavelengths the waves arrive in step and the height doubles. Where they differ by half a wavelength more, they cancel and the sheet stays flat for all time. Each of those conditions is a constant difference of distances to two fixed points, which is the definition of a hyperbola with the sources as its foci. The sources are 6 apart, or 2.86 wavelengths, so five antinodal hyperbolae fan out from the pair, with six still nodal curves between them. The middle antinodal one is the y axis itself, a straight line.
Try
- Top in the deck: the classic ripple-tank photograph, with the still nodal curves fanning out from between the sources.
- Lengthen the waves, sin(2 · hypot(x − 3, y) − 4t) + sin(2 · hypot(x + 3, y) − 4t): fewer wavelengths between the sources, so fewer nodal curves.
- Bring the sources closer, to x − 1.5 and x + 1.5, and the fan opens up.
- Drop one term and the hyperbolae vanish: a single source is plain circular rings.
- Raise Span of x, y to see the far field, where the hyperbolae straighten into rays.