Cross Ripple

Surface · z = f(x, y, t)

z = sin(x + y + t) + cos(x − y + t)

Open in the app The dials and keys named below are the app's.

What it draws

Each term is a plane wave running along a diagonal. sin(x + y + t) has its crests on the lines x + y = constant, and cos(x − y + t) has its crests on the lines x − y = constant. The two families cross at right angles, and the sheet is the sum of the two.

Each wave has a wavevector of length √2, so its crests are 2π/√2 ≈ 4.44 apart measured across them. Each carries t with coefficient 1, so each runs at 1/√2 ≈ 0.71 units per second at Speed 1. Both share that speed, which makes the sum an exact solution of the two-dimensional wave equation. The whole picture repeats every 2π ≈ 6.28 seconds.

Why the pattern

The crossing is an illusion of the sum. Written as a product, sin(x + y + t) + cos(x − y + t) = 2 · sin(x + t + π/4) · cos(y − π/4). That is one corrugation of wavelength 2π ≈ 6.28 sliding along −x at 1 unit per second. The profile in y that multiplies it never moves, so it holds the corrugation between fixed ridges. The zeros of that profile, y = 3π/4 + nπ, are nodal lines, and the sheet stays flat along them while everything between them heaves. Where the two waves agree the height reaches 2, twice either one alone.

Try

  • Top in the deck: the nodal lines are the straight creases the moving ridges never cross.
  • Flip the sign on the second clock, sin(x + y + t) + cos(x − y − t): the roles of x and y swap, so the ridges lie the other way and the corrugation marches along −y.
  • Speed one wave up, sin(x + y + t) + cos(x − y + 2t): the nodal lines come unstuck and drift along +y at half a unit per second while the ridges run at 1.5.
  • Drop Span of x, y to 4 for a single cell of the pattern, one ridge between two nodal lines.

Read more

Surface · z = f(x, y, t)