💾 Archived View for tilde.team › ~smokey › fractal_compendium › faq › iterated-function-systems.gmi captured on 2022-07-16 at 15:24:31. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
If a fractal is self-similar, you can specify mappings that map the whole onto the parts. Iteration of these mappings will result in convergence to the fractal attractor. An IFS consists of a collection of these (usually affine) mappings. If a fractal can be described by a small number of mappings, the IFS is a very compact description of the fractal. An iterated function system is By taking a point and repeatedly applying these mappings you end up with a collection of points on the fractal. In other words, instead of a single mapping x -> F(x), there is a collection of (usually affine) mappings, and random selection chooses which mapping is used.
For instance, the Sierpinski triangle can be decomposed into three self-similar subtriangles. The three contractive mappings from the full triangle onto the subtriangles forms an IFS. These mappings will be of the form "shrink by half and move to the top, left, or right".
Iterated function systems can be used to make things such as fractal ferns and trees and are also used in fractal image compression. _Fractals Everywhere_ by Barnsley is mostly about iterated function systems.
The simplest algorithm to display an IFS is to pick a starting point, randomly select one of the mappings, apply it to generate a new point, plot the new point, and repeat with the new point. The displayed points will rapidly converge to the attractor of the IFS.