Agnes Scott College
Larry Riddle, Agnes Scott College

Heighway Dragon Similarity

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 f1 will rotate by 45°, applying f1 twice will rotate by 90°. Similarly, applying f1 and f2 in either order will rotate by 45°+135° = 180°. Finally, applying f2 twice will rotate by 270°.