Exploring fractals was never this easy!

Mandelbrot Madness!

Free Mandelbrot and Julia Set Renderers
for .NET (Win32) and Java

[It's here! MMJ! 4.0] [It's here! MM! Win32 2.0]

Mandelbrot Madness! is a pair of applications designed to render Mandelbrot and Julia set images and save them to standard image formats. The .NET (Win32) version employs the power of the Microsoft .NET 2.0 Framework with the ease of Windows' "point and click" interfaces, while the Java version utilizes the powerful, platform independent abilities of Java 1.1. Both give aspiring new Mandelbrot discoverers a quick, easy way to explore this fascinating function and its beautiful graphical results.

Fractals are one of the most intriguing concepts in mathematics, and the Mandelbrot Set is perhaps the most readily identified example. (Which is interesting, because the set really isn't a fractal, but the plot of it is.) Discovered by the brilliant Polish mathematician Benoit Mandelbrot and published in his book Les objets fractals, forn, hasard et dimension in 1975, it is perhaps one of the most often displayed images in all of mathematics and computer science. The fascinating notion of a mathematical function so simple creating an infinitely intricate and visually breathtaking image is one that has intrigued scientists and mathematicians for years.

And now, thanks to Mandelbrot Madness!, you can explore this incredible, magical mystery from your own desktop, quickly and conveniently.

Choose Your Version:

.NET (Win32) Version Java Version
[.NET (Win32) Screenshot] [Java Screenshot]

Why Two Versions?

Mandelbrot Madness! started as an experiment in Visual C++. Unsatisfied with my attempts to create a DOS-based Mandelbrot renderer, I turned to Visual C++ to try to create an easy-to-use application that could create images at the size and color depth I wanted, not what I was limited to by my DOS knowledge. After much playing, learning, and web surfing, I created a very functional and powerful program. I decided to share it with the world, so the original Microsoft Windows version was born and made public.

However, I've always been a sucker for Java. I love Java. I decided to create a simple Java applet that would be a watered-down version of the Win32 version of MM!, mostly for demonstration purposes. And, just because I could do it, I made it double as an application, so you could run it outside a web browser using a Java runtime environment. Both are incorporated in the same program, which you can still find by going here. It had no file support, only two built-in palettes, and no control over image size or iteration depth. But it was sweeter than anything I had personally seen online.

But I wasn't satisfied with it. I felt I hadn't done Java due justice. So, I dove into the code once again and rebuilt the Java version from scratch, making it a pure application (it will run with limited capabilities through a web browser) and basing it on the more powerful Java 1.1 platform. Before long, it not only had all the capabilities of the Win32 version, but it had far surpassed it, adding in parameter file support, custom palettes, GIF support, Julia set derivation, and much, much more. And with its latest incarnation, it is more powerful than ever.

Eventually, I entered a new job and learned a new programming language: Microsoft's C# .NET. As I'm wont to do, I quickly decided to test my new-found skills and expand my abilities with this new tool by once again tackling MM! After much tinkering, a new .NET version was introduced, bringing many of the lessons I learned from the Java version to a native Windows platform, while leveraging many of the new tools available from the .NET framework.

However, the two versions of MM!--the .NET and Java versions--are not fully synchronized. They are much closer than the used to be as of the last update of this page, but still not perfectly aligned. The .NET version has finally caught up with and surpassed the Java version by adding a new parameter file format, support for more image and palette file formats, a little bit of multithreading support, and some clipboard interaction previously unavailable in Java. However, the two versions are much closer in functionality than they've ever been, and I hope to eventually bring the Java version back in sync with the .NET version so they will share all of the same features.

Which version you should choose is entirely up to you. Those looking for the latest and greatest, and who happen to be using a Windows OS, should choose the .NET version. It has the most powerful features and runs noticeably quicker on a Windows machine than the Java version. Users on all other OSes should not feel slighted, however, if they are stuck with the Java version, as it is very capable and has 95%+ of the functionality of the .NET version, even if it's a few years older.

Project Status

As of this writing, MM! in both its forms should be considered in extremely sporadic development. This means that while I greatly enjoy working on this wonderful waste of time, alas there is very little time to waste. Updates, if any, will be incredibly infrequent, and odds are that I won't put out any new versions of either branch unless significant bugs surface.

Both branches are now considered to be Open Source and are released under version 2 of the GNU General Public License. (I am not sure whether I will permit GPL 3.0 use yet until I've had a chance to review that license's text.) Feel free to pick apart the source code and make it better. The code is sloppy, so don't expect perfection. However, if you do make significant improvements, let me know and I may dust off enough cobwebs to make your changes part of an official release.

Legal Junk

Mandelbrot Madness! is © Copyright 1999-2007, Jeffrey T. Darlington. All rights reserved. However, I have no desire to sell it. Mandelbrot Madness! is free to everyone to download, run, and enjoy. It is to be considered "freeware": no money required... but no support implied either.

Mandelbrot Madness! is to be distributed as "freeware;" you may copy it and distribute it as often as you wish, but you may not collect financial compensation for it. If you wish to distribute it, please only do so as the complete distribution archive (complete with any DLLs, JARs, documentation, or other goodies), including the "readme" file. If, by some strange whim of fate, you would like to package this application along with something else, such as on a CD of shareware, etc., please contact me first and let me know. A complimentary copy of such a CD would be appreciated. Also, please give credit where credit is due; if it is placed online, provide a notice and/or a link to this web page.

This program is provided AS IS without any form of warranty. By using this product, you agree that the creator will not be held liable for any damages that may inadvertently occur through the use of this program. It is also provided without technical support (however, I will happily answer any questions or suggestions when I can; do not interpret this as an obligation).

Contact Information

Jeffrey T. Darlington, program author:
E-Mail: jeff@gpf-comics.com
Web: http://www.gpf-comics.com/

Return to GPF Downloads Page