Pick a corner at random, move half way to it, mark the spot — and a triangle nobody drew appears.
The chaos game
Take three points. Start anywhere. Repeat: pick one of the three at random, move half
way towards it, and plot where you land.
That is Michael Barnsley’s chaos game, and it is the least likely-looking way to draw a
Sierpiński triangle. There is no recursion, no subdivision, and no reference anywhere to
the shape being produced.
A hundred points. Some of the first few are not on the figure at all — the walk has to
fall onto the attractor before it can stay there, which takes about a dozen steps because
halving distances is a contraction.
Why it works
The three “move half way to corner k” maps are the three halves of the triangle: each
sends the whole triangle onto one of its three corner sub-triangles. The Sierpiński
triangle is the unique set that is exactly the union of its three images under those maps
— its attractor — and the chaos game converges on it from any starting point.
The middle sub-triangle is not the image of anything, so no sequence of moves can land
there. That is the hole.
A thousand points, and the three large holes are already the dominant feature — they
appear before any of the fine structure does, because a large hole is defined by a short
sequence of moves and short sequences occur often.
Twelve thousand. Each hole contains three smaller ones, and those contain three smaller
again. The depth visible is set by the point count, not by the mathematics: a hole n
levels down needs a specific n-move sequence, which occurs one time in 3ⁿ.
A hundred thousand.
Half a million points. The gaps are not omissions — they are the regions the walk
provably cannot reach, and they would stay empty for any number of points.
Paper plots each point as a small raw square, with no antialiasing and no blending, so
a pixel struck twice looks like a pixel struck once. Tone comes from coverage rather than
accumulation, which is why raising the count sharpens the edges of the holes and does
nothing to their interiors.
The variants
All eight renderings share the same walk — the same three maps, the same convergence —
but the knobs around it differ, and each variant turns a different one.
| Variant | What it changes |
|---|
| Paper | the canonical figure: ink on a warm paper ground |
| Midnight | the triangle turned on its head, ivory on indigo |
| Mist | gaussian jitter blurs every landing point into soft stone |
| Cinders | a stronger contraction (0.45) breaks the figure into dust |
| Relief | the corners are chosen with unequal odds, shading the figure |
| Echo | three nested walks at shrinking scales, each fainter than the last |
| Ochre | a small, dense triangle set in a wide dark field |
| Rays | instead of dots, a spoke from each point to the corner it moved to |
Cinders deserves a closer look. The midpoint rule contracts by a half; contracting by
0.45 instead pushes the three sub-triangles apart, and the attractor stops being a
connected figure and becomes a cloud of disconnected clusters — the same maps, a
different regime, and the triangle survives as a silhouette of scattered embers.
Rays marks the step itself rather than its landing point: a line from each point to the
corner it moved towards. The corners flare into three bright fans, and the holes stay
visible as the places the spokes only cross.
On the wall
Framed is the presentation: Paper mounted behind a mat in a dark frame, hung on a
gallery wall. It is a mode, not a variant — the frame is a presentation layer that wraps
the finished piece, and the chaos game underneath draws itself unchanged inside the
mount, at a smaller scale. Nothing in the walk knows the frame is there; the same
treatment could hang any of the variants.
Determinism
The walk is seeded from the preset’s Seed, so the same points land in the same places
every run. The generator is System.Random, which the project’s determinism policy flags
as not guaranteed stable across .NET versions.