Apophysis (software)

Apophysis is an open source fractal flame editor and renderer for Microsoft Windows and Macintosh.

Apophysis has many features for creating and editing fractal flames, including an editor that allows one to directly edit the transforms by manipulating triangles, a mutations window, which applies random edits to the triangles, an adjust window, which allows the adjustment of coloring and location of the image. It also provides a scripting language with direct access to most of the components of the fractal, which allows for effects such as the animations seen in Electric Sheep, which are also fractal flames. Users can export fractal flames to other fractal flame rendering programs, such as FLAM3.

There is a separate version of Apophysis that supports 3D. There are numerous clones, ports, and forks of it.

History
Scott Draves invented Fractal Flames and published an open source implementation written in C in the early 90s. In 2001, Ronald Hordijk translated his code into Delphi and created a non-animated screensaver. And in 2003 or 2004 Mark Townsend took Ronald's code and added a graphical user interface to create Apophysis. It has since been improved and updated by Peter Sdobnov, Piotr Borys, and Ronald Hordijk.

Since 2009, there is a version of Apophysis called Apophysis 7X. Originally, it was targeting to provide support for modern Microsoft Windows operating systems like Windows Vista and 7. A strong feedback from the Apophysis users encouraged the developer Georg Kiehne to provide updates, which made 7X the most popular and advanced version of Apophysis so far.

Technical details
The user specifies a set of mathematical functions. Each function is a composition of an affine map, and usually some non-linear map. This set of functions is called an iterated function system (IFS). Apophysis then generates the attractor of this set of functions, by means of Monte-Carlo simulation. In fact, Apophysis generates a probability measure, which is then colored according to some rule.

Scripts
Apophysis uses the Scripter Studio scripting library to allow users to write scripts which run and either create a new flame, edit the existing flames, or do bigger tasks. One such instance is rendering an entire batch of fractals.

Plugins
Apophysis supports a plugin API so that new variations can be independently developed and distributed. There are numerous plugins available from the various user communities.