|
|
Line 1: |
Line 1: |
| [[File:Buddhabrot 20000.png|thumb|A ''Buddhabrot'' iterated to 20,000 times.]]
| | Claude is her name and she totally digs that title. Interviewing is what she does but soon she'll be on her own. Camping is some thing that I've done for many years. Delaware is our beginning place.<br><br>my site: extended car warranty ([http://Www.sualcavab.com/23710/tips-for-all-those-seeking-auto-repairs pop over to this web-site]) |
| The '''''Buddhabrot''''' is a rendering technique related to the [[Mandelbrot set]]. A colored point in typical Mandelbrot images indicate the number of iterations of the Mandelbrot function that were needed to discover that it is ''not'' in the set. In a corresponding Buddhabrot image, the brightness of a pixel is proportional to the frequency with which all escaping trajectories hit that pixel. Its name reflects its [[pareidolia|pareidolic]] resemblance to classical depictions of [[Gautama Buddha]], seated in a meditation pose with a forehead mark (''[[Tikka (forehead mark)|tikka]]'') and traditional topknot (''[[ushnisha]]'').
| |
| | |
| ==Discovery==
| |
| | |
| The ''Buddhabrot'' rendering technique was discovered and later described in a 1993 [[Usenet]] post to sci.fractals<ref name=sci/> by Melinda Green.<ref>Melinda Green [http://www.superliminal.com/fractals/bbrot/bbrot.htm The Buddhabrot Technique]</ref>
| |
| | |
| Previous researchers had come very close to finding the precise Buddhabrot technique. In 1988 Linas Vepstas relayed similar images 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."<ref name=sci>Daniel Green [http://groups.google.com/groups?hl=en&lr=&selm=18778%40autodesk.COM The deity hiding in the m-set]</ref> The name ''Buddhabrot'' was coined later by Lori Gardi.<ref name=wn>The University of Western Ontario’s newspaper [http://communications.uwo.ca/western_news/PDF/WNews_Dec04_08.pdf Chaos (theory) rules for software developer(PDF12MB)], p. 10</ref>
| |
| | |
| ==Rendering method==
| |
| Mathematically, the Mandelbrot set consists of the [[Set (mathematics)|set]] of points <math>c</math> in the [[complex plane]] for which the [[iteration|iteratively]] defined [[sequence]]
| |
| | |
| :<math>z_{n+1} = {z_n}^2 + c</math>
| |
| | |
| does ''not'' tend to [[infinity]] as <math>n</math> goes to infinity for <math>z_0 = 0</math>. | |
| | |
| The ''Buddhabrot'' image can be constructed by first creating a 2-[[dimension]]al [[Array data structure|array]] of boxes, each corresponding to a final pixel in the image. Each box <math>(i,j)</math> for <math>i =1,\ldots,m</math> and <math>j = 1,\ldots,n</math> has size in complex coordinates of <math>\Delta x</math> and <math>\Delta y</math>, where <math>\Delta x = w/m</math> and <math>\Delta y = h/n</math> for an image of width <math>w</math> and height <math>h</math>. A counter corresponding to each box is initialized to zero. Next, a random sampling of <math>c</math> points are iterated through the Mandelbrot function. For points which '''do''' escape within a chosen maximum number of iterations, and therefore are '''not''' in the Mandelbrot set, the counter for each box entered during the escape to infinity is incremented by 1. In other words, for each sequence corresponding to <math>c</math> that escapes, for each point <math>z_n</math> during the escape, the box that <math>(\text{Re}(z_n), \text{Im}(z_n))</math> lies within is incremented by 1. Points which do not escape within the maximum number of iterations (and therefore would be in the Mandelbrot set) are discarded. After a large number of <math>c</math> values have been iterated, [[Gray scale|grayscale]] shades are then chosen based on the values recorded in the array. The result is a density plot highlighting regions where <math>z_n</math> values spend the most time on their way to infinity.
| |
| [[File:nebulabrot.jpg|thumb|''Nebulabrot'']]
| |
| [[File:anti-buddabrot.jpg|thumb|''Anti-Buddhabrot'']]
| |
| | |
| ==Nuances==
| |
| Rendering ''Buddhabrot'' images is typically more computationally intensive than standard Mandelbrot rendering techniques. This is partly due to requiring more random points to be iterated than pixels in the image in order to build up a sharp image. Rendering highly zoomed areas requires even more computation than for standard Mandlebrot images in which a given pixel can be computed directly regardless of zoom level. Conversely, a pixel in a zoomed region of a Buddhabrot image can be affected by initial points from regions far outside the one being rendered. Without resorting to more complex [http://www.steckles.com/buddha/ probabilistic techniques], rendering zoomed portions of ''Buddhabrot'' consists of merely cropping a large full sized rendering.
| |
| | |
| The number of iterations chosen affects 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.
| |
| | |
| Green later realized that this provided a natural way to create color Buddhabrot images by taking three such [[grayscale]] images, differing only by the maximum number of iterations used, and combining them into a single color image using the same method used by astronomers to create [[false color]] images of nebula and other celestial objects. For example one could assign a 2,000 max iteration image to the red channel, a 200 max iteration image to the green channel, and a 20 max iteration image to the blue channel of an image in an [[RGB color space]]. Some have labelled Buddhabrot images using this technique ''Nebulabrots''.
| |
| | |
| There are a great many additional variations of the above rendering techniques that are interesting and beautiful but too numerous to list here.
| |
| | |
| <!-- NOTE: Some of the image shown below are transparent PNGs that only have white content, and therefore will not show up in the normal thumbnail generator. Here, a black background is forced. -->
| |
| {{multiple image|align=none
| |
| | image1 = Buddhabrot-20I-2000.png
| |
| | width1 = 377
| |
| | caption1 = Maximum iterations: 20
| |
| | image2 = Buddhabrot-100I-2000.png
| |
| | width2 = 377
| |
| | caption2 = Maximum iterations: 100
| |
| }}
| |
| {{multiple image|align=none
| |
| | image1 =Buddhabrot-1000I-8000.jpg
| |
| | width1 = 250
| |
| | caption1 = Maximum iterations: 1,000
| |
| | image2 = Buddhabrot-20000I-8000.jpg
| |
| | width2 = 250
| |
| | caption2 = Maximum iterations: 20,000
| |
| | image3 = Buddhabrot-1000000I-G2-2000.png
| |
| | width3 = 250
| |
| | caption3 = Maximum iterations: 1,000,000
| |
| }}
| |
| | |
| ==Relation to the logistic map==
| |
| [[File:Buddhabrot logistic map.jpg|right|thumb|The Buddhabrot and its logistic map.]]
| |
| [[File:Buddhabrot logistic map animation tn.gif|right|thumb|link=Image:Buddhabrot_logistic_map_animation.gif|
| |
| Animation depicting the Buddhabrot and its logistic map.]]
| |
| | |
| The relationship between the [[Mandelbrot set]] as defined by the iteration <math>z^2+c</math>, and the [[logistic map]] <math>\lambda x(1-x)</math> is well known. The two are related by the quadratic transformation:
| |
| | |
| <math>\begin{align}
| |
| c_r&=\frac{\lambda(2-\lambda)}{4}\\
| |
| c_i&=0\\
| |
| z_r&=-\frac{\lambda(2x-1)}{2}\\
| |
| z_i&=0
| |
| \end{align}</math>
| |
| | |
| The traditional way of illustrating this relationship is aligning the logistic map and the Mandelbrot set through the relation between <math>c_r</math> and <math>\lambda</math>, using a common x-axis and a different y-axis, showing a one dimensional relationship.
| |
| | |
| Melinda Green discovered 'by accident' that the Anti-Buddhabrot paradigm fully integrates the logistic map. Both are based on tracing paths from non-escaping points, iterated from a (random) starting point, and the iteration functions are related by the transformation given above. It is then easy to see that the Anti-Buddhabrot for <math>z^2+c</math>, plotting paths with <math>c=(\text{random},0)</math> and <math>z_0=(0,0)</math>, simply generates the logistic map in the plane <math>\{c_r,z_r\}</math>, when using the given transformation. For rendering purposes we use <math>z_0=(\text{random},0)</math>. Remember that in the logistic map all <math>z_{r0}</math> ultimately generate the same path.
| |
| | |
| Because both the Mandelbrot set and the logistic map are an integral part of the
| |
| Anti-Buddhabrot we can now show a 3D relationship between both, using the 3D axes
| |
| <math>\{c_r,c_i,z_r\}</math>.
| |
| The animation shows the classic Anti-Buddhabrot with
| |
| <math>c=(\text{random},\text{random})</math> and <math>z_0=(0,0)</math>, this is the 2D Mandelbrot set in the plane
| |
| <math>\{c_r,c_i\}</math>,
| |
| and also the Anti-Buddhabrot with <math>c=(\text{random},0)</math> and <math>z_0=(0,0)</math>, this is the
| |
| 2D logistic map in the plane <math>\{c_r,z_r\}</math>.
| |
| We rotate the plane <math>\{c_i,z_r\}</math> around the <math>c_r</math>-axis, first showing
| |
| <math>\{c_r,c_i\}</math>, then rotating 90° to show <math>\{c_r,z_r\}</math>,
| |
| then rotating an extra 90° to show <math>\{c_r,-c_i\}</math>. We could rotate an
| |
| extra 180° but this gives the same images, mirrored around the <math>c_r</math>-axis.
| |
| | |
| The logistic map Anti-Buddhabrot is in fact a subset of the classic Anti-Buddhabrot,
| |
| situated in the plane <math>\{c_r,z_r\}</math> (or <math>c_i=0</math>) of 3D
| |
| <math>\{c_r,c_i,z_r\}</math>, perpendicular to the plane <math>\{c_r,c_i\}</math>.
| |
| We emphasize this by showing briefly, at 90° rotation, only the projected plane <math>c_i=0</math>, not
| |
| 'disturbed' by the projections of the planes with non-zero <math>c_i</math>.{{-}}
| |
| | |
| ==References==
| |
| {{Reflist}}
| |
| | |
| ==External links==
| |
| {{Commons|Buddhabrot}}
| |
| {{External links|date=August 2010}}
| |
| * [http://www.superliminal.com/fractals/bbrot/bbrot.htm ''Buddhabrot'' discoverer Melinda Green's page]
| |
| * [http://www.linas.org/art-gallery/mandel/mandel.html ''Buddhabrot'' discoverer Linas Vepstas page]
| |
| * [http://www.complexification.net/gallery/machines/buddhabrot/ ''Buddhabrot'' page from the ''Gallery of Computation'']
| |
| * [http://www.mrob.com/pub/muency/buddhabrot.html ''Buddhabrot'' page in the ''Mu-Ency'' Mandelbrot Set Encyclopedia]
| |
| * [http://www.moleculardensity.net/buddhabrot/article/1 ''Buddhabrot'' page from ''Moleculardensity'']
| |
| | |
| [[Category:Fractals]]
| |