Youtube did a HORRIBLE job compressing my lossless original that I uploaded, so I urge you to download and watch this cleaner .mp4 rather than the youtube version:
http://www.aluminumstudios.com/media/wmilberry-under_the_bodhi_tree.mp4
http://www.youtube.com/v/y3fwWcV7t0I&rel=1&fs=1&hd=1Short description: This is (I like to believe) an artistic and technical exploration of the Buddhabrot fractal. Siddhartha Gautama was said to have achieved enlightenment and became the Buddha while meditating under a bodhi tree. I seek enlightenment though art and science and my fractal work so I entitled this video "Under the Bodhi Tree."
Long description:About one year ago I decided to refresh my rusty C++ programming skills by writing a little program to draw Mandelbrot fractals - something that has always interested me. In doing a little reading into it I discovered the so called "buddhabrot" method of rendering the Mandelbrot set.
I was captivated by the buddhabrot from the moment I rendered my first image. I wanted to see more, so I tried to render a higher resolution version and that's when I hit the wall that I feel has prevented this fractal from being fully explored and appreciated. Because any tiny area that you want to see is potentially drawn from points originating anywhere else in the plane, enlarging and zooming becomes a computational nightmare fast! The number of calculations needed to find points whose orbits pass through the smaller and smaller area of interest as you zoom in rises exponentially.
I did some searching and kept finding the same methods described for rendering this style of fractal over and over. Some of them used statistical analysis and some of them talked about random sampling and one of them dove into Mandelbrot period analysis and some math that is quite honestly a little over my head at this point. I saw negative points in all of these methods and wanted to try and develop my own algorithms and methods to allow me to explore and render beautiful images of this fascinating fractal at reasonable computational speeds. A goal of mine was to avoid some of the statistical biases and detail loss present in some of the rendering methods that I saw described.
This animation project was done over a period of 3 months in a number of separate sections while I continued to work on my software. Because I made several speed improvements while working on this, wasn't happy with and re-rendered some sections, and didn't work continuously, it's difficult to say how much computation time it actually took to produce this. The fastest frames rendered in about 30 seconds while the the slowest frames of this project took upwards of 90 minutes (but could probably be re-done faster with my latest revisions.) The animation is around 5250 frames rendered at 1080x720 30fps.
This project was done entirely on a single 2.16 GHz Core2Duo MacBook using C++ and Xcode as my editor. It is multi-core CPU threaded but does not use a GPU for computations. I live in Japan and spend my money on traveling these days, so I make due with my little Macbook. My limited hardware was great motivation in trying to find ways to optimize my software!
In an interview that I saw before (sorry I can no longer sight the source), Beniot Mandelbrot said that he was a visual person and sought to learn or demonstrate things visually. I haven't seen many detailed buddhabrot explorations yet (probably due to the computational challenge of rendering this fractal). I wonder if visual explorations such as this one could reveal hints to remaining questions concerning the mandelbrot set. It's fascinating to look at this and see what looks like many layers of the time-escape image of the mandelbrot set, but the layers are kind of curling up and peeling away from each other. It's also interesting to look at the sequence starting around 1:38 and see how it looks like the border is a string, continuously connected through all of the curling up "layers."
Creative notes:Since the buddhabrot is essentially a 4D object (the Z and C planes each having a real and imaginary axis - giving 4 axis, 4D), there are some rotations that make it look like it morphs or turns inside-out. I chose to avoid these and focus on more solid looking projections except at the beginning where I wanted to show that the buddhabrot and the typical time-escape view of the mandelbrot set are really two views of the same fractal. You will notice however that it will rotate at one point in the video and look like it has one structure, then it will rotate at a later sequence and it's shape will seem different. This depends on which axis it is rotated. It is kind of difficult for our 3D brains to grasp a 4D object (find a tesseract animation if you want to see another example of 4d strangeness.)