LsjLissajous Curve

Mathematical & Geometric · Scale 2

Lissajous Curve

A point swings side to side and up and down at once, at speeds in a whole-number ratio. Its path is a Lissajous curve.

What it is

The curve is the path of a point with x = sin(a t + shift) and y = sin(b t). Its x position swings left and right a times while its y position swings up and down b times. The shift is where the x swing starts.

The plates

Four plates. The dial is the ratio a : b, at 1 : 2, 3 : 2, 5 : 4 and 7 : 5. Each plate draws many copies of the loop, each with a different shift, which weaves the single loop into a ribbon.

Safari stop · Two swings · Ratio
  • 1 : 2

  • 3 : 2

  • 5 : 4

  • 7 : 5

Turn the dial on the safari →

The plates are drawn by mosaic, a small Python library of our own, built on numpy, scipy, shapely and contourpy. No image model is involved, and each plate is a flat-colour SVG under 45 KB. The word Ciao is the safari's constant: it sits in the same place on every plate.

What we did and found

The dial changes the ratio and, with it, how many copies are drawn: 48 at 1 : 2, 28 at 3 : 2, 14 at 5 : 4 and 9 at 7 : 5. We set the counts so that every plate carries about the same amount of line and stays under the 45 KB limit.

The plates therefore differ in two ways at once: the ratio and the number of copies.

What is open

We have not drawn the four ratios with the same number of copies, which would show the ratio changing alone.

mosaic is not yet part of Platypus, our visuals engine. That is why this cell is marked as working and not as shipped: the page is our notebook on the element.

Composes with

Other cells in the table — most still to be walked into in coming sessions.