More Clojure Mandelbrot Goodness

* This page is related to "Clojure: ASCII Mandelbrot Set".

After my brief stint in the world of fractal geometry and Clojure, I decided to make a real Mandelbrot set viewer. The resulting source code is here. Here's a simple output (click for bigger version):

/clojure/mandelbrot/thumbs/mandelbrot-smooth.png

It's a pretty naive implementation, barely 100 lines of code, but even with my brute-force approach, given a liberal sprinkling of type hints it runs fast enough. Programming Swing from Clojure couldn't be easier (though I doubt programming Swing from any language is ever really enjoyable, it's a painful bunch of libraries).

There's a discussion of different coloring algorithms on Wikipedia, but even after reading that, getting this thing to look good was difficult. I don't know enough math for it. I ended up cheating and I colored a couple of them in the GIMP, so I could use them as desktop wallpapers.

/clojure/mandelbrot/thumbs/mandelbrot-rainbow.png /clojure/mandelbrot/thumbs/mandelbrot-rainbow-2.png /clojure/mandelbrot/thumbs/mandelbrot-rainbow-3.png

/clojure/mandelbrot/thumbs/mandelbrot-rainbow-4.png /clojure/mandelbrot/thumbs/mandelbrot-rainbow-5.png

There are some more PNGS over here including one that's 16000x16000 (producing it almost melted my CPU last night).

Speak Your Mind

This says COWS.

Preview

Commenting Help

Email / Avatar

  • Supply your email address and your Gravatar will be used.
  • I will never email you and your address won't be published.

No HTML allowed!

All HTML is auto-escaped. Use Markdown. Examples:

  • *emphasis* = emphasis
  • **strong** = strong
  • [link](http://foo.bar) = <a href="http://foo.bar">link</a>
  • `code in backticks` = code in backticks
  •     code indented 4 spaces =
    code indented four spaces
  • > Angle-brace quoted text =
    Angle-brace quoted text