Two facing mirrors make an endless corridor. Make them round, and reflection becomes inversion, turning a circle inside out. Reflections of reflections shrink, nest and pile up into a lace of circles, the limit set.
How it works
Möbius maps, built from an even number of inversions, send circles to circles. A few such maps with all their products form a group; if none is arbitrarily close to the identity, the group is Kleinian, and every orbit piles up onto one fractal, the limit set.
The shader works backwards, like the artist Jos Leys. The group has a fundamental domain whose copies cover everything but the limit set. Each pixel is pushed back one generator at a time; the step count is its “tile” and colour. The accumulated stretching gives the distance to the lace for “distance” colouring and “Glow”. Points still outside after “Iterations” lie on the lace.
In the “Maskit slice” b shifts the plane by 2 and a carries the unit circle at 0 to the one at μ; “Parameter a” is Re μ, “Parameter b” sets Im μ = 2 + b/4. At a = b = 0, μ = 2i and the limit set is exactly an Apollonian gasket laid in a strip. “Indra’s pearls” pairs four circles at ±1 and ±i, left with right and bottom with top: each circle holds three smaller ones, each of those three more, leaving a Cantor dust of pearls. The “Apollonian packing” follows Iñigo Quílez: fold the plane into a square cell, invert in a circle, repeat.
A bit of history
Felix Klein and Henri Poincaré studied such groups in the 1880s. Poincaré named one class Fuchsian, after Lazarus Fuchs; Klein objected, so the next class became Kleinian. Klein and his student Robert Fricke drew limit sets by hand. Computers brought real pictures: David Mumford, Caroline Series and David Wright gathered theirs in Indra’s Pearls (2002), named after the Buddhist net of Indra, whose every knot holds a pearl reflecting all the others. The first picture of the Mandelbrot set appeared in 1978 in a paper on Kleinian groups by Robert Brooks and Peter Matelski.
What to tweak
- “Speed”, “Parameter a” and “Parameter b” all 0: the Apollonian gasket in a strip. Move a and it skews into necklaces of beads; raise b and they part.
- “Indra’s pearls”, “Speed” 0, “Parameter b” 0: all four circles are perpendicular to one circle, and the dust lies on it; at “Parameter a” 1 they touch and the dust fills the circle. Any other b knocks it off.
- “Colouring” “distance” with “Glow” near 1: tiles sink into the background, only the lace shines.
- A “Relief” effect in “Mode” “metal” on top turns the lace into chased silver.