Fractals (An excuse to show some pretty pictures)

This is a blog post version of my talk at Bathcamp 2010.  I’ve added a few extra links and pointers for some extra background. As a warning this post is heavy on images and video.

The term Fractal was coined by this man:

Benoît Mandelbrot Benoît Mandelbrot (1924 – 2010)

He’s most famous for a simple equation:

f(z) = z2 + c

where z and c are complex numbers

But we are much more used to seeing the equation like this

Mandelbrot set

A definition of a Fractal:

A rough or fragmented geometric shape that can be split into parts, each of which is (at least approximately) a reduced-size copy of the whole

The fractal geometry of nature

Examples exist in natural, such as Romanesco broccoli:

Romanesco broccoli

One of the strange properties of Fractals is their dimension

line

Lines are one-dimensional,

Rectangle

Boxes are two-dimensional,

Koch Curve

While a Fractal (In this case a Koch Curve) is one and a bit

So some other famous fractals:

Julia sets

Julia Set

This use the same equation as Mandelbrot Sets but instead of varying c for a fixed z, keeps c constant and varies z.

Lindenmayer systems

Fractal tree

These follow a grammar, so are great at generating plants and trees.

Mandelbrot sets can also be extended into 3D to create a Mandelbulb

Also Julia Sets can be similarly extend into 4D space producing Quaternion Julia Sets, which can be raytraced on a modern GPU.

Menger sponge is another type of space-filling curve like the Koch Curve above.

This video is of the 128 byte demo called Spongy by TBC, which has also been ported to a 512 byte JavaScript version.

After the Mandelbrot set, other famous use of fractals is in generating terrain. An early example is Peak from 1980. They are also used in the genesis sequence in Star Trek II: The Wrath of Khan

Fractals have not just found use in generating pretty pictures. The Space filling curves mentioned earlier have found a use in creating compact aerials in mobile devices. Iterated function systems like the previously mentioned Lindenmayer systems have been used for image compression but due to some early patents work has slowed because of the legal risks. Modelling financial markets is another application, originally proposed by Benoît Mandelbrot , which over the last few years has been enjoying renewed interest.

Rendering of fractal landscapes has also not stood still, with the power of modern hardware, much more realistic terrain can now be rendered in real-time instead of to a film recorder as in the past, producing result like, Elevated by RGBA & TBC, a 4 kilobyte demo running on a normal PC.

For any technical people, one of the programmers gave a presentation on how the terrain is generated and rendered (PDF) if you are interested.

I have more links on the fractals tag on pinboard is you want to explore some more.

Author: Zoe

A recovering games coder.