Larry Riddle, Agnes Scott College

The Heighway dragon iterated function system:

\({f_1}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{0.5} & { - 0.5} \\
{0.5} & {0.5} \\
\end{array}} \right]{\bf{x}}\) |
scale by r, rotate by 45° |

\({f_2}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ - 0.5} & { - 0.5} \\
{0.5} & { - 0.5} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1 \\
0 \\
\end{array}} \right]\) |
scale by r, rotate by 135°, translate |

Apply each of the geometric steps in the IFS to the Heighway dragon (in black) by clicking on the buttons to the left in sequence.

If H is the set of points in the Heighway dragon, then we have that \[H = {f_1}(H) \cup {f_2}(H)\] which means that H is the union of the two sets obtained by applying the geometric transformation of each function in the IFS to the set H. In addiiton, \({f_1}(H)\) and \({f_2}(H)\) are just scaled versions of H.

Because of this self-similarity, the Heighway dragon can tile itself using four copies of itself, each scaled by 1/2 and rotated either 90° (green), 180° (orange), or 270° (blue), as you can see by tiling the copy in black below using the bottons to the left. Of course, by similarity, each of the four copies can themselves by tiled with even smaller copies of the Heighway dragon.

This works because \(H = {f_1}(H) \cup {f_2}(H)\) implies that \[\begin{align} H &= {f_1}\left( {{f_1}(H) \cup {f_2}(H)} \right) \cup {f_2}\left( {{f_1}(H) \cup {f_2}(H)} \right) \\ &= {f_1}\left( {{f_1}(H)} \right) \cup {f_1}\left( {{f_2}(H)} \right) \cup {f_2}\left( {{f_1}(H)} \right) \cup {f_2}\left( {{f_2}(H)} \right) \\ \end{align}\]

Applying each function twice will scale by \({\left( {\frac{1}{{\sqrt 2 }}} \right)^2} = \frac{1}{2}\). Since f_{1} will rotate by 45°, applying f_{1} twice will rotate by 90°. Similarly, applying f_{1} and f_{2} in either order will rotate by 45°+135° = 180°. Finally, applying f_{2} twice will rotate by 270°.