Larry Riddle, Agnes Scott College

The boundary of the Heighway dragon is the union of the following 4 self-similar pieces. The last three pieces are scaled and rotated copies of the first (red) piece.

Put them together by clicking on the buttons to the left in sequence

To construct the boundary, start with the following dotted figure (Level 0).

Level 0

Divide the Level 0 boundary into four sets of segments (as shown in color in the figure above) and construct red, blue, orange, and green motifs along these pairs of segments to get Level 1 as shown below.

Level 1

Notice that the four motifs are the same except for scale and how they are rotated. In addition, each motif consists of 3 self-similar parts. For example, the red motif consists of the following three parts.

Now iterate this construction by replacing each of the three parts by copies of that color's motif. Here is Level 2 and Level 3. The dotted lines show the previous level.

Level 2

Level 3

Boundary

Animation

Repeat ad infinitum to construct the entire boundary around the Heighway dragon. Try the animation to see the convergence to each of the four parts of the boundary.

Function

System

To generate the basic motif for the four parts of the boundary as shown above in Level 1 requires three functions for each motif. Each motif will involve the same scaling/rotation matrices. The only difference will be the translations.

Red Boundary:

\({R_1}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{1/2} & { - 1/2} \\
{1/2} & {1/2} \\
\end{array}} \right]{\bf{x}} \) |
scale by \(\frac{1}{\sqrt 2}\), rotate by 45° |

\({R_2}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ - 1/4} & { - 1/4} \\
{1/4} & { -1/4} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1/2 \\
1/2 \\
\end{array}} \right]\) |
scale by \(\frac{1}{2 \sqrt 2}\), rotate by 135° |

\({R_3}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/4} & { 1/4} \\
{-1/4} & { 1/4} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1/2 \\
1/2 \\
\end{array}} \right]\) |
scale by \(\frac{1}{2 \sqrt 2}\), rotate by −45° |

Blue Boundary:

\({B_1}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{1/2} & { - 1/2} \\
{1/2} & {1/2} \\
\end{array}} \right]{\bf{x}} \) |
scale by \(\frac{1}{\sqrt 2}\), rotate by 45° |

\({B_2}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ - 1/4} & { - 1/4} \\
{1/4} & { - 1/4} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1/2 \\
0 \\
\end{array}} \right]\) |
scale by \(\frac{1}{2 \sqrt 2}\), rotate by 135° |

\({B_3}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/4} & {1/4} \\
{-1/4} & { 1/4} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1/2 \\
0 \\
\end{array}} \right]\) |
scale by \(\frac{1}{2 \sqrt 2}\), rotate by −45° |

Orange Boundary:

\({O_1}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{1/2} & { - 1/2} \\
{1/2} & {1/2} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1/2 \\
-1/2 \\
\end{array}} \right]\) |
scale by \(\frac{1}{\sqrt 2}\), rotate by 45° |

\({O_2}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ - 1/4} & { - 1/4} \\
{1/4} & { - 1/4} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1 \\
-1/2 \\
\end{array}} \right]\) |
scale by \(\frac{1}{2 \sqrt 2}\), rotate by 135° |

\({O_3}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/4} & {1/4} \\
{-1/4} & { 1/4} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1/2 \\
0 \\
\end{array}} \right]\) |
scale by \(\frac{1}{2 \sqrt 2}\), rotate by −45° |

Green Boundary:

\({G_1}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{1/2} & { - 1/2} \\
{1/2} & {1/2} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1/2 \\
-1/2 \\
\end{array}} \right]\) |
scale by \(\frac{1}{\sqrt 2}\), rotate by 45° |

\({G_2}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ - 1/4} & { - 1/4} \\
{1/4} & { - 1/4} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1 \\
0 \\
\end{array}} \right]\) |
scale by \(\frac{1}{2 \sqrt 2}\), rotate by 135° |

\({G_3}({\bf{x}}) = \left[ {\begin{array}{*{20}{c}}
{ 1/4} & {1/4} \\
{-1/4} & { 1/4} \\
\end{array}} \right]{\bf{x}} + \left[ {\begin{array}{*{20}{c}}
1/2 \\
1/2 \\
\end{array}} \right]\) |
scale by \(\frac{1}{2 \sqrt 2}\), rotate by −45° |

Dimension

The boundary of the Heighway dragon consists of 4 parts, each of which is self-similar with 2 non-overlapping pieces scaled by \(\frac{1}{2 \sqrt 2}\) and one piece scaled by \(\frac{1}{ \sqrt 2}\). According to Moran's equation, the similarity dimension *d* must satisfy
\[2{\left( {\frac{1}{{2\sqrt 2 }}} \right)^d} + {\left( {\frac{1}{{\sqrt 2 }}} \right)^d} = 1\]
By letting \(x = {\left( {\frac{1}{{\sqrt 2 }}} \right)^d}\) we can rewrite this equation as
\[2{x^3} + x - 1 = 0\]

which has the solution

\[x = \frac{1}{6}{\left( {54 + 6\sqrt {87} } \right)^{1/3}} - \frac{1}{{{{\left( {54 + 6\sqrt {87} } \right)}^{1/3}}}}\]The dimension of the boundary is therefore

\[d = - \frac{{\ln x}}{{\ln \sqrt 2 }} = - \frac{{\ln \left( {\frac{1}{6}{{\left( {54 + 6\sqrt {87} } \right)}^{1/3}} - \frac{1}{{{{\left( {54 + 6\sqrt {87} } \right)}^{1/3}}}}} \right)}}{{\ln \sqrt 2 }} \approx 1.523627\]Properties

The construction of the boundary as described above gives another way to calculate the area of the Heighway dragon. Suppose we start with a figure like Level 0 but for which the length of the bold segment (representing the initial segment for the Heighway dragon) is of length b.
^{2} = a^{2} + (3a)^{2}= 10a^{2}. The area inside the Level 0 boundary is 4a^{2}.

Let a be the length of one of the short sides of Level 0 for the construction of the boundary. Then b

Now consider what happens with the area inside the Level 1 boundary as shown below.

Each of the numbered regions contains the same area inside the boundary and outside the boundary of Level 0. Thus in the iteration from Level 0 to Level 1, the area has increased only by the amount of the shaded region, which is (1/2)a^{2}. The same thing will happen in the iteration from Level 1 to Level 2, except the new shaded region would have a side that has been scaled by \(1/\sqrt 2\). Continuing the iteration and adding the additional area at each new level gives the total area inside the boundary to be

Since a^{2} = b^{2}/10, we get that the area of the Heighway dragon is b^{2}/2. This agrees with the previous area calculation where *b* = 1.

- Angle Chang and Tianrong Zhang. "The Fractal Geometry of the Boundary of Dragon Curves," J. Recreational Mathematics, Vol. 30, No. 1 (1999-2000), 9-22. [Available at http://poignance.coiraweb.com/math/Fractals/Dragon/Bound.html]
- Edgar, Gerald A.
*Measure, Topology, and Fractal Geometry*, Sringer-Verlag, 1990.