Julia sets

Julia sets are a family of fractals that you draw by iterating a complex function and coloring the invariant sets. They are named Julia sets to honor the famous mathematician Gaston Julia. The complement of a Julia set is known as Fatou set, after the mathematician Pierre Fatou.

Loosely speaking, the Julia set of a complex rational function comprises the points with chaotic behavior. For these points, small changes in the input produce huge changes in the output of the function. Fatou sets, on the other hand, remain stable.

Some of the most popular Julia sets arise from the following family of quadratic polynomials:

\[f_x (z) = z^2 + c\]

Where \(c\) is a complex constant.

If you don’t actually care about these mathy thingies and just want to play with the animations, hover your mouse over the Mandelbrot set (first image). The Julia set changes depending on the point you are hovering over.

Iterating a quadratic function

How did we actually compute the Julia set? Well, the interesting bits happen when the distance from the origin is less than 2. Let’s start by picking a value for the constant, take a point in the complex plain. Say, \(c = 0\). Then we have:

\[f_0 = z^2 + 0 = x^2\]

Now think about the points on the complex plain that are bounded when you apply the same map several times. For instance, let’s take the complex point \((-1, 0)\).

\[\begin{split}f_0(-1) = (-1)^2 = 1 \\ f_0(1) = (1)^2 = 1 \\ f_0(1) = (1)^2 = 1 \\ \vdots\end{split}\]

Geometrically, for any point whose distance to the origin is less than 1, the result of squaring it remains withing the circle with radius 1.


Try hovering your cursor right in the center of the rectangle, the corresponding fractal in the second image is a circle.

Of course the point we chose is a bit dull, but helps to understand how this works. For any point, the resulting set of bounded values is what creates the fractal.

The Mandelbrot set

But, why are we using a fractal in the first image to guide us through the Julia sets?

To answer this let’s classify the entire complex plain in two sets:

  • Let’s paint in black those points whose corresponding Julia set is connected.

  • Now let’s pain in another color those points whose corresponding Julia set is disconnected. That is, the Julia set is made of several parts (components) spread around.

Doing this results in the famous Mandelbrot set, which is shown in the first image.


The image was actually generated with a different algorithm. The ouput looks prettier :)

Relevant Julia sets

There’s a handful of Julia sets with special names:

  • The Douady Rabbit, named after the French mathematician Adrien Douady. To see this fractal pick values close to (-0.12, -0.75).

  • The Dendrite, because of its resemblance to the ramified neural terminals. To see it hover close to (0, 1).

  • The San Marcos fractal, because it looks like the San Marcos Basilica in Venice. To see this one move your cursor to (-0.75, 0).

  • The Siegel Discs, named after the German mathematician Carl Ludwig Siegel. To see this fractal hover your mouse around the point (-0.39, -0.58).

Additional references

Find further information in the following links: