

That last part is pretty weird! What would it look like if we showed all the starting points that never escape?
ULTRA FRACTAL BUDDHABROT SERIES
For other c values, the series of points will never leave the circle of radius 2 even under infinite iteration.For some starting c values, the numbers we generate will eventually escape the circle of radius 2 and go flying off to infinity, never to return.Something interesting happens with those numbers: This generates an infinite series of complex numbers. Starting with z = 0, the function says that to calculate the next z value, we take the previous one, square it, and add c to it. We’ll pick any starting point within the gray circle of radius 2 and call it c. See the white dot? That’s -1 + 0.25 i, as an example. The real numbers go across the X-axis and the imaginary numbers are on the Y-axis. Here we’re looking at a circle of radius 2 around the origin (yes, the value of 2 is special, but we’re not going to go into why). Mathematicians display them on something called the complex plane: Since complex numbers have two different parts we can draw one in two dimensions. The important thing to keep in mind is that a complex number has two independent components and that addition/multiplication isn’t quite the same as a normal number. These rules are very straightforward, but you can look those up yourself if you are interested. Just like “normal” numbers, you can add and multiply complex numbers. A complex number is written as a + b i where a is a real number and b is an imaginary number (remember that i is the square root of negative one). The most complicated mathematical concept we have to introduce is complex numbers. The Mandelbrot set has been called “the king of fractals.” We’ll have to use a bit of math to explain what it is, but don’t worry, there won’t be any scary theoretical stuff. Even though the scales are wildly different they look pretty similar!įractals do have real-world applications, but the one we’ll be looking at in this series doesn’t do too much other than look cool. On the right, grains of dust under extreme magnification. On the left, we have the comet that the Rosetta spacecraft landed on in 2014. What is a Fractal?Ī fractal is defined by self similarity - parts of the object are similar to the whole.Ī classic example of a fractal that you may have seen is the Sierpinski Triangle:įractals have sometimes been described as “the mathematics of nature” because this concept often shows up in the real world. Since the only people who actually care about megapixels are camera manufacturers (and they cheat as much as they can get away with) I’ll go for the more impressive number. If you go by 1,024, the size is actually 64 gigapixels. How you refer to the size depends on whether you consider a kilopixel to be 1,000 or 1,024 pixels. Now, the number 68.7 might jump out at you because it doesn’t sound very computer-sciencey. I immediately realized my mistake and pushed it to the largest possible version I could create without radically altering my approach - 68.7 gigapixels! Aside - 68.7 gigapixels? What a weird number Geez, don’t they test anything over there at Microsoft?!!!)Īt this point I was hooked so I pushed it up to 10 gigapixels. NET Image class will throw an undocumented Win32 exception if you try to create an image larger than 500MP. That might seem like a modest increase, but the 500 megapixels was a hard limit with the original method. I decided to revisit it in a second Hackathon and raised it to 625 megapixels. We succeeded! Although impressive, I was a bit unsatisfied with all the shortcuts we had to take to accomplish anything in a weekend. I decided to use C#/.NET because that’s what I’m most comfortable with. This was heavily inspired by Johann Korndoerfer’s 500 megapixel version he made in LISP. The Buddhabrot seemed like the perfect topic for a weekend project so we (I managed to convince two others to help) set out to render a 500 megapixel version. A few years ago at SEP we introduced Hackathon Weekends. I was introduced to the Buddhabrot in a college class about fractals (technically, it was about Chaotic Dynamical Systems but I don’t remember too much about that). In this series I’ll explain what the Buddhabrot is and how I made my version. For now, all you need to know is that it’s this thing… At the inaugural Indy.Code() conference I presented on how I generated a 68.7 gigapixel rendering of the Buddhabrot fractal.
