Julia sets

Dynamics of polynomials in one complex variable, drawn on the GPU. Drag to pan, scroll to zoom, click to follow an orbit.

Parameters

Parameter plane (click to choose c)

About

For a polynomial $f$, the filled Julia set $K(f)$ is the set of points whose orbits stay bounded, and the Julia set $J(f)=\partial K(f)$ is its boundary. It is also the closure of the repelling periodic points, and the set where the iterates $f^{\circ n}$ fail to form a normal family. For $f(z)=z^2+c$ a theorem of Fatou and Julia gives the dichotomy: $J$ is connected if the critical point $0$ has a bounded orbit, and $J$ is a Cantor set (compact, totally disconnected, perfect) if it escapes to infinity.

Three renderings are offered. Escape time colours each point by a smoothed count of the iterations needed to leave a large disk; the colour bands are level curves of the Green's function of $K(f)$, and $J$ is where the bands pile up. Distance estimate draws only points within a few pixels of $J$, using the bound $\operatorname{dist}(z,J)\lesssim |z_n|\log|z_n| / |z_n'|$; this is the right way to see a Cantor set, which has empty interior and zero area. Filled paints $K(f)$ black.

Rendering uses single-precision arithmetic in a WebGL fragment shader, so very deep zooms will eventually pixelate. The “Cantor” and “connected” labels come from iterating the critical orbit in double precision for a few thousand steps; for parameters extremely close to the boundary of the Mandelbrot set the label can be wrong in either direction, as the example $c=-0.8+0.156i$ is meant to show.

The example $f(z)=z^2-6$ is Problem 4-e in John Milnor's Dynamics in One Complex Variable; see also Devaney's An Introduction to Chaotic Dynamical Systems for the real-line Cantor construction, and Branner and Hubbard's papers on cubic polynomials for the case where exactly one critical point escapes.