Depth Sheet

Wave · y = f(x, t)

y = sin(x − t) · cos(z · 0.8 + t · 0.5)

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

What it draws

The formula is a product of two factors, one in x and one in z. sin(x − t) is the wave itself: crests 2π ≈ 6.28 apart, travelling right at one unit per second at Speed 1.

Each trailing slice is fed its own depth as z, and cos(z·0.8 + t·0.5) multiplies the whole of a slice by a single number. It sets how tall that slice is and nothing else, so the trailing copies stop being a ribbon and become a sheet. Its wavelength in depth is 2π/0.8 ≈ 7.85, about one cycle over the ribbon's reach, and t·0.5 rolls the pattern forward.

The sheet in depth

The two feeds interact, because a slice further back in depth is also older. The clock inside the second factor therefore runs backwards along the sheet, against the 0.8z, and partly cancels it. What is left is a slower turn from one slice to the next than the depth term alone would give.

Where that factor passes zero, a whole slice flattens onto the plane. Those flat slices march steadily toward the front, and the depth pattern comes back to itself every 2π/0.5 ≈ 12.6 seconds at Speed 1.

The lag shows in the other direction too. An older slice draws the same sine a little later in its travel, so its crests sit behind those of the slice in front of it. The ridges of the sheet lean off the depth axis by a fixed angle, and that lean is the wave's speed drawn as a slope.

Try

  • Top in the deck: straight down on the sheet, where the leaning ridges and the flat slices are plainest.
  • Take the depth away, sin(x − t): every slice the same height, and the sheet is an ordinary ribbon again.
  • Stop the roll, sin(x − t) · cos(z·0.8): with no t in the second factor the depth pattern holds still and the flat slices stay where they are.
  • Double the depth frequency, sin(x − t) · cos(z·1.6 + t·0.5): the factor turns twice as fast with depth, halving the wavelength to 3.93 and fitting more flat slices into the sheet.

Read more

Wave · y = f(x, t)