z ↦ z² + c, iterated forever
Every point of the plane is a starting value of z. Iterate z² + c and either the orbit runs away to infinity — those points get coloured by how long they took — or it never escapes, and the point is painted as part of the filled Julia set. Change c and the whole picture is rebuilt from nothing.
A Julia set is connected exactly when its c lies inside the Mandelbrot set, so all of the interesting shapes — spirals, dendrites, rabbits, Siegel disks — are crowded against that boundary. Auto sweep walks along it: it circles the main cardioid or one of the bulbs at a steady rate — a lap runs about a minute whatever the bulb's size, because the scale of the shapes shrinks with it — while a slow quasi-periodic wave nudges c a little inside and a little outside, so the set breathes between fat and filigreed. Every so often it glides onto a different bulb, entering at the closest point so the hand-off stays smooth.
| drag | pan the view |
| wheel / pinch | zoom |
| drag on map | steer c by hand (pauses the sweep) |
| space | toggle auto sweep |
| P | next palette |
| R | reset the view |
| N | random parameter |
| + − | zoom in / out |
| ←↑↓→ | pan |
| M | show / hide the parameter map |
| F | fullscreen |
| H | this panel |
The parameter, view and palette all live in the URL, so any link you copy reopens exactly this frame. Rendering runs as a fragment shader on the GPU; where WebGL is unavailable the page falls back to a reduced-resolution CPU renderer and the sweep keeps running, more slowly.