MATHEMATICS • FRACTALS & DYNAMICAL SYSTEMS
Mandelbrot & Julia Sets
Iterate z²+c across the complex plane, click the fractal to zoom, and switch between the Mandelbrot parameter plane and fixed-c Julia sets.
Complex iteration and fractal boundaries
Each pixel follows an orbit under repeated complex squaring and addition. Escape time reveals intricate boundaries between rapidly diverging and apparently bounded behavior.
LEARN WITH THE SIMULATION
Understand Mandelbrot & Julia Sets by experimenting.
Mandelbrot and Julia images are maps of repeated complex-number iteration, not painted textures. The rule zₙ₊₁ = zₙ² + c is applied again and again, and an escape-time test asks whether the magnitude grows beyond a chosen radius before an iteration limit. In Mandelbrot mode the starting orbit is z₀ = 0 while each pixel supplies c; in Julia mode c is fixed while each pixel supplies z₀. The premium inspector exposes viewport center, zoom, iteration cap, sampled escape fraction and the orbit behavior at the viewport center.
BUILD THE IDEA
What you should understand first
- Distinguish the Mandelbrot parameter plane from a Julia dynamical plane.
- Use the escape criterion |z| > 2 as a sufficient signal that the quadratic orbit will diverge.
- Explain why iteration cap changes rendering confidence near fractal boundaries.
- Interpret zooming as viewing a smaller region of the same mathematical plane rather than increasing a fixed image's resolution.
TRY IT YOURSELF
Why does increasing the iteration cap change mostly boundary detail rather than obvious far-outside regions?
- View the Mandelbrot set at low zoom with a modest iteration cap and record the sampled escape fraction.
- Zoom near a detailed boundary and compare the center orbit with nearby colors.
- Increase the iteration cap while holding viewport fixed.
- Switch to Julia mode and change the fixed complex parameter c to compare how global structure reorganizes.
Points that escape quickly are easy to classify even at low iteration caps. Near the boundary, some orbits remain small for many steps before escaping, so a larger cap can reclassify pixels that previously looked bounded. The boundary is where sensitivity and fine structure concentrate.
WHY IT WORKS 01
Mandelbrot mode varies c; Julia mode varies the starting point
For the Mandelbrot set, each pixel is treated as the parameter c and iteration always starts at z₀ = 0. A pixel is considered inside if that critical orbit remains bounded. For a Julia set, c is fixed for the entire image and each pixel supplies a different initial z₀. This swap of roles explains why one Mandelbrot parameter corresponds to an entire Julia dynamical plane.
WHY IT WORKS 02
The escape radius makes divergence computationally detectable
For zₙ₊₁ = zₙ² + c, once |z| becomes larger than 2 and continues in the escaping regime, the quadratic growth dominates and the orbit diverges. The simulator stops iterating escaped points early and records the escape step. Points that survive until the iteration cap are rendered as bounded candidates for that finite computation.
WHY IT WORKS 03
Boundary pixels are numerically difficult because escape can be delayed
Far outside the set, orbits usually explode in only a few steps. Near the boundary, an orbit may wander for dozens or hundreds of iterations before escaping. Raising the iteration cap therefore adds information mainly near fine boundaries, where finite-time classification and the visual estimate of the set are most sensitive.
DO NOT MIX THESE UP
Common misconception
A dark pixel at a finite iteration cap is not a proof that an arbitrary point belongs to the mathematical set; it only means the orbit did not escape within the tested steps. Zooming does not reveal stored hidden pixels—it recomputes new complex coordinates. Mandelbrot and Julia sets also use the same iteration rule but differ in what varies across the plane.
PRACTICE CHALLENGE
Can you tune a viewport to a target escaped-pixel fraction and then explain why that fraction changes with zoom or iteration depth?
- Choose a target escape fraction.
- Move or zoom the viewport until the sampled escape fraction reaches the target tolerance.
- Increase the iteration cap without changing the viewport and observe whether the fraction shifts.
- Use the center-orbit diagnostic to explain why a boundary-centered viewport behaves differently from a region deep inside or outside the set.
Reveal the reasoning
Escape fraction is a property of the sampled viewport and finite iteration budget, not a universal property of the fractal. Moving or zooming changes which complex points are sampled, while increasing the iteration cap can reveal delayed escape among points previously classified as bounded candidates. Boundary-heavy views are therefore especially sensitive to both choices.
MODEL BOUNDARIES
What this simulation assumes
Every simulation simplifies reality or a mathematical system. These are the assumptions and limits to keep in mind while interpreting the results.
Model assumptions
- Both sets use the quadratic iteration zₙ₊₁ = zₙ² + c with escape radius 2.
- Mandelbrot mode starts z at zero and varies c by pixel; Julia mode varies z by pixel with fixed c.
- Finite escape-time coloring approximates bounded behavior using the selected maximum iteration count.
Model limitations
- Finite iteration cannot prove mathematical boundedness for every non-escaping pixel.
- Rendering resolution and iteration limits trade visual detail for browser responsiveness.
CONNECT IT
Where this matters
- Complex dynamics
- Fractal geometry
- Escape-time numerical visualization
- Studying sensitivity near nonlinear boundaries
WORDS THAT MATTER
Key vocabulary
- Orbit
- Sequence z₀,z₁,z₂,… generated by repeatedly applying the iteration rule.
- Escape time
- Number of iterations taken for an orbit to exceed the chosen escape radius.
- Iteration cap
- Maximum number of steps computed before an unescaped point is treated as bounded for rendering.
- Mandelbrot set
- Set of parameters c for which the orbit starting at z₀=0 remains bounded.
- Julia set
- Boundary structure in the z₀ plane for one fixed complex parameter c.
NEXT STEP