AtrStrange Attractor

Procedural · Scale 5

Strange Attractor

A two-line rule moves a point, then moves it again from where it landed. The point never repeats its path, but the path traces a shape. The rule we run is the Clifford attractor.

What it is

The rule is two lines: new x = sin(a y) + c cos(a x), new y = sin(b x) + d cos(b y). The four constants a, b, c and d are the whole recipe.

A point is moved by the rule, then moved again from where it landed, and so on. It never repeats its path, but the places it visits trace a shape. That shape is a strange attractor.

The plates

Four plates. The dial is the set of constants (a, b, c, d): A (−1.4, 1.6, 1, 0.7), B (−1.7, 1.3, −0.1, −1.21), C (1.5, −1.8, 1.6, 0.9) and D (−1.8, −2, −0.5, −0.9). On each plate 6,000 points are followed for 1,000 steps each, which is 6,000,000 dots in all.

Safari stop · Two lines, over and over · Constants
  • set A (-1.4, 1.6, 1, 0.7)

  • set B (-1.7, 1.3, -0.1, -1.21)

  • set C (1.5, -1.8, 1.6, 0.9)

  • set D (-1.8, -2, -0.5, -0.9)

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

Two starting points 0.000000000001 apart were 0.62 apart after 200 steps.

We do not draw the dots one by one: six million of them would be a 164 MB file. We count how many fall in each cell of a 256 x 256 grid, blur the counts a little, and take the logarithm so that faint haze shows next to the dense cores. The result is cut into five bands, and each band is one flat tone.

What is open

Only the Clifford rule is drawn. The table lists Lorenz, de Jong and Pickover under this cell, and none of them is on a plate yet.

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.