Fractal flames are a member of the iterated function system class of fractals created by Scott Draves in 1992. Draves' open-source code was later ported into Adobe After Effects graphics software and translated into the Apophysis fractal flame editor.
Fractal flames differ from ordinary iterated function systems in three ways:
The tone mapping and coloring are designed to display as much of the detail of the fractal as possible, which generally results in a more aesthetically pleasing image.
The algorithm consists of two steps: creating a histogram and then rendering the histogram.
First one iterates a set of functions, starting from a randomly chosen point P = (P.x,P.y,P.c), where the third coordinate indicates the current color of the point.
In each iteration, choose one of the functions above where the probability that Fj is chosen is pj. Then one computes the next iteration of P by applying Fj on (P.x,P.y).
Each individual function has the following form:
where the parameter wk is called the weight of the variation Vk. Draves suggests that all :s are non-negative and sum to one, but implementations such as Apophysis do not impose that restriction.
The functions Vk are a set of predefined functions. A few examples are
The color P.c of the point is blended with the color associated with the latest applied function Fj:
After each iteration, one updates the histogram at the point corresponding to (P.x,P.y). This is done as follows:
The colors in the image will therefore reflect what functions were used to get to that part of the image.