Iterated function systems or IFSs are a method of constructing fractals which were conceived in their present form by John Hutchinson in 1981 and popularized by Michael Barnsley's book Fractals Everywhere.
IFS fractals as they are normally called can be of any number of dimensions, but are commonly computed and drawn in 2D. An IFS fractal is a solution to a recursive set equation. The fractal is made up of the union of several copies of itself, each copy being transformed by a function (hence "function system"). The canonical example is the Sierpinski gasket. The functions are normally contractive which means they bring points closer together and make shapes smaller. Hence the shape of an IFS fractal is made up of several possibly-overlapping smaller copies of itself, each of which is also made up of copies of itself, ad infinitum. This is the source of its self-similar fractal nature.
Formally, where and
Sometimes each function is required to be linear, or more accurately an affine transformation and hence can be represented by a matrix. However, IFSs may also be built from non-linear functions, including projective transformations and Möbius transformations.
The most common algorithm to compute IFS fractals is called the chaos game. It consists of picking a random point in the plane, then iteratively applying one of the functions chosen at random from the function system and drawing the point. An alternative algorithm is to generate each possible sequence of functions up to a given maximum length, and then to plot the results of applying each of these sequences of functions to an initial point or shape.
Both of these algorithms generate the whole fractal, even the parts that are outside of the screen boundaries. Hence unlike the more common Mandelbrot fractals, you cannot easily zoom into most IFS fractals.
Here is an example of a fern-like image computed using an Iterated function system
The first point drawn is at the origin (x0=0, y0=0) and then the new points are iteratively computed by randomly applying one of the following 4 coordinate transformations:
xn+1=0
yn+1=0.16 yn
This coordinate transformation is chosen 1% of the time and maps any point to a point in the line segment shown in green in the figure.
xn+1=0.2 xn-0.26 yn
yn+1=0.23 xn+0.22 yn+1.6
This coordinate transformation is chosen 7% of the time and maps any point inside the black rectangle to a point inside the red rectangle in the figure.
xn+1=-0.15 xn+0.28 yn
yn+1=0.26 xn+0.24 yn+0.44
This coordinate transformation is chosen 7% of the time and maps any point inside the black rectangle to a point inside the dark blue rectangle in the figure.
xn+1=0.85 xn+0.04 yn
yn+1=-0.04 xn+0.85 yn+1.6
This coordinate transformation is chosen 85% of the time and maps any point inside the black rectangle to a point inside the light blue rectangle in the figure.
The first coordinate transformation draws the stem. The second draws the bottom frond on the left. The third draws the bottom frond on the right. The fourth generates successive copies of the stem and bottom fronds to make the complete fern. The recursive nature of the IFS guarantees that the whole is a larger replica of each frond.
Iteriertes Funktionensystem | Iteratitaj sistemoj de funkcioj | Système de fonctions itérées | Itererande funktionssystem
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Iterated function system".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world