Agnes Scott College
Larry Riddle, Agnes Scott College

Symmetric Fractals


In Symmetry in Chaos: A Search for Pattern in Mathematics, Art and Nature, Michael Field and Martin Golubitsky introduced the idea of a symmetric fractal generated from a single affine transformation combined with elements of a cyclic group Zn or a dihedral group Dn. Their method applies equally well to an iterated function system as it does to a single affine transformation.

The group Zn consists of the rotational symmetries of a regular n-sided polygon. We can let the n elements of Zn be represented by counterclockwise rotations about the origin (which corresponds to the center of the polygon) through angles that are integer multiples of 360°/n. The group Dn consists of all 2n symmetries of a regular n-sided polygon. These are the n rotations in Zn and the reflections about n lines through the origin and a vertex or midpoint of a side. The following figure shows the symmetry reflections for an equilateral triangle (D3) and a square (D4) which are representative of what happens with regular polygons with odd and even number of vertices, respectively.


An exception is D2 since there is no regular polygon with 2 sides. The group D2 is known as the Klein four-group with the four elements being the identity, a vertical reflection, a horizontal reflection, and a 180° rotation.

Let H be a set of k affine transformations in an iterated function system. Let G be a cyclic symmetry group or dihedral group of n elements. We can form a new set of functions by composing each of the symmetries in G with each of the functions in H to form the set F = {fi : 1 ≤ r ≤ m=kn} where each fr = g ο h for some g in G and some h in H. Since each affine contraction in H consists of rotations, scaling, and translations, each g ο h is again an affine contraction. Therefore F will be an iterated function system with a unique attractor B.

We know that the attractor B satisfies \[B = f_1(B) \cup f_2(B) \cup f_3(B) \cup \cdots \cup f_m(B)\] If g is one of the symmetries in the group G, then \[g(B) = g \circ f_1(B) \cup g \circ f_2(B) \cup g \circ f_3(B) \cup \cdots \cup g \circ f_m(B)\] Now \(g \circ f_r = g \circ g_i \circ h_j\) for some \(g_i\) in G and some \(h_j\) in H. Since applying g to each of the elements of G will just permute the elements of G , the collection \(g \circ f_r\) will consist of the same set of functions as in F. This means that the union of sets that make up g(B) is the same union that gives B, and therefore g(B) = B. Therefore the attractor B shares all the symmetries of the group G. See an example with D4.

Pixel Coloring

One of the methods for generating the attractor of an iterated function system on a computer is the random algorithm, also known as the "chaos game." First we choose an initial point \(x_0\) in the attractor. Then we choose a function \(f\) from the IFS at random (with a certain probability), and then we plot \(x_1 = f(x_0)\). This point is guaranteed to lie in the attractor. Next, we choose a function from the IFS again, apply it to \(x_1\), and obtain another point in the attractor, \(x_2\). This process of randomly choosing one of the functions, applying it to the last point plotted, then plotting the new point, is repeated millions of times. The sequence of points plotted this way will fill out the IFS's attractor. In fact, it is not really necessary to start with an initial point that actually lies in the attractor. Any initial point will suffice as long as you wait long enough during the iterative construction before starting to plot the computed points. This allows time for the sequence of transient points to converge towards the attractor set before the plotting begins.

Of course, even the highest resolution computer screen has only finitely many pixels. A single pixel can represent infinitely many points in the attractor. One possible coloring scheme for the random algorithm, therefore, is to color a pixel based on how many points in the random sequence land in that pixel. The next figure shows an image of the symmetric fractal obtained by composing the two elements of Z2 with the two functions in the Heighway dragon IFS, along with the color gradient that shows the colors assigned to pixels depending on the number of times they were drawn during the random algorithm. We colored golden yellow, shading to bright orange, if the pixel count was between 1 and 5. Between a pixel count of 5 and 150 there is a gradient range going from bright orange to a pale orange. Any pixel hit more than 150 times was plotted as if the count had been exactly 150.


Some experimentation is usually needed to find a good color gradient and corresponding pixel counts depending on the size of the final image, the resolution of the computer screen, the number of points to be plotted, and even the probabilities assigned to the functions in the IFS. But an appropriate choice helps to vividly illustrate the symmetry of the attractor.


(Click for larger view)

Iterated Function System

Symmetry Group


heighwayZ2small Heighway Dragon Z2 [Details]
goldenZ2small Golden Dragon Z2 [Details]
KochD2small Koch Curve D2  
KochZ4small Koch Curve Z4  
KochZ4small Koch Curve D4  
sierTriZ3small Sierpinski Triangle Z3  
SBT45Z4small 45° Binary Tree Z4  
Z4symmetricBinaryTreeWith3IterationsSmall 45° Binary Tree Z4  
Z5symmetrySmall Single affine map
scaling: 0.5
rotation: 180°
translation: \(\left(\frac{1}{2},\frac{\sqrt{3}}{2}\right)\)



  1. Michael Field and Martin Golubitsky, "Symmetric Fractals" (chapter 7) in Symmetry in Chaos: A Search for Pattern in Mathematics, Art and Nature, Oxford University Press (Edition 1, 1992/1995) and Siam (Edition 2, 2009) [see Preview at Google Books].
  2. Larry Riddle, "Creating Symmetric Fractals," Math Horizons, November 2016, p18-21.