Widget Wednesdays #15

I just got a fancy new 2021 MacBook Pro, the one with the Apple M1 chip. And it is fast. Really, really fast.

I was curious to see just how fast it is, so I did what any self-respecting computer nerd would do. I implemented a visualization of the Mandelbrot set.

I have a special connection to the Mandelbrot set. When Benoit Mandelbrot was preparing to re-issue his book The Fractal Geometry of Nature, he visited MAGI to check out our Celco film recorder. He knew about us because we had used one of those to capture our CGI for TRON.

Amazingly, the people I worked with sent me — the most junior mathematician at MAGI — to go out to lunch with him. Needless to say, it was thrilling to have a conversation with the great man. I had recently implemented the Noise function, and was using it to generate fractals, so we had a lot to talk about.

The core operation in my current implementation does 100 iterations of Z=Z2+C at each pixel, with a user interface that lets you zoom in 1000-fold by clicking (you click again to zoom back out).

My new computer easily handles that. In fact, this computer is so fast that when I tried 1000 iterations per pixel, it still ran at full frame rates.

Which is amazing because the first time I ever tried implementing the Mandelbrot set, it took about an hour a frame. The mind boggles.

There are so many astonishing places in the Mandelbrot set, and it would be a shame to find one but then lose it forever. So at the top of the screen I display where you are. If you go back later to that location, the same beautiful details will be waiting for you.

I couldn’t decide what color scheme to use. Part of me wanted to go with a “fire” motif, and the other with an “ice” theme. So I decided to split the difference.

You can see what I mean if you run it, which you can do here.

Leave a Reply