Generating Chaos

Imagine, hypothetically, that you are putting together a new book titled “Mastering the Unpredictable“.  Also, imagine that the plan for the book cover design is dashed after the first public trial showing.  Also, hypothetically, it is getting real late and you need a theme for a book cover quickly.  Would you see the similarity between “unpredictable” and “chaos”?  A fractal expresses chaos better than anything else.  There is extremely fine grained chaotic behavior, while at the gross scale things look neat and organized.  This symbolizes the behavior of an organization perfectly.

A quick scan of the internet finds many thousands of fractal images, but almost none of them usable for a book cover due to low resolution.  I scanned the stock photo places, but many of the samples there, while being beautiful, are not really fractals, and do not reflect the essence of unpredictability.  The true fractal is just a mathematical artifact which can be easily generated.

I then started the search for a good Mandelbrot Set generator, or Julia Set generator and came up with many hits (including someone named Julia who cleverly decided that her band should be called “Julia Set Generator”).  I found some amazing stuff.

Julia Explorer

First stop in delving into Julia Sets is this amazing applet.  There is a unique Julia Set associated with every point in the complex (real + imaginary) plane.  This explorer lets you drag a little red point around the plane, and see all of the corresponding Julia Sets instantly.  Here is a sample Julia Set:

The red spot you see just below the line, about .75 left of the center is the position of the constant used to generate this set.  When you click down on the red spot, a blue representation of the Mandelbrot Set appear to help guide where to drop the red spot:

Move the red spot to top “bulb” of the Mandelbrot Set, and you get this generated.

The blue guide disappears when you release the spot.  Then there is another interesting feature.  If you click on any spot within the Julia Set, it will plot the calculations for that point as a green line.  Each point is determined to be in or out of the set, based on whether an iterative calculation converges to a finite point or not.  The green line shows the trace of points that the iterative calculation makes.  It only shows traces that actually do converge (that is, only points that are IN the Julia Set).

As you move the red spot, it constantly generates. It is nothing short of fascinating to see how the Julia Set depends upon the position in or out of the Mandelbrot set.  If you move the spot well outside the Mandelbrot set, the Julia set gets thinner and less substantial, in the case below it appears as gray whisps:

Or, if you move the spot well within the Mandelbrot Set, you get dark “filled in” Julia Sets:

The most interesting Julia sets occur when the spot is very close to the edge of the Mandelbrot Set, which is why that guide is so important.  So you just drag the spot around, and find these interesting cases.  In everycase, note the “c = ” in the upper left corner — that is the constant that defines the Julia Set.

Go try this, it is amazing:

Rendering With Color

While the explorer is great for finding a particular set, I needed a nicer, colored set, so I found a fairly nice generator implemented in Flash: Access this page, and put the two values for the constant in (-0.7589 and 0.0753 came from the Julia Set example at the top of this page) and render:

The thing about fractals is that there is infinite detail, but you can’t see it all in a low resolution, so there is always this zoom in feature to explore the details:

I felt the colors were a bit garish, so there is a way to set up the colors applied to the “escape set” (the points outside the Julia Set itself).

I made it more or less smoothly from black through blue, and then to yellow and white.  Here is the result:

And a zoomed in picture:

This then has the ability generate a higher resolution image.  I tried several times, but I was never able to retrieve the higher resolution image.  It generated it, but I no idea how to retrieve it.   One cool feature is that it is easy to save the definition of a particular fractal to a small disk file, so you can easily get back to it later if you want to.

High Resolution Rendering

All of this convinced me that this was the right direction for an image for my book on unpredictability, but I needed a way to generate a very high resolution image, because the real beauty of a fractal is the extreme detail, and how that is chaotic, while at the same time the entire figure has a well defined shape.  I figure I probably need about 4000×4000 pixels.  I noticed some high quality images being generated from MATLAB and plug ins for the latest Photoshop, but that was a little out of the range for my project.  I stumbled upon FerryMan Fractal coming from a programmer in China.  This freeware program is really quite amazing and powerful.  There are many ways to manipulate the image in bewildering complexity.  To be honest, all of my generated images were made with essentially the default settings (since the Julia Set is the default layer, and I never used more than one layer).

Again I entered the constant that defined the Julia set I wanted (-0.7589 and 0.0753) and you get a low rez image on screen.  There is substantial power in being able to color the escape set (but curiously I never found a way to color the interior set).  Like many freeware tools the user interface is idiosyncratic and hard to use at times, but play with it for a while, and the results are stunning.

The best part is that it has a “render to disk” function, where I specified 4000 x 4000 pixels, and it writes it directly to a 40MB bmp file.  It takes a few minutes to do this, but it would, presumably, handle even larger resolution images.

I will leave you with my three favorite renderings, which are linked to the full resolution image (a 2MB to 4MB PNG file, so be patient).  If you do access the full resolution image, be sure to zoom in on the browser, and scroll around to admire the detail.

and a black and white version of above:

Whoever said chaos can’t be fascinating?


10 thoughts on “Generating Chaos

  1. Thanks, nice introduction to Mandelbrots …

    Well, it is not math that is integrated into our lives, but it shows that apparently complex structures can be represented by simple mathematical models. Most natural structures (number of flower petals) follow the Fibbonacci series where each number is added to the previous one (….)

    Look at this one to see it:

    We just have to be careful to not throw out the baby with the bath. Natural systems do use emergence based on harmonic resonances but as soon as you get to complex adaptive systems, the resonant structuring is no longer predictable as the control that Keith has been talking about is lost. We can just accept the emergence and use it but not control it.

  2. Hm… Have you seen gnofract4d? It’s what I usually use to generate high-res fractals. It interprets the Julia and Mandelbrot sets as one 4d fractal (Perpendicular to each other)…

  3. No, I did not run across gnofract4d. I know there are a lot of them. I saw one named “Oh No Not another Julia Set Generator” (or something to that effect). And I only had a few hours to get this all done.

    For those interested, here is a link to gnofract4d, and from the samples on the information page, it appears to be quite good, as well as free, open source:

  4. Hi there, I really like the images you have generated here. Would it be ok if i used FMF_Julia8_b&w.png (the final set on the page) as a header for my blog.

    I’m not really a blogger or a mathematician but I’m keeping a notebook of work I’m doing with Linux. I went looking for copyright permissions and that lead me here.

    I will credit and link back in the footer.


  5. Pingback: Automated Process as art: Authorship from Mathematics to Visual Arts (Part 3) – narrativesculptures

Leave a Reply to christopherolah Cancel reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s