Fractals, the Mandelbrot Set & Julia Sets
A two-part tour of fractals, the Mandelbrot set, and Julia sets: first, an intuitive story for curious explorers; then, a more precise look at how mathematicians and scientists study iteration in the complex planeAll numbers a+bi plotted with real part a on the horizontal axis and imaginary part b on the vertical axis; also called the Argand plane..
TL;DR
A fractal is a shape or set that keeps revealing structure the closer you look. The Mandelbrot set and Julia sets both come from iterating the same simple rule, \(\;z \mapsto z^{2}+c\;\), but they ask different questions. The Mandelbrot set is a map of parameters: it tells you which values of \(c\) keep the orbit of \(z=0\) bounded. A Julia set fixes one value of \(c\) and asks which starting points \(z\) remain bounded. In short: the Mandelbrot set is the atlas; each Julia set is one landscape inside that atlas.
Quick Glossary
Fractal
A set or shape with repeating structure at many scales; zooming in keeps revealing new detail instead of smoothing out.
Mandelbrot set \(\mathcal{M}\)
The set of all complex numbers \(c\) for which the orbit of \(z_{0}=0\) under \(z\mapsto z^{2}+c\) remains bounded.
Julia set \(J_c\)
For a fixed value of \(c\), the fractal boundary in the \(z\)-plane separating starting points that escape from those that do not.
Filled Julia set \(K_c\)
The set of all starting points \(z_0\) whose orbits under \(z\mapsto z^2+c\) remain bounded. Its boundary is \(J_c\).
Complex plane
The 2D plane where each point represents a complex number \(z=a+bi\), with \(a\) on the x-axis and \(b\) on the y-axis.
Orbit
The sequence \(z_{0},z_{1},z_{2},\dots\) produced by repeatedly applying a rule like \(z\mapsto z^{2}+c\).
Escape-time algorithm
A numerical method that iterates \(z\mapsto z^{2}+c\) until \(z\) escapes a radius, usually 2, or hits a max iteration count.
Connectedness locus
The set of parameters \(c\) for which the associated Julia set is connected. For quadratic maps, this locus is the Mandelbrot set.
Complex Numbers (Simple & Visual) - Why These Fractals Need Two Dimensions
A complex number has two parts: a real part, which moves horizontally, and an imaginary part, which moves vertically. Written as \(z=a+bi\), it is naturally a point on a 2D map: one value for left/right (\(a\)), one for up/down (\(b\)).
Addition moves; multiplication rotates & scales
Adding complex numbers corresponds to translation in the plane. Multiplying them combines rotation and scaling, and that geometric twist is part of why repeated squaring creates spirals, filaments, dendrites, and nested islands.
Magnitude and escape
The distance of \(z=a+bi\) from the origin is \(\;|z|=\sqrt{a^{2}+b^{2}}\;\). In Mandelbrot and Julia rendering, if \(|z_n| > 2\) at any step, the orbit must diverge.
The Key Relationship: One Rule, Two Viewpoints
Mandelbrot viewpoint
Each pixel is a different parameter \(c\). The starting value is always \(z_0=0\). The image answers: Which choices of \(c\) keep the critical orbit bounded?
Julia viewpoint
The parameter \(c\) is fixed. Each pixel is a different starting value \(z_0\). The image answers: For this one \(c\), which starting points \(z_0\) stay bounded?
This is why Julia sets change personality as you move around the Mandelbrot set. Parameters \(c\) inside \(\mathcal{M}\) produce connected filled Julia sets. Parameters outside \(\mathcal{M}\) produce disconnected Julia sets, often appearing as Cantor-dust-like collections of fragments.
Visual Snapshot
Section 1: For Non-Mathematicians
What Is a Fractal?
Informally, a fractal is a shape that becomes more interesting the closer you look. Unlike simple figures such as circles, squares, or triangles, a fractal reveals new details at every level of zoom. You can zoom in again and again, and the pattern keeps unfolding.
Many natural forms behave this way: coastlines, river networks, tree branches, lightning, clouds, and mountain ranges all show repeating, nested structure across scales. They are not perfect mathematical fractals, but they capture the same idea: rich complexity emerging from relatively simple rules.
The Mandelbrot Set in Plain Language
The Mandelbrot set is one of the most famous fractals ever discovered. Visually, it looks like a black heart-shaped figure, called a cardioid, with a chain of circular bulbs and an intricate halo of spirals, tendrils, and branching filaments.
Surprisingly, all of this comes from a tiny rule:
Pick a number \(c\) in the complex plane. Begin at \(z = 0\). Then repeat: \(\;z \leftarrow z^{2}+c\;\).
If the values of \(z\) stay under control and never blow up to infinity, then that value of \(c\) is part of the Mandelbrot set. If the values run away and become arbitrarily large, then \(c\) is not in the set.
Julia Sets in Plain Language
A Julia set uses the same rule, but it freezes \(c\) first. Instead of asking whether one special starting point \(z=0\) behaves well, it asks what happens to every possible starting point \(z\) when the same fixed \(c\) is used again and again.
Choose one constant \(c\). For each starting point \(z_0\), repeat: \(\;z_{n+1}=z_n^2+c\;\).
Some starting points stay bounded. Others escape. The boundary between those two behaviors is the Julia set. Depending on \(c\), that boundary can look like lace, lightning, islands, dust, branching coral, or mirrored botanical forms.
How Mandelbrot and Julia Sets Fit Together
Think of the Mandelbrot set as a control panel for Julia sets. Every point \(c\) on the Mandelbrot image has a Julia set associated with it. When \(c\) is inside the Mandelbrot set, the corresponding Julia set is connected: it forms one continuous object. When \(c\) is outside the Mandelbrot set, the corresponding Julia set breaks apart into disconnected dust.
This connection is one reason the Mandelbrot set is so powerful: it is not just one beautiful image, but a map of how an infinite family of Julia sets changes as \(c\) moves.
Why the Boundary Is So Fascinating
The real magic happens along fractal boundaries. If you zoom in close to the edge of the Mandelbrot set or many Julia sets, you see:
- Spirals that keep unwinding into more spirals.
- Filaments and lightning-like structures branching again and again.
- Tiny baby Mandelbrots, each surrounded by its own world of decoration.
- Julia forms that shift from connected lace to disconnected dust as \(c\) crosses the Mandelbrot boundary.
No matter how far you zoom, the boundary never smooths out. It always reveals new structure. That is the hallmark of a fractal.
Why It Matters (Intuitively)
- Nature: Fractals give us language and tools to describe rough, branching, and irregular patterns that show up in coastlines, trees, snowflakes, and more.
- Computers: Mandelbrot and Julia images helped define computer graphics and mathematical visualization by showing how simple formulas could generate vast visual complexity.
- Art: Julia sets add a huge range of shape languages to fractal exploration: lace-like, dendritic, floral, mirrored, explosive, or dust-like, depending on \(c\).
- Infinity made visible: These sets provide concrete, visual ways to think about infinity: finite images whose boundaries contain inexhaustible detail.
Even without formal math, the Mandelbrot set and Julia sets demonstrate a powerful idea: simple rules can generate extraordinary complexity.
Section 2: For Mathematicians & Scientists
What Is a Fractal? (More Precisely)
There is no single universally accepted formal definition of a fractal, but a commonly cited characterization is:
A fractal is a set whose geometric complexity is not adequately described by its topological dimension, often possessing a non-integer or strictly larger Hausdorff dimension and exhibiting fine structure at all scales.
In practice, fractals frequently display several of the following features:
- Self-similarity: exact, quasi-self-similar, or statistical repetition of structure across scales.
- Fine structure: non-trivial details at arbitrarily small magnifications; zooming in never reveals a smooth, featureless region.
- Iterative origin: generation by repeated application of simple rules or maps, including iterated functions, L-systems, and IFS constructions.
- Scale invariance: approximate or exact invariance under dilations.
This perspective places fractals at the intersection of geometric measure theory, dynamical systems, and chaos theory, rather than treating them as mere repeating patterns.
Formal Definition of the Mandelbrot Set
Consider the quadratic family of maps \(f_{c}(z)=z^{2}+c\), where \(c\) lies in the complex plane \(\mathbb{C}\).
The orbit of the critical point 0 is defined by
\[ z_{0}=0,\qquad z_{n+1}=f_{c}(z_{n})=z_{n}^{2}+c. \]
The Mandelbrot set \(\mathcal{M}\) is:
\[ \mathcal{M}=\{\,c\in\mathbb{C}:\{z_{n}\}\text{ is bounded}\,\}. \]
Equivalently, \(c\) belongs to \(\mathcal{M}\) if and only if the orbit of the critical point remains bounded in modulus for all \(n\). By the standard escape-radius lemma, if \(|z_{n}| > 2\) for some \(n\), the orbit escapes to infinity. This gives rise to the usual escape-time algorithms used in rendering.
Formal Definition of Julia and Filled Julia Sets
For the same polynomial \(f_c(z)=z^2+c\), fix \(c\) and vary the initial point \(z_0\). The filled Julia set is
\[ K_c=\{\,z\in\mathbb{C}:\{f_c^{\,n}(z)\}_{n\ge 0}\text{ is bounded}\,\}. \]
The Julia set is the boundary of the filled Julia set:
\[ J_c=\partial K_c. \]
Equivalently, \(J_c\) is the locus where the dynamics are chaotic in the sense that arbitrarily close initial conditions can have qualitatively different long-term behavior. For polynomials, \(J_c\) is also the boundary of the basin of attraction of infinity.
Connectedness: The Bridge Between Them
A central theorem for the quadratic family states:
\[ c\in\mathcal{M}\quad\Longleftrightarrow\quad K_c\text{ is connected} \quad\Longleftrightarrow\quad J_c\text{ is connected}. \]
Thus the Mandelbrot set is the connectedness locus for quadratic Julia sets. This relationship gives \(\mathcal{M}\) its organizing role: it encodes, in parameter space, the topological transition between connected and disconnected Julia dynamics.
Key Properties and Conjectures
Note on local connectivity: for a deeper discussion of why the conjecture matters and what it would imply, see The Mandelbrot Locally Connected Conjecture.
- Mandelbrot connectedness: \(\mathcal{M}\) is connected, a theorem of Douady and Hubbard.
- Boundary dimension: \(\partial\mathcal{M}\) has Hausdorff dimension 2, by Shishikura.
- Local connectivity: The Mandelbrot Local Connectivity (MLC) conjecture states that \(\partial\mathcal{M}\) is locally connected; this remains unproven.
- Julia connectedness: \(J_c\) is connected precisely when \(c\in\mathcal{M}\); otherwise it is disconnected, and for escaping parameters it is a Cantor set.
- Fatou and Julia decomposition: the Fatou set consists of stable regions of normal dynamics, while the Julia set is the chaotic boundary of instability.
- Quasi-self-similarity: \(\partial\mathcal{M}\) contains infinitely many baby Mandelbrot copies, while many Julia sets show self-similar or quasi-self-similar structure under iteration.
Scientific and Computational Significance
- Dynamical systems: Mandelbrot and Julia sets organize the bifurcation structure of quadratic complex polynomials and serve as canonical examples in complex dynamics.
- Parameter-space versus phase-space analysis: \(\mathcal{M}\) studies how behavior changes as \(c\) varies, while \(J_c\) studies the phase-space dynamics for one fixed system.
- Physics and applied science: Fractal structures related to iterated maps appear in models of turbulence, percolation, dielectric breakdown, diffusion-limited aggregation, and nonlinear oscillators.
- Computation: modern renderers employ escape-time methods, smooth coloring, distance estimation, potential functions, perturbation and series techniques, GPU acceleration, and high-precision arithmetic to achieve extreme zoom levels with practical performance.
From this more technical viewpoint, the Mandelbrot set and Julia sets form a paired laboratory for nonlinear dynamics: the Mandelbrot set classifies parameters, while each Julia set reveals the dynamical behavior of one selected parameter.
