Larry Riddle, Agnes Scott College

### Dihedral Group and Triangle Fractals

#### Dihedral Group

The six transformations of an equilateral triangle shown below form a finite group called the dihedral group of order 6. Transformations 2 and 3 are counterclockwise rotations by 120° and 240°, respectively. Transformations 4, 5, and 6 are reflections across the altitudes through the top, right, and left vertices, respectively.

The following table shows the result of combining one transformation with another. The one down the rows is done first, followed by the one across the columns. If we call the transformations Tn for n = 1, 2, 3, 4, 5, 6, then the table shows the result of the composition Tc•Tr, where r and c denote row and column.

$\begin{array}{*{20}{c}} {} & {\begin{array}{*{20}{c}} 1 & 2 & 3 & 4 & 5 & 6 \\ \end{array} } \\ {\begin{array}{*{20}{c}} 1 \\ 2 \\ 3 \\ 4 \\ 5 \\ 6 \\ \end{array} } & {\boxed{\begin{array}{*{20}{c}} 1 & 2 & 3 & 4 & 5 & 6 \\ 2 & 3 & 1 & 6 & 4 & 5 \\ 3 & 1 & 2 & 5 & 6 & 4 \\ 4 & 5 & 6 & 1 & 2 & 3 \\ 5 & 6 & 4 & 3 & 1 & 2 \\ 6 & 4 & 5 & 2 & 3 & 1 \\ \end{array} }} \\ \end{array}$

So, for example, applying a reflection across the right corner of an equilateral triangle (#5) followed by a rotation by 120° (#2) is the same as doing a reflection of the triangle across the left corner (#6), as illustrated below. Hence T6 = T2•T5. Note that the composition order is not commutative, i.e. the order in which you do the operations is important.

In fact, you only need transformations 2 (rotation by 120°) and 4 (reflection across a vertical line) to generate the other three non-identity transformations:

to get transformation 3, repeat transformation 2 twice: T3 = T2•T2
to get transformation 5, do reflection 4 then rotation 2: T5 = T2•T4
to get transformation 6, do rotation 2 then reflection 4: T6 = T4•T2

This means that the functions in an iterated function system based on these types of triangle fractals can be generated by a combination of scaling by 1/2, rotating by 120°, and a vertical reflection. Well, except you must always remember to include the extra 180° rotation for the "middle" triangle.

#### IteratedFunctionSystem

As an example, consider the triangle fractal 253. We will take the initial set to be an equilateral triangle with vertices at the origin and (1,0).

The first function must scale by 1/2 and rotate by 120°. As the figure below shows, the triangle must also be translated 1/2 to the right.

\begin{aligned} {f_1}({\mathbf{x}}) &= \left[ {\begin{array}{*{20}{c}} {\cos {{(120)}^ \circ }} & { - \sin {{(120)}^ \circ }} \\ {\sin {{(120)}^ \circ }} & {\cos {{(120)}^ \circ }} \\ \end{array} } \right]\left[ {\begin{array}{*{20}{c}} {1/2} & 0 \\ 0 & {1/2} \\ \end{array} } \right]{\mathbf{x}} + \left[ {\begin{array}{*{20}{c}} {1/2} \\ {0} \\ \end{array} } \right] \\ &= \left[ {\begin{array}{*{20}{c}} { - 1/4} & {-\sqrt 3 /4} \\ { \sqrt 3 /4} & { - 1/4} \\ \end{array} } \right]{\mathbf{x}} + \left[ {\begin{array}{*{20}{c}} {1/2} \\ {0} \\ \end{array} } \right] \\ \end{aligned}

The second function must scale by 1/2, followed by a reflection across the vertical axis, and then a rotation by 120°. But because this is the middle triangle, the function must also do a rotation by 180°. As the figure below shows, this must then by followed by a translation by 1/2 to the right.

\begin{aligned} {f_2}({\mathbf{x}}) &= \left[ {\begin{array}{*{20}{c}} { - 1} & 0 \\ 0 & { - 1} \\ \end{array} } \right]\left[ {\begin{array}{*{20}{c}} {\cos {{(120)}^ \circ }} & { - \sin {{(120)}^ \circ }} \\ {\sin {{(120)}^ \circ }} & {\cos {{(120)}^ \circ }} \\ \end{array} } \right]\left[ {\begin{array}{*{20}{c}} { - 1} & 0 \\ 0 & 1 \\ \end{array} } \right]\left[ {\begin{array}{*{20}{c}} {1/2} & 0 \\ 0 & {1/2} \\ \end{array} } \right]{\mathbf{x}} + \left[ {\begin{array}{*{20}{c}} {1/2} \\ 0 \\ \end{array} } \right] \\ &= \left[ {\begin{array}{*{20}{c}} {-1/4} & {\sqrt 3 /4} \\ {\sqrt 3 /4} & { 1/4} \\ \end{array} } \right]{\mathbf{x}} + \left[ {\begin{array}{*{20}{c}} {1/2} \\ 0 \\ \end{array} } \right] \\ \end{aligned}

The third function must scale by 1/2, then do two rotations by 120° (for a total rotation of 240°). The top of the scaled triangle must then be translated to the midpoint of the right side of the original triangle.

\begin{aligned} {f_3}({\mathbf{x}}) &= \left[ {\begin{array}{*{20}{c}} {\cos {{(240)}^ \circ }} & { - \sin {{(240)}^ \circ }} \\ {\sin {{(240)}^ \circ }} & {\cos {{(240)}^ \circ }} \\ \end{array} } \right]\left[ {\begin{array}{*{20}{c}} {1/2} & 0 \\ 0 & {1/2} \\ \end{array} } \right]{\mathbf{x}} + \left[ {\begin{array}{*{20}{c}} {3/4} \\ {\sqrt 3 /4} \\ \end{array} } \right] \\ &= \left[ {\begin{array}{*{20}{c}} { - 1/4} & {\sqrt 3 /4} \\ { - \sqrt 3 /4} & { - 1/4} \\ \end{array} } \right]{\mathbf{x}} + \left[ {\begin{array}{*{20}{c}} {3/4} \\ {\sqrt 3 /4} \\ \end{array} } \right] \\ \end{aligned}

This IFS produces the following triangle fractal.