Every Future has a Founding

Mandelbrot zoom movies

Rendered zooms into the boundary of the Mandelbrot set, each with the point it converges on and what the render cost.

4 minutes read

735 words

Contents3

Tours of the boundary, rendered frame by frame from a list of waypoints.

A movie is a list of waypoints and the camera moves between them. A waypoint fixes a centre, a view height, an iteration ceiling and the colouring. Every frame is a full escape-time render, so the cost grows with the length of the movie and with the depth it reaches. Each entry below carries the video, the points it dives to and what it took.

Four dives from one view

Nine waypoints, alternating between a wide view of the whole set and a point on the boundary. The wide view is the same one each time, at centre 0.749667+0i-0.749667 + 0i and a view height of 4.16, so the film returns to it four times.

Four dives from one view
Plays from Youtube once you press it
Dive Centre View height Magnification
1 1.941271+0.000014i-1.941271 + 0.000014i 3.683×1033.683 \times 10^{-3} 1,130
2 +0.2622740.002347i+0.262274 - 0.002347i 5.893×1055.893 \times 10^{-5} 70,590
3 0.410382+0.601277i-0.410382 + 0.601277i 5.040×1045.040 \times 10^{-4} 8,254
4 0.7462280.090107i-0.746228 - 0.090107i 2.196×1062.196 \times 10^{-6} 1,894,000

The first dive sits on the antenna, the spike along the real axis left of the main body. The second lies just outside the cusp of the main cardioid, which meets the real axis at +0.25+0.25 . The fourth is in the valley between the main cardioid and the period-2 disc, below the real axis.

Every waypoint uses the ultraviolet palette at a cycle density of 0.1, and an iteration ceiling of 10,000. Each stop is held for 5 seconds. The film runs 11,793 frames at 60 frames per second, which is 196.55 seconds, at 3840 by 2160.

Of those 11,793 frames the renderer draws 4,465. Each dive is travelled twice, outward and back, and the return is the outward leg reversed. Six legs play in reverse and two clips repeat. That leaves 62 percent of the finished file encoded from frames already drawn.

Three palettes across one tour

Four waypoints, each carrying its own palette and its own colour cycle density, with both interpolated across every move. The colouring is the subject of palette morphing between waypoints .

Three palettes across one tour
Plays from Youtube once you press it
Waypoint Centre View height Palette Cycle density
0 0.750208+0i-0.750208 + 0i 2.62.6 ember 0.0563
1 1.2555510.381250i-1.255551 - 0.381250i 6.289×1036.289 \times 10^{-3} fire 0.0496
2 1.2581440.381665i-1.258144 - 0.381665i 2.843×1062.843 \times 10^{-6} ultraviolet 0.0629
3 0.750208+0i-0.750208 + 0i 2.62.6 random:b427b313 0.0704

Waypoint 0 is the neck where the main cardioid meets the period-2 disc, at 0.75-0.75 on the real axis. Waypoints 1 and 2 are the same descent seen at two depths. The second is 914,600 times narrower than the opening view. Waypoint 3 returns to the opening coordinates and differs only in colour, so the film ends where it began in a palette generated from a seed.

The iteration ceiling rises from 10,000 at the opening to 100,000 at the deepest waypoint, interpolated geometrically. The shallow frames therefore do not pay the cost the deep ones need. Each stop is held for 3 seconds.

The film runs 8,026 frames at 60 frames per second, which is 133.76 seconds, at 3840 by 2160. The renderer draws 6,772 of them.

Mandelbrot --movie COLOR.fmovie --res 3840x2160 --out color.mp4 \
           --speed 0.5 --ramp 5 --progress

Entry fields

A centre is a complex number, written to as many digits as the depth needs. Past about fourteen digits the arithmetic no longer fits a double, and the renderer carries more precision than the hardware offers.

View height is the vertical extent of the frame in the complex plane. A movie stores the height rather than a pixel span, so the same film shows the same region at every output resolution.

Magnification is the opening view height against the height at a dive. A magnification of 10610^{6} means that frame is a million times narrower than the opening one. A film returning to its opening view has no single magnification, so the figure is given per dive.

Frames drawn is smaller than frames in the file whenever a leg repeats or reverses. A returning leg is the outward leg played backwards, and the renderer encodes it from the frames it already has.

The theme fetches the poster while the site builds, and reaches no other host until a reader presses play. A page of movies therefore costs a visitor nothing until they ask for one.

Tags