Fractal Lab

Below is a java applet that produces colour fractals from the set of Contracting Affine Transformations given in the spreadsheet. The size of the resulting image, which appears in a seperate frame, can be set in pixels (the default is a 500 pixel square). Some standard fractals are available by using the selection menu, but any Contracting Affine Transformation can be specified.


The advantage of writing an application like this in java are obvious:


This applet was first published in the first half of 1996.

I never got time to work on this applet since then. A few years later I lost the password to the University of Westminster server on which it resided and then finally the pages themselves were taken offline sometime in 2000.

On the 20th of March 2005 I then found an archive of the original page on the WayBackMachine, which I used to put this page back together again.

I should mention that this was:

I had a quick look at it and fixed the most glaring bugs. The synchronisation side of it still looks very dubious and needs fixing. But it works well enough to put online again.

The algorithm

The algorithm was developed by Abbas Edelat at Imperial College, London, and is derived from his work on Domain Theory and Fractals. It has the notable property that it does not require the user to guess the number of iterations needed to calculate the fractal.

The source

How to

To add a line to the spreadsheet use the arrow-keys to move the highlighted field past the last row

To delete a line in the spreadsheet press <shift-backspace>, when a field of that line is highlighted. (On Unix platforms try <shift-control-h>)

If you add or delete a line to the spreadsheet do not forget to change the values in field "G" so that they add up to 1.

Once you have selected a fractal using the selection menu, and possibly edited the values, Press the <new> button to draw the fractal.


A few less bugs in my code, and a hell of a lot less bugs in the Java Virtual Machine. Anything that does not work now, is most likely due to problems in this code :-)

Maintained by Henry Story. Please email him your suggestions.