Articles / Fractal Software

Fractal Software

Ever since I first stayed up late watching an 8-bit computer painstakingly draw a Mandelbrot set, I've been fascinated by fractals. Of course, I had to write a fractal-generating program of my own straight away; the combination of the amazingly simple math required to produce the Mandelbrot set and the amazing graphics that came out was irresistible. Clearly, I'm not alone; every programmer with even the slightest interest in math writes a fractal program at some point, and a good number of these are now available as Open Source. Here's a brief, opinionated, and decidedly non-exhaustive survey of some of the programs I've found.

Disclaimers

  1. I'm only covering programs which run under X11 on Linux.
  2. My interest in writing fractal software didn't end back in the days of the Commodore 64. I wrote Gnofract4D, another fractal program. I haven't reviewed it here, but I'm clearly not unbiased.
Project screenshot

Mandelbrot and friends

The most famous fractal is clearly the Mandelbrot Set (click here for a gentle introduction to the math). Most programs also allow you to explore a range of related functions such as the Julia set or higher powers of the Mandelbrot set, collectively known as "escape time fractals". A few provide the ability to write your own formulae, giving access to an infinite range of functions. Below, I give an overview of the programs I like best, and a quick roundup of the rest.

Fractint

Fractint is the 800lb gorilla of free fractal software. Originally developed by an ad-hoc collective of fractal enthusiasts called the Stone Soup Group, it was originally a DOS program which has since been ported to X11 as Xfractint. It is an astonishingly flexible program. You can write your own formulae, apply dozens of different options, do deep zooming, 3D, L-systems, cellular automata... the list is endless. If you're really interested in fractals, you need to get this software.

However, it has some deficiencies, mostly related to its heritage. While ostensibly an X11 program, its interface is a straight port of the original DOS text mode interface, and it can be rather hard to use. It also has trouble if your X server is set up to use more than 256 colors (I have heard rumors that this is fixed now, but can't personally get it to work). Hopefully, these problems will be resolved before long; it is still under development, though the pace has slowed considerably.

XaoS

XaoS is a well-established and popular program with its own special niche: it allows smooth realtime zooming into the image. You just hold down the mouse, and your viewpoint glides into the depths of the fractal. It's hard to explain just how much fun this is (you'll just have to try it), but the effect is magical, and works astonishingly well, even on slow computers. XaoS has a plethora of options, including unique coloring algorithms I haven't seen anywhere else and a wild pseudo-3D effect.

It has a slightly unusual GUI (a text-based menu and mouse combination). This has allowed the developers to port it to a huge variety of systems (I'm pretty sure it's the only one here with BeOS and Amiga versions). It takes a bit of getting used to, but it's very usable. Overall, it's very highly recommended!

Project screenshot

Fract-o-rama

Fract-o-rama is extremely flexible; every aspect of the image is controlled by a script written in a simple programming language. It comes with an extensive library of scripts, many of which produce fabulous images. On the downside, it's very slow compared to most fractal programs, and I had some trouble compiling it, but it's still highly recommended.

Quat

Loosely speaking, hypercomplex numbers and quaternions are to complex numbers as complex numbers are to real numbers: bigger, weirder, and more mysterious. Quat draws 3D "slices" of four-dimensional quaternion fractals. These are very unlike standard Mandelbrot images; they're like weird, writhing blobs floating in space (there's a nice gallery on the Quat Web site). Quat has a bunch of options for coloring, functions to draw, and other parameters, so there's plenty to play with.

Project screenshot

GLFract

GLFract allows you to fly around a height-field representation of a fractal in 3D. It's a lot of fun, and draws things quickly and smoothly, even on my fairly dated video card. It has relatively few options for tweaking the fractal itself, and the mouse interface is a little unintuitive, but overall, it's definitely worth a spin.

Project screenshot

Roundup

Deep Zoom is a specialized program aimed at automatically finding cool images at very high magnifications. It has no GUI and limited options, but the results can be pretty sweet, if unpredictable.

Project screenshot

A fairly standard program with a smallish number of built-in fractals, Eyefract scores with a handy colormap editing window (it uses standard Fractint colormaps, so you can use this in conjunction with several of the other listed programs) and a cool visual history. However, it has an idiosyncratic Motif-ish interface, and it freezes while drawing the fractal, which is annoying.

Project screenshot

A Java-based fractal program, FractalView draws all its fractals fullscreen. You interact with it chiefly through a set of keyboard shortcuts. While it has a fair number of options, I found it a bit hard to use, since the help screen was often illegible and there's not much feedback as to what's going on. It often became unresponsive, showing only a blank screen. Still, it's early days for FractalView, which is currently under rapid development.

