Iterated Function System

From Theory to Practice
While a dynamical system is all one really needs to create a fractal, this method will only generate basic line art derived from the chaotic path of a point affected by a simple mathematical anomaly (described in greater detail in the Chaos Theory section). Fractal art as it exists today requires something with much more visual fluidity and depth.  Enter the concept of the “IFS” (or “Iterated Function System”).

Shape Iterations
Shape Iteration Example Imagine taking a shape, such as a triangle, and drawing lines that divide it into 4 equal parts, each proportional in shape to the parent shape that contains it.  For each of these 4 smaller triangles, use the same method to divide them into 16 identical smaller triangles, each proportional to each other, as well as to their parent shapes and to their larger grandparent triangle.  Continue this process into oblivion (or, to put it less dramatically, to the point where each shape is so finite in detail that it is no longer perceptible to the human eye).  What you will have done at that point is systematically divided the parent shape to the point where it is perceived as one large, solid triangle.  Each of the shapes you create is considered an “iteration” (or a proportional copy of itself), and the specific action repeated for each shape would be the “function”.
Shape Example 1

Obviously, the steps you took in this process are tediously superfluous if the end result will always be perceived as a solid.  But, what would the end result look like if your function included removing the center-most shape, and this function was repeated for each subsequent iteration?
Shape Example 2

The resulting fractal (and yes, this object is considered a type of “fractal” since the systematic removal of shapes in this process is really just an infinitely duplicated anomaly) is known as a “Sierpinski triangle”, so named for the mathematician, Wacław Sierpiński, who was the first to detail its construction.  This process is not limited to triangles.  Any shape can be subdivided in a similar manner to create interesting fractal patterns (though, admittedly, a circle or ellipse requires a bit more creative finesse).  A program designed to create this type of fractal is called an “iterated function system”, as its purpose is to systematically apply the same identical function within smaller and smaller iterations of itself.

Point Iterations
Pont Iteration Example Point iterations have a place in mathematical history dating back as far as Isaac Newton.   Anyone who has had to graph math problems (such as sine, cosine, and tangent) in school is familiar with the concept, as it is the basis for the process of drawing lines and curves to represent an array of possible answers to a complex equation.  For those of you who have read the Chaos Theory section, you may have noticed a similarity between this system of graphing and the dynamical system of plotting point evolution over time.   This is because a dynamical system is a method of point iteration in and of itself.  The reason it is listed separately here is because the concept of point iterations serves as an apt method of combining the ideas of chaos theory and IFS into a wholly new method of creating fractals.

The fractal pictured below was based on a dynamical system that formed a simple swirl.  Using an IFS that focuses on points instead of shapes, iterations of this swirl were redrawn outward from its own points.  Then additional swirls were drawn from the points of these smaller iterations (in a similar fashion to the way the triangles perpetuated themselves in the previous section, the primary difference being that these iterations build outward instead of inward).  The end result of perpetuating this dynamical system infinitely onto itself by way of an IFS created this interesting seashell-like design.  Obviously the fractal pictured here has undergone some additional tweaking, as the raw, unfiltered result of this process would have appeared as a black smudge.  This particular fractal was generated in a 3D environment in Incendia and several lighting effects were added to create the illusion of depth.  The processes involved in giving color, movement, and visual depth to a fractal are covered in greater detail in the Flame Design section.

Fractal Shell

Now would be a great time to revisit the concept of the “butterfly effect” mentioned in the Chaos Theory section.  Based on this logic, even the slightest degree of adjustment in the fractal script can cause bold changes in the subsequent fractal.  Considering that this base fractal is infinitely perpetuated through an IFS, these changes can have a dramatic effect on the overall results.  Likewise, the slightest adjustment in the function of the IFS itself can be used to create an infinite variety of interesting outcomes as well.  The following three examples are new renders of the above fractal created by arbitrarily changing one or more values in the overall script (which contains the combined logic of the base fractal and the IFS) by only a fraction of an integer.  Notice again how each design is derived from multiple copies of itself along its own structure:
Variant 1
Variant 2
Variant 3
Barnsley's Fern
Image © Copyright Michael Barnsley
Barnsley's Fern
Mathematician and fractal aficionado, Michael Barnsley, is renowned for his revolutionary work in the development of fractal technology.  He is also noted for his extensive discussions and literature on the existence of fractals throughout nature.

Of these, he is probably best known for various versions of his “Barnsley’s Fern”, which has become a classic example of point iteration in fractal design.  This fractal fern is comprised of smaller and smaller copies of itself; a familiar pattern which can also be observed in many ferns existing naturally.