FractalPark
ClassicEasy

Mandelbrot Set

A map of the quadratic family z² + c: choose a point, start at zero, and watch its orbit decide the outcome.

Open in Explorer
Black Mandelbrot set on warm gold, with a thin blue-white rim at its boundary
The full set: a main cardioid, attached bulbs, and an escape-time-colored branching edge.

Overview

The Mandelbrot set is a map for an entire family, not one curve from one equation. Pick a point c in the complex plane. Begin at z = 0, square what you have, add c, and repeat. The orbit is that running list of values. Some stay in a finite patch; others race away toward infinity. The c values in the first group make the set.

It also works as an index for quadratic Julia sets. Fix one c and you have one Julia set; it is connected exactly when c lies in the Mandelbrot set. Move a few pixels across the parameter plane and the behavior can change from a settled repeating cycle to an escape.

In the familiar picture, the set is usually black. The surrounding color is not an extra part of it. It records how soon an escaping orbit crosses the chosen threshold, like contour lines drawn by the calculation.

The Mathematics

Give one parameter its turn

z(n+1) = z(n)^2 + c, with z(0) = 0

Choose a complex number c, then keep it fixed. The orbit starts at z₀ = 0; each new value is the old one squared, with c added back in.

Try two anchors. If c = 0, the orbit stays at zero forever, so 0 belongs to the Mandelbrot set. If c = 1, it runs 0, 1, 2, 5, 26, … and escapes, so 1 is out. In this quadratic map, once the magnitude of z exceeds 2, there is no return: the orbit diverges. A renderer treats that as its escape signal and stops at a chosen iteration limit.

History

The story starts before anyone could print a detailed parameter plane. Around 1917–1918, Pierre Fatou and Gaston Julia laid foundations for iterating complex functions. Fatou was a French mathematician and astronomer at the Paris Observatory; Julia’s 1918 memoir on iterated rational functions became an early landmark.

There is no uncontested “discovery moment.” At the 1978 Stony Brook conference, Robert W. Brooks and J. Peter Matelski were studying Kleinian groups when they published an early image now recognized as this same parameter locus. Their question was different, and the rough image did not yet carry the interpretation that later made the set famous.

Benoit B. Mandelbrot, at IBM’s Thomas J. Watson Research Center, used computer graphics to examine related quadratic parameter spaces and published his study in 1980. He placed the images in the wider frame of fractal geometry, making the object hard to ignore on its own terms. Mandelbrot was born in Warsaw, educated in France, spent 35 years at IBM, and later taught at Yale.

In the early 1980s, Adrien Douady and John H. Hubbard built the modern mathematical theory of the set, including the proof of its connectedness. Their work helped establish the name “Mandelbrot set.” Douady, a leading French mathematician in complex dynamics, died in 2006; Hubbard’s Cornell faculty page remains available and describes his work on iterative systems and computer-assisted mathematical exploration.

Visual Characteristics

From a distance, first comes the heart-shaped main cardioid, then its round bulbs. The largest bulb marks a stable two-step cycle; smaller ones collect other repeating cycles. Follow the edge and the smooth arc frays into antennae, spirals, threads, and tiny copies of the whole set.

The boundary never finishes. Zooming brings out more structure, though not exact photocopies: local dynamics stretch and bend every return. The broad black interiors are relatively calm. At the fine edge, the slightest nudge to c can send an orbit elsewhere.

Remix and Examples

Start from the canonical Document

Open the same approved formula state used by this guide, then change the view, coloring, transforms, or animation in the interactive Explorer.

Frequently Asked Questions

What gets a point into the Mandelbrot set?

c belongs when the orbit from zero remains bounded under iteration. On a computer, |z| exceeding 2 settles it: the orbit escapes. Points that have not escaped by the iteration limit are drawn as members, although a point tight against the boundary may need many more steps for a dependable verdict.

Where do Julia sets enter?

For a Julia set, c stays fixed while the starting point z₀ ranges across the image. For the Mandelbrot set, zero stays fixed and c moves instead. In the quadratic family, the link is exact: the Julia set for z² + c is connected if and only if c belongs to the Mandelbrot set.

References

Source walkthrough

  1. frm-v1:e4d2259a5dd3fe7b3af646514a4313e83efcc80e887e04c07b7469bb27a66b90:init/0

    In mandelbrot, this node executes if ismand: z = 0; otherwise z = pixel.

  2. frm-v1:e4d2259a5dd3fe7b3af646514a4313e83efcc80e887e04c07b7469bb27a66b90:loop/0

    In mandelbrot, this node executes if power == 2: z = z * z + c; otherwise z = z ^ power + c.

  3. frm-v1:e4d2259a5dd3fe7b3af646514a4313e83efcc80e887e04c07b7469bb27a66b90:bailout

    In mandelbrot, this node executes |z| <= 256.

Syntax features

state-flow

These annotations trace the formula-specific state flow: if ismand: z = 0; otherwise z = pixel; if power == 2: z = z * z + c; otherwise z = z ^ power + c.

stopping-test

This annotation is the stopping test, |z| <= 256, rather than a state update.

Parameter experiment

power

Steps

  1. Run mandelbrot with the pinned profile and record the result.
  2. Change only power, keep every other runtime slot and profile control fixed, run again, and record whether a difference occurs.

What to observe

Record whether if power == 2, z = z * z + c; otherwise z = z ^ power + c produces a visible-result or |z| <= 256 stopping-behavior difference from the baseline; the pinned definition does not guarantee a difference.

Exercise

Trace mandelbrot through its annotations, explaining the source operation if power == 2, z = z * z + c; otherwise z = z ^ power + c and the stopping test |z| <= 256.

Completion check

Your trace explains all 3 annotations for mandelbrot, including if power == 2, z = z * z + c; otherwise z = z ^ power + c, and distinguishes |z| <= 256 from a state update.

Sources and rights

This teaching unit is grounded in runtime:e4d2259a5dd3fe7b3af646514a4313e83efcc80e887e04c07b7469bb27a66b90 and decision:00e14aa8-b766-54ea-a359-3f5d20d329b7.

rightsStatus is project-owned; implementationBasis is project-owned; publicationDecision is publish; decisionReason is publish-project-owned-native-recipe. This statement does not make broader claims about any third-party original.

Formula Record

mandelbrot

This canonical FractalPark implementation is published and runnable.

Deterministic preview of mandelbrot

Canonical source

Language
frm-like/1
Standard library
1
Profile mode
parameter-plane
Profile center
-0.5, 0
Profile zoom
0.4
Profile iterations
96
Profile evidence
mechanical

Parameters

  • power: real

Canonical source

This verified canonical revision is read-only. Remix creates a separate editable fork.

Loading canonical source…

Source and implementation

Formula ID
00e14aa8-b766-54ea-a359-3f5d20d329b7
Canonical name
mandelbrot
Original name
mandelbrot
Historical source
FractalPark
Current implementation
Project-owned

This is a FractalPark project-owned implementation. The linked file is the pinned canonical Definition.

Rights or attribution concern?

Send the Formula ID and supporting evidence. The maintainer can hold or withdraw the implementation while the claim is reviewed. contact@fractalpark.com