<- Back

Fractal Explorer

Here is everything you've ever wanted to know about the cesoid.com Fractal Explorer. Apparently you wanted to know only one thing, because that's all that I have so far.

Iteration Limit: Infinity

For diehard fractal fanatics, this might look like I'm bragging about a cute little sandcastle that I've made, or a wheel that I've just reinvented. Then again, I don't know, because I talk to very few of these people, and I have explored fractal...explorers to a very limited extent. That is to say, I've downloaded and installed many of them on my phone, and I've perused a bunch of the web-based ones, but I've never gone so far as to use anything that I have to pay for, and I don't recall ever installing a native app on my computer. But then again I do have a very bad memory.

As for mere fractal enthusiasts, I can only hope that they're impressed and possibly befuddled by my insistence that my app has no iteration limit, although I can dream that maybe some of them are indignant.

"What?" I imagine them saying, "You have to have an iteration limit, otherwise it will never finish. What is it, and where can I change it?"

Or, for those of you who know pretty much nothing about fractals and just clicked a link that your dorky friend sent you, you're probably not really sure what an "iteration" is, and you probably also aren't reading this.

Regardless, here is the explanation:

The short explanation

The Fractal Explorer on cesoid.com makes repeated passes through all the pixels. After each pass it displays colors for pixels that "escape", but then retains all of the information needed to continue the calculations for the "unescaped" ones. On the next pass, it ignores the already escaped pixels, and iterates on the unescaped ones again. The newly escaped pixels at the end of that pass are then colored. This process is repeated forever OR until all the pixels have a color. So, yes, there is literally no iteration limit. It will actually iterate on unescaped pixels trillions of times if you let it go long enough.

The longer explanation

After spending a lot of time playing with an iPhone 4 fractal viewing app (probably about 10 years ago), it began to drive me bonkers when I encountered an area where colors bordered on a sweeping empty space, and I could tell that it wasn't the sort of sweeping empty space within the Mandelbrot bulbs themselves (which would always be empty no matter what). I'd render something with a low iteration limit as a sort of preview, then render it again with a higher iteration limit, which involved guessing just how high it needed to be. If you guessed too high, it would take an hour to render the top row of pixels, and if you guessed too low, you'd just have a slightly smaller empty space. This is not to mention the fact that most apps have an upper limit on the limit setting itself, and it was usually lower than I wanted it to be.

I was furious that the app didn't just do this for me. I was even more furious that it seemed to be an accepted law for every fractal explorer I could find that there must be an iteration limit. It seemed so obvious to me that if I can repeatedly raise the iteration limit to get progressively better images, the app could just do it automatically. It seemed like they could at least retain the data from the previous render and then have less calculations to do when you raised the iteration limit.

10 years later, most fractal explorers on the web seem to still have a limit that you just have to tweak manually, and when you change it, everything goes black (or whatever color is "empty" in their color scheme), and it recalculates everything it just calculated just to get where you left off the first time. (Relatedly, a lot of the fractal explorers you find on the web are probably also ones that were on the web 10 years ago.)

So, that's one of the reasons I made my fractal explorer. I wanted to see what it would look like to have no iteration limit, and making a fractal explorer sounded more fun than combing through a hundred pages of google search trying to find a free fractal explorer that already did this, and also better than spending money on some super-mega fractalator or whatever (sorry if this is a real name).

One cool effect of this approach is that the fractal fills in gradually, starting with the easier pixels and ending with the more difficult, giving it a sort of wave-like animation. You may notice that it's not strictly filling them in order, though, which is because it's giving extra priority to a somewhat arbitrarily chosen set of pixels in order to display a sort of "preview" earlier in the rendering process. At some point I'll probably explain that better. It's possible that I have explained it better below, and that I forgot to delete these last two sentences, so that would be a pleasant surprise for you wouldn't it!