Clifford Attractor

Two equations, four numbers, and a point that never settles. Each frame plots a few thousand more positions of that wandering point; given long enough, the places it prefers to visit draw themselves.

What you are looking at

Start at a point and apply the same pair of equations over and over, each output feeding back in as the next input:

xₙ₊₁ = sin(a·yₙ) + c·cos(a·xₙ)
yₙ₊₁ = sin(b·xₙ) + d·cos(b·yₙ)

The point never repeats and never escapes to infinity. It is pulled towards a bounded region - the attractor - but which part it lands on next is effectively unpredictable. Plot a few hundred thousand of those positions and the density becomes visible: dark where the orbit lingers, faint where it passes through rarely.

The word strange in "strange attractor" refers to that structure. It is not a curve or a surface but something in between, with detail at every scale you care to look at.

The four parameters

a and b set the frequency of the folding; c and d set how strongly each axis pulls back. Small changes make large differences, which is why New pattern jitters the four values rather than picking fresh ones - it stays in the neighbourhood of shapes that read well.

Settings

400,000
Total positions plotted per pattern. Applied when you let go.
10 ms
Pause between batches. Higher is slower and calmer.
1,000
Points added per batch at the start.
5,000
Points per batch by the end. The draw accelerates between the two.
ON COMPLETIONNEW PATTERN
Off holds the finished image on screen.

Built with

Plotly's WebGL point cloud, fed in batches so the image builds up rather than appearing at once. The positions are computed up front in a Web Worker so the page stays responsive while it thinks.

SCROLL FOR SETTINGS
or press N
400,000
DRAWING: 0%
MOTION RUNNING