Buddhabrot and Nebulabrot Explorer: Watch the Fractal Fill In

Render the Buddhabrot fractal live in your browser: millions of random Mandelbrot orbits are traced and piled into a glowing seated figure. Try the three-colour Nebulabrot, the Anti-Buddhabrot and cubic versions, pick any point to see its orbit, and read how Melinda Green found it and Lori Gardi named it.

Random points tried0
Escaped (drawn)–
Dots in the picture0

The picture keeps filling in while this page is open: the longer it runs, the smoother it gets. A few minutes gives a clear figure; hours give a print. Scroll to zoom, drag to move (zoomed views fill in more slowly, see below).

What to draw (changing these starts the picture again)

Colours from
Iteration limit
Shortest escape that counts
Iteration
Which orbits
Turn
Picture size

How it looks (instant, nothing is recomputed)

Colours
Brightness:
Contrast curve:
Background level:

Orbit lab: where one point's dots go

Click the little Mandelbrot set. Black points (inside) never escape, so the Buddhabrot ignores them. Every other point escapes after some steps, and the places its orbit visited on the way become dots in the picture.

What is the Buddhabrot?

The Mandelbrot set asks one question about each number c: does the orbit z → z² + c, starting at 0, stay small or run away? A normal picture colours each c by the answer. The Buddhabrot does something stranger. It throws millions of random c at the iteration, keeps only the ones that escape, and then draws where their orbits went: every pixel an escaping orbit lands on gets one more dot. Where many orbits pile up the picture is bright. The result looks like a seated, meditating figure.

iterate \(\displaystyle z_{n+1} = z_n^2 + c,\qquad z_0 = 0\)
escapes when \(\displaystyle |z_n| > 2\ \text{ for some } n \le N\)
draw \(\displaystyle z_1, z_2, \dots, z_{n-1}\ \text{ and their mirror images } \bar z_k\)

How this page makes it

  • Random sampling. Small programs (Web Workers, one per spare processor core) pick random c, run the iteration, and add each escaping orbit to a count for every pixel. The page adds the counts up and shows them about twice a second. Nothing is uploaded.
  • The iteration limit. A point whose orbit has not escaped after the limit is treated as inside and thrown away. A low limit gives a smooth, bright picture; a high limit lets the long, slow orbits through and gives a sparser picture with much finer detail, but it takes far longer to fill in.
  • Nebulabrot. Draw three pictures with three different limits (say 1000, 100 and 10) and use them as the red, green and blue of one image. This false-colour version is also Melinda Green's idea. An orbit that escapes in n steps is counted in every channel whose limit is at least n, so three channels cost no more than the largest one.
  • Anti-Buddhabrot. Keep the orbits that don't escape instead. Those orbits settle into cycles or spiral to a point, and drawing them gives a quite different, softer picture.
  • Other powers. Use z³ + c or z⁴ + c for the same trick on the Multibrot sets.
  • Half the work. The picture is mirror-symmetric about the real axis, so only the upper half-plane is sampled and each orbit is drawn together with its mirror image. The main cardioid and the round bulb on its left are known never to escape and are skipped without iterating.
  • Brightness, contrast, background level. Counts are very uneven, so they are stretched for display. These sliders only change how the counts are shown, not the counts themselves. Raise the background level to darken the faint haze that comes from the many orbits that escape in only a few steps.

Why a zoomed view fills in slowly

An orbit wanders over the whole plane, so there is no way to aim your samples at one corner of the picture the way a normal zoom aims at one patch of the set. When you zoom, the page still has to sample the whole plane, and only a small share of the dots land in your window. Zoomed views are therefore much slower to fill in than the whole picture (a fact the Wikipedia article also notes), and a long run of the whole picture saved at Large is often the better way to get a detailed close-up.

Who found it

The technique was discovered by Melinda Green, who described it in a 1993 post to the sci.fractals newsgroup. Earlier pictures by Linas Vepstas (1988) and Noel Griffin (Fractint's “Mandelcloud”) plotted the orbits of every point without discarding the ones that don't escape, so they are not Buddhabrots. Green first called her find “Ganesh”; the name Buddhabrot was coined by Lori Gardi, a software developer and fractal artist who shares her work on YouTube as FractalWoman. Green also came up with the three-colour Nebulabrot idea.

Read more: Buddhabrot (Wikipedia) · Melinda Green's “The Buddhabrot Technique” · Western News: Lori Gardi and her fractal art · FractalWoman on YouTube.

Things people ask

  • Is this a picture of the Mandelbrot set? No. It is built from the same iteration, but it shows the paths of the points outside the set, not the set's own boundary. The set shows up only as the dark hollows the orbits avoid.
  • Why does it take so long? Each pixel needs thousands of dots before the picture is smooth, and that takes billions of random points. Pictures you see online usually ran for hours.
  • Why is the Buddha upright? The set sits with its real axis horizontal, which would put the figure on its side. Choosing “Upright” turns it a quarter turn so the pointed tip at −2 becomes the topknot.
  • Can I save it? Yes: the camera button saves exactly what you see. Large gives the sharpest file; leave it running a while first.

Everything runs on your device. Mandelbrot Explorer · Black Hole Simulator · 2D graphing calculator · More MES tools

Comments
Advertisement