The word fractal is a term that was coined by the mathematician Benoit Mandelbrot in 1975.
Fractal, from the Latin fractus meaning fractured, refers to a unique type of geometric shape.
Fractals have two distinct properties: they tend to be infinitely detailed, and they look like themselves at various
scales, a property called self-similiarity. Because of this, fractals are almost never smoothly curving shapes but
are characterized by sharp, jagged edges and infinitestimal features that have the same shape as larger-scale features.
Fractals are not just an abstract mathematical topic; many forms and
shapes in nature tend to exhibit distinctly fractal-like characteristics.
One good example is a tree: a tree's main truck sprouts branches,
and those branches sprout smaller branches, which sprout twigs, which sprout
smaller twigs, which sprout leaves. Any given branch or twig, taken
with all of the branches and twigs attached to it, looks a great deal like
the entire tree; thus, trees are self-similiar—certain small parts
of them resemble the tree as a whole. Clouds are another fractal-like
phenomenon; the bumpy surface of a cloud viewed up close looks very similiar
to the large-scale structure of the same cloud. Fractals appear
in computer graphics in the form of fractal Brownian noise (fBn),
which is a mathematical function frequently used for procedural texture
and terrain generation.
In this article, we will explore the Mandelbrot set, a famous fractal
object originally discovered in 1905 by Pierre Fatou. In the 1970s,
Benoit Mandelbrot produced the first computer-generated images of this set,
which popularized it among mathematicians, computer graphics researchers,
and the general public alike. First we'll examine the classical
algorithm for rendering images of the Mandelbrot set, and then we'll look
at ways to adapt this algorithm to run on a GPU.