Iterated function systems are methods of generating fractals that are self-similar via transformation and scaling of each element through each iteration. Here I am showing nine popular examples of iterated function system fractals. Each fractal has a slider bar that controls the iteration level. The visualizations were made using D3.js/JavaScript. The iteration levels were calculated using recursion and good old-fashioned linear algebra.

Begin with a single line segment. Each iteration transforms the middle third of each line segment into two equal-length lines that are rotated by 60°.

Same rules as for the Koch Curve, but starting with a triangle. Produces a snowflake-like shape.

Similar to the Koch Curve, except the angle of rotation is greater than 60° and less than 90°. Here, the angle of rotation is 85°.

Begin with a single line segment. Each iteration transforms each line segment into two lines with length scaled by 1/√2 and rotated by 45° in a symmetric fashion.

Similar to the Lévy Dragon, but each line segment has asymmetrical rotation compared to the segment before it.

Begin with a triangle. For each triangle in each iteration, subtract a triangle formed by connecting the midpoint of each line segment.

Begin with a square. The first iteration subtracts a square in the middle third of the original square. Each further iteration divides the remaining area into squares and subtracts the middle third of each square.

Begin with a vertical line segment. Each iteration produces symmetrical branching by angle θ and length scaled by r. Here, θ is 30° and r is 0.7.

Begin with a line segment. For each iteration, create and translate two line segments that represent the first and last third of each existing line segment.