Ever since I first played with FractInt, it must have been at least 15 years ago, I've been intrigued by fractals. At first, they seemed like magic to me, but as I learned more maths, I can understand the why, but not always the how.

A couple of years ago I set out to write a fractal exploration application called Frakter. To be honest, it sucked pretty much, but it was an attempt. The nice things about it where:
  • Fractals where kept in external scripts, so that the application could be extended.
  • Colouring was done using special colour maps that could be loaded and saved.
  • It used a background thread to render the fractals.
  • It had a zooming history that one could type right into to find interesting ranges in the complex numbers realm.

Now and then I visit Paul Bourke's great collection of fractals (and loads of other stuff too). Each time, I feel an urge to write something that can handle everything that he shows.

I want to be able to fit all different types of fractals into a class tree that I can write a GUI around. The data carried from the fractals to the UI would be enough to do basic 2D rendering, 3D rendering, psychedelic colouring, and so on.

I've had a couple of half hearted attempts this far, but now I started from the other direction, i.e. starting with the fractal types I never get to otherwise.

Right now I've implemented IFS and L-systems. The implementation is not even an attempt at being efficient and uses loads and loads and loads of memory, but it works. The next step is to create a colouring class that one can inherit to do the funky stuff. Last value, current value and current iteration, fractal specific category are the "input values" I plan to use. Right now, fractal specific category, is "last used transformation set" when dealing with IFS, for L-systems, it is zero.


At 1:30 AM, Blogger ChrLov said...

Beautiful fractals! I loved fractint too.


Post a Comment

<< Home