The Mandelbrot Attractor Set

Thursday, April 14th, ©2011 Marcus Brooks

Back in the mid-1980’s, folks in my circle enjoyed writing Mandelbrot set programs. In brief, the Mandelbrot set is a pretty picture created by large amounts of computation. It’s an example of a fractal, a shape made up of many smaller shapes like itself. Indeed, any part of the Mandelbrot set’s outline, if you could magnify it enough, would contain an infinite number of smaller, more-or-less distorted “copies” of the set.

Mandelbrot Set With Attractors Plotted

Mandelbrot Set with Attractors Plotted; Update: All Visible Periods. Max Iterations: 700 (Black). Warmer Colors Indicate Fewer Iterations.

The old Amiga 1000 was nearly ideal for Mandelbrot experiments. It had a nice color display that was easy to access from software. It was also reasonably fast at generating Mandelbrot sets, even in BASIC. Alas my brother Randy wanted to use his Amiga sometimes, and my own computer was a much less powerful Commodore 64. This made the task harder.

The Mandelbrot algorithm generates a series of complex numbers for each pixel in the plot, using the pixel’s coordinates to seed the series. The color of a pixel reflects how many iterations its series took to diverge, or exceed a certain value. If the series doesn’t diverge before reaching a preset iteration count, that point is said to be in the set, and is usually colored black. It follows that points within the set take the longest time to test.

Detail Showing Attractor Set Structure

Detail Showing Rayed Attractor Structure in a Period 5 Bulb (Upper Right, Click to Enlarge)

On my C-64, all those iterations took a lot of time. But I realized a series that never diverges probably finds an attractor, a value or sequence of values that is repeated over and over. Indeed, I discovered I could speed up my C-64 Mandelbrot program considerably, at least within the set itself, by detecting attractors. Then I decided to plot pixels where an attractor was found before the iteration max was reached. What I saw on my low resolution C-64 was a strange, spiky blob, like a sea urchin lurking in the midst of the set’s main bulb.

At the time I thought I had discovered something really cool. I even wrote about it to a researcher mentioned in Scientific American’s Mandelbrot article. In return I received a brochure selling Mandelbrot set posters and t-shirts.

After that, I more or less forgot about  the whole thing. I never got into graphics programming on newer computers. As a tech writer, I mostly create data scrubbers and control scripts. As a tinkerer, I write embedded software and view results on an oscilloscope.

Extreme Zoom with Nth Period Attractors

Update: Program Now Plots (Practically) All Attractors. This Plot Shows About 16 Pixels of Previous Detail (Click to Enlarge)

Recently, however, I realized that I ought to be able to do something in Java without committing myself to full-blown GUI development. So I opened a terminal in MacOS X, found javac and jar, did a web search, and adapted my program from Eckhard Roessel’s fractal.java.

The pictures in this post show my first success (since the 1980’s) at plotting the attractor set. It turns out mathematicians knew all about Mandelbrot attractors already, so that’s old news. I haven’t heard of anybody else who tried plotting them, possibly because they aren’t as spectacular as the fringe patterns. Still, I think they’re pretty cool!

Update

Click here to try the current version of the Mandelbrot Attractor applet.

Closeup of long-period Mandelbrot Attractor 'Nodes'

Update 23 Apr 2011: Attractors aren't spectacular? Click this image for a closer look at these long-period attractor "nodes" with very un-ray-like rays.

Tags: , , , , , ,

2 Responses to “The Mandelbrot Attractor Set”

  1. marcus says:

    Shortly after this post was published, an aggravating bot (or was that aggregating?) lifted the post’s text, changed a few words to mostly incorrect synonyms, and published it without graphics on another blog.

    I’m pleased to report that a politely worded e-mail to the other blog’s whois contact resulted in the poor copy being removed. Presumably the (now broken) link on Google will eventually resolve itself.

    Sorry for any confusion.

  2. […] previous post told how I “discovered” Mandelbrot Set attractors and wrote perhaps the first program […]

Leave a Reply