Tim's Portfolio

2D Fractals

More images are available in the gallery

How They're Made

The fractals shown here were rendered by an evolving lineage of various programs that I've refined and re-implemented over the course of many years. My favourite of these renderers is shown here, which includes a gradient editor and lots of customizable sliders and options that determine the fractal algorithm being used. The fading effect when zooming and rerendering is due to the pixels being rendered in a randomized order. This renderer is multi-threaded and uses SDL.

The code for this is old and horrible and I shall not be releasing it. Sorry.

Please nag me at timstr@cs.ubc.ca if you think I should make a better one and share it with the world.

Fractals in Action

A fractal that was saved during this screen recording is available below.

2D Fractals (in Colour)

The fractals here are various hybrids of Mandelbrot and mandelbox fractals, with a variety of other transformations thrown into the fractal algorithm. To produce these, a simple function is defined that maps points in 2D space to other points. For every point in the image, this function is applied iteratively, until either its value grows too large or some maximum number of iterations is reached (it can go on infinitely, for some points). The number of iterations is then used to choose a colour from gradient. While the exact choice of transformations and colours allows for an enormous amount of customizability, the results are often very unpredictable.

2D Fractals (With Texture)

For these images, the usual escape-time Mandelbrot rendering algorithm was used to create a local estimate of curvature. This curvate value was then used in addition to the escape time to perform colour computations, simple shading, and texture mapping. Two of the fractals here are textured using the following image of seaweed at low tide.