Jump to content

Buddhabrot

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by TheLedBalloon (talk | contribs) at 22:05, 14 February 2008 (Undid revision 191492214 by 84.194.239.82 (talk)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Deeply iterated Buddhabrot

The Buddhabrot is a special rendering of the Mandelbrot set which, when traditionally oriented, resembles to some extent certain depictions of the Buddha. When viewed upside-down, it vaguely resembles a human face with large, triangular glasses or goggles over its eyes.

Discovery

The Buddhabrot rendering technique was discovered and later described in a 1993 Usenet post [1] to sci.fractals by Melinda Green.

Previous researchers had come very close to finding the precise Buddhabrot technique. In 1988 Linas Vepstas relayed images of the Buddhabrot to Cliff Pickover for inclusion in Pickover's forthcoming book Computers, Pattern, Chaos, and Beauty. This led directly to the discovery of Pickover stalks. These researchers did not filter out non-escaping trajectories required to produce the ghostly forms typically reminiscent of Hindu art. Green first named it Ganesh, since an Indian co-worker "instantly recognized it as the god 'Ganesha' which is the one with the head of an elephant." The name Buddhabrot was coined later by Lori Gardi.

Buddhabrot showing only slow escapes
Buddhabrot in RGB

Rendering method

Mathematically, the Mandelbrot set consists of the set of points c in the complex number plane for which the iteratively defined sequence

with z0 = 0 does not tend to infinity.

However, the Buddhabrot is rendered by creating a 2-dimensional array of counters, one for each pixel. Then, a random (or, alternately, an evenly spaced) sampling of points c is iterated through the Mandelbrot function, and, for points which do escape within a chosen number of iterations, and are thus not in the Mandelbrot set, the counters for each pixel that the z value landed on are incremented (once per hit). After a large number of values c have been iterated, image colors (or color saturation/brightness) are then chosen based on the values recorded in the array.

Nebulabrot

Nuances

Because rendering Buddhabrot involves potentially iterating twice over each sample (once to test if it escapes, and again to plot its path if it does), it is more computatianally intensive than standard Mandlebrot rendering techniques. To add to this, rendering highly zoomed areas requires even more computation, as the path of an escaping point may enter the portion being rendered from outside. Without resorting to more complex probabilistic techniques, rendering zoomed portions of Buddhabrot consists of merely cropping a large full sized render.

The number of iterations chosen has a large effect on the image — higher values give sparser more detailed appearance, as a few of the points pass through a large number of pixels before they escape, resulting in their paths being more prominent. If a lower number of iterations was used, these points would not escape in time and would be regarded as not escaping at all.

It is also possible to create a composite from three images with different numbers of iterations and different colours; for example, combining a red image with 2,000 iterations, a green image with 200, and a blue image with 20, a technique similar to how astronomers produce false-color images. Some have labelled this the Nebulabrot as it results in a very Nebula-like image.

Another technique which it is natural to consider is to plot the paths for points c which are in the Mandelbrot set; a sort of Anti-Buddhabrot.

Anti-Buddhabrot