Project screenshot

GFract is a pretty minimal program which can only draw the Mandelbrot and Julia sets. It does have a nice window which shows an instant preview of the corresponding Julia set to any point on the M-set.

GMandel is a distributed fractal generator. Unfortunately, I don't have a Beowulf cluster to try it on, so I don't know how well that part of it works. The fractal options are extremely limited, so unless you do have a cluster of computers, this probably won't be of much use to you.

Project screenshot

Kandel promises arbitrary precision and distributed generation, and KMandel has quite a raft of features, but I couldn't get either of them to compile with KDE3. If you have an older KDE, you may have more luck.

Kisomandel displays Mandelbrot fractals using an isometric viewpoint, similar to the 3D approach of GLFract. It has a friendly, well-polished GUI. However, the fractals it can draw are not very varied, and the end results aren't as pretty as GLFract's.

Xrsf advertises itself as "A Really Simple Fractal Generator" and is pretty much just that. It draws the Mandelbrot set (quite quickly) and allows you to zoom and pan around.

Project screenshot

MCA is a deeply weird program which calculates the Mandelbrot set iteration-by-iteration using a cellular automaton. The process is cool-looking, but MCA isn't too polished yet; you have to recompile the program just to zoom in. It would make a cool screensaver.

mbi is a set of commandline tools for creating and editing huge Mandelbrot images. However, if you want to generate any other functions, you'll have to edit the source, and some of the tools didn't seem to work for me.

L-Systems

Lindenmayer systems can be used to generate complicated fractal curves and forms (such as those of plants) from a surprisingly short set of rules by recursively applying them to a short initial string of symbols.

LPlants is a very simple and minimal program (only 400 lines of C) which interprets an L-system and outputs PostScript. The results are surprisingly lifelike. It doesn't have a GUI, and is controlled entirely by the input file.

A more expansive L-system program, L-system Explorer provides a clear, usable interface, an extensive library of examples, and a number of coloring options. It's quick, too. It's a shame you can't interrupt the system while it's drawing, though. I'd also like to be able to draw 3D L-systems. Still, it's recommended, especially if you're new to L-Systems.

Project screenshot

PFractL is a Python-based L-system program. It has a neat feature to display the grammar symbol used to generate each line segment, which might be handy for debugging L-systems. Otherwise, LSysExp is generally better.

Project screenshot

Flea is a more ambitious Ruby-based program which can create 3D L-systems either from its own .flea format or from the older (but terser) .ls format. The .flea files are actually fragments of Ruby code, so their complexity is essentially unlimited. POV-ray is required to actually render the files. The scripts needed some tweaking to work correctly, but this is definitely worth a look.

Terrain Generators

Convincing images of mountains, hills, and landscapes can be created using fairly simple fractal formulae, and these programs do just that.

Terraform

Terraform is a fully-featured terrain generator with a plethora of options for adjusting the landscape's jaggedness, height, shape, sea level, and colors. It lets you add craters, rivers, fog, trees, and backgrounds, though you can only see most of these when you render the image (which requires POV-ray). It's hours of fun.

Project screenshot

fracplanet

FracPlanet creates random fractal planets (it can do flat terrain, too, but the planets are the fun part). There are parameters to tweak to adjust glaciation, sea level, colors, etc. However, unless you badly need a round planet, you're better off with Terraform, which offers far more options. I'd like the ability to generate other kinds of planets (like cratered moons and gas giants) and have cloud cover added, but this is fun as it is.

Project screenshot

Other Programs

This is a grab-bag of other, unclassifiable programs which don't really fit into the above categories.

SINFG ("SINFG Is Not a Fractal Generator") is essentially an image synthesizer. Using it, you define a stack of layers, each of which does something weird to the image below it. The end results can be pretty interesting, though I haven't played with it enough to really get the hang of it.

Project screenshot

Short for "Pluggable Image Generator", pig is designed to be a framework for hosting different image generators. The only plugin at present is a fairly basic Mandelbrot. The project shows promise, but there's not much here yet.

Project screenshot

ElectricSheep is a unique program based on Scott Draves's "flame" fractal, an elaborate riff on the standard IFS. It collaborates with other computers over the Internet to render gorgeous animated fractals. It's best used as a SETI@home-style screensaver. The images are initially breathtaking, but I have to admit that I quickly got bored of them because they didn't change frequently enough. It's recommended if you have broadband and are tired of the built-in xscreensaver hacks.

Project screenshot

Summary

I'm actually a bit disappointed by the range of fractal software available for Linux. Each of the programs above has a few unique, cool features, but most offer fairly limited variety, and none can really challenge world-class Windows packages like UltraFractal. Fractint comes the closest in terms of features, but it really needs a makeover before it'll be comfortable to use. Hopefully, some plucky programmers will soon produce the fractal equivalent of The GIMP (which has quite a cool fractal plugin of its own, by the way); meanwhile, there's plenty of fun to be had with these diverse and fascinating fractal packages.

RSS Recent comments

26 Apr 2003 02:42 yeti2

IFS
Nice! Thanks for the survey.

But I'm missing IFS (Iterated Function Systems) programs there. Unfortunately I don't know any decent Free IFS program, and I'm afraid no such exists, but you could at least mention Gimp IFSCompose plug-in.

26 Apr 2003 09:45 ttsoares

Very nice issue !
I am a fractal adicted too and my graduate (Msc and Phd) was in this context. That time there was not so many good free soft tools about fractals and stuff...

If I could offer my 2 cents... this could be one possibility to continue our fractal saga: www.wolframscience.com.

Best.

27 Apr 2003 02:33 brainless

Some of the programs are NOT accessible !

Dear Edwin,

some of the programs you mentioned in your articles can not be accessed.

For example, the Eye-Fract (www.jimbomania.com/dav...) program is definitely NOT available !

And the GLFract (freshmeat.net/projects...) program's freshmeat page NOT available for public viewing !

27 Apr 2003 08:05 edyoung

Re: Some of the programs are NOT accessible !
Sorry about that - both links worked when I wrote it a few weeks ago. GLFract can be found here (jimbomania.com/glfract...), but I don't know what happened to its Freshmeat page or where Eyefract is.

27 Apr 2003 11:50 Tonetheman

Ultrafractal rules
I agree, one of the programs that drives me back to windows is Ultrafractal. I have not tried it with wine. I would rather see a port of this great program to linux or like you suggested someone making something VERY similar for linux.

29 Apr 2003 00:51 lahvak

Spider Algorithm, complex dynamics

There used to be a program around demonstrating J. Hubbard's spider algorithm for the Mandelbrot set. I think it was called something like "spider". I tried to google it but to no avail. Anybody has any idea what happened to it and if it is still available?

Also, does anybody know of an X11 program that would do things like display the orbits of points under iteration, together with some statistics, in other words something targeted more towards exploring the complex dynamical systems behind these sets, rather than drawing pretty pictures?

29 Apr 2003 05:40 jeffcovey

Re: Some of the programs are NOT accessible !
GLfract now has working links, and our listing for it is visible
again. The EyeFract listing will be down until its author returns
from a Jazz festival and makes its homepage available again. I'm
sorry, but the Web is a transient medium.

30 Apr 2003 13:23 deyerman

Re: Some of the programs are NOT accessible !
EyeFract is back. Sorry about the downtime.

09 Sep 2003 10:13 mathsinger

Re: Ultrafractal rules

> I agree, one of the programs that drives
> me back to windows is Ultrafractal. I
> have not tried it with wine. I would
> rather see a port of this great program
> to linux or like you suggested someone
> making something VERY similar for linux.

My sentiments, exactly. I am trying UF with winex at the moment -- no luck -- but then I am a winex newbie. I have been thinking about scratching this itch, but there is so much to learn and I have so much on my plate already. I have done lots of Xwindows programming, lots of C, a fair amount of C++, no GTK+, wxwindows or compiler experience. As near as I can tell, the program reads parameter files & compiles them, then executes them.

I think a plugin to the GIMP would be awkward at best.

Ultrafractal is a really impressive program IMHO.

-- Susan

29 Jan 2004 11:58 BuyGifts

Re: IFS
Thanks for the survay guys. I can use this one :)

17 Feb 2004 16:09 mantick

Re: Some of the programs are NOT accessible !
There used to be ebooks (ebooks.die-werbung.de) around demonstrating J. Hubbard's spider algorithm for the Mandelbrot set. I think it was called something like "spider". I tried to google it but to no avail. Anybody has any idea what happened to it and if it is still available?

Also, does anybody know of an X11 program that would do things like display the orbits of points under iteration, together with some statistics, in other words something targeted more towards exploring the complex dynamical systems behind these sets, rather than drawing pretty pictures?

01 Mar 2004 08:45 eipiequalsnoone

Helping the development of a new "smart" fractal generator
Hi,

I found this article very interesting and as far as I
understand, some of you feel upset by the lack of a
good fractal generator under linux. As for me the term
"good" as to be defined. Almost every fractal generator
try to draw a nice picture rather than compute a
perfect set. I am currently working on a new fractal
generator which tries to focus on the computation of
the set. It has several features which I believe could be
interesting:


- can use both double fast precision, or arbitrary
precision;

- can use any number of (eventually
heterogeneous) CPUs (SMP or distributed
environment);

- uses a "smart" algorithm which tries to
compute "interesting areas" first preventing the
waiting of a whole computation if the interesting parts
are already available.


As for me, this last property is the most
interesting
one. The software is called DJFractal
is of course opensource (GPL) but is currently in beta
stage since it is missing a lot of features such as GUI
enhancement, customization of the function to
compute, colors customization, etc.

The software is written in Java. Give it a try!
(warning,
the applet contains a System.exit() instruction, which I
know is bad practice, but I don't have time to fixed
it!)


If your are interested, feel free to contact me since
I
am still looking for volonteers.



Regards. eipi.

02 May 2004 02:49 adammaj

Re: Spider Algorithm, complex dynamics
inls.ucsd.edu/~fisher/...

29 May 2004 10:43 Tint

Re: IFS
Thanks for the article and a listing of different software available. Been playing with fractals since getting my first Amiga. Any open source developments out there for a really good programs that can compete with what's available for Windows?

-----

Tim,

Software Developer - Online Shopping Coupons

08 Jun 2004 03:32 AndrewCates

Re: Some of the programs are NOT accessible !
Eyefract seems to be back there now?

BozMo (catesfamily.org.uk/)

11 Jun 2004 04:05 AndrewCates

fractals
Is there anything that can generate really genuine 3D fractal surfaces which you can turn round and look at?

BozMo (catesfamily.org.uk/)

28 Aug 2004 09:59 edyoung

Re: fractals
Quat can do that.

07 Sep 2004 07:55 GulDukat

Terrain & Fractals
I wonder if there is something like FracPlanet for windows too. I'm looking for something like that for al long time now, but still have'nt found anything suitable.

Also, i'm currently playing around with the generation of Terrains based on Fractals and always in need of information about that. Haven't found that much so far, that really helps me. So if you have any stuff or links at your hands you're willing to share... ;)

Thanx a lot

GulDukat

--

My Site

04 Dec 2004 11:24 sid007

WoW on Fract-o-rama
Fract-o-rama looks really interesting. Great ArtWork!

25 Jun 2005 10:33 femistofel

One more L-Systems program...
Hi. For all the fractal lovers and computer nerds - I have implemented LSystems in PostScript, as an excersize in a new language I've learned. There's no comments or user interface, but I tried to keep the code readable. Skip the preabmble and go right to the pages with LSystems - you'll figure how it works right away [sic]. I haven't implemented random stuff afair, but it is possible in PostScript as well.

www.artm.org/pub/LSyst...

12 Jan 2006 04:38 aspcoder

3D fractal surfaces
Is there anything that can generate really genuine 3D fractal surfaces, then please tell me.....

Jim

Tatvasoft - Custom Software Development Outsourcing India

01 Feb 2006 21:14 bsparkie

Re: IFS

good research work by the surveys but whats the benefit for that can anyone
list the required software that will enable surveys to ones website

 

11 Feb 2006 23:20 Pfv2

Great list!
Great list. Thanks for the links.

18 Feb 2006 20:53 jammyaus

Re: WoW on Fract-o-rama

> Fract-o-rama looks really interesting.

> Great ArtWork!

You are very right Fract-o-rama is very interesting i like the greatness of the artwork

23 Aug 2006 00:27 CollegeStudent

Being a College Student
Ahhh, this brings back memories of advanced computer graphics courses at the old University. :)

--

daniel _AT_ tuggle.it (tuggle.it)

09 Jan 2007 09:03 dentaku

Java Fractal Generator
And this one gets better every few weeks:

freshmeat.net/projects...

30 Jan 2007 07:34 dogmaticslumbers

Saving zooms as digital video files?
Do any of these programs, or any other fractal generating program, allow you to save zooms as digital video files for later viewing in a video player?

14 Oct 2007 01:14 Avatar pabs3

sinfg -> synfig
sinfg went proprietary, got renamed as synfig, was relaunched and re-released under the GNU GPL and a community has formed around it.

See here:

www.synfig.com

sf.net/projects/synfig

Screenshot

Project Spotlight

dyncall

A foreign function call interface using small assembly kernels.

Screenshot

Project Spotlight

onQuery

A advanced event querying engine.