Classic Iterated Function Systems

Larry Riddle, Agnes Scott College

Different Versions of the Heighway Dragon

The Heighway dragon now appears in different horizontal and vertical orientations depending on how it is drawn.

Scaling factor \(r = \frac{1}{\sqrt 2}\)

This website's version

First 2 iterations Dragon IFS
 website horizontal iterations  website horizontal dragon \({f_1}({\bf{x}}) = \left[ {\begin{array}{cc} {1/2} & { - 1/2} \\ {1/2} & {1/2} \\ \end{array}} \right]{\bf{x}}\)
scale by $r$, rotate by 45
\({f_2}({\bf{x}}) = \left[ {\begin{array}{cc} { - 1/2} & { - 1/2} \\ {1/2} & { - 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 1 \\ 0 \\ \end{array}} \right]\)
scale by $r$, rotate by 135
 webstie vertical iterations  website vertical dragon \({f_1}({\bf{x}}) = \left[ {\begin{array}{cc} {1/2} & { - 1/2} \\ {1/2} & {1/2} \\ \end{array}} \right]{\bf{x}}\)
scale by $r$, rotate by 45
\({f_2}({\bf{x}}) = \left[ {\begin{array}{cc} { - 1/2} & { - 1/2} \\ {1/2} & { - 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 0 \\ 1 \\ \end{array}} \right]\)
scale by $r$, rotate by 135

William Harter's booklet cover

First 2 iterations Dragon IFS
 Harter horizontal iterations  Harter horizontal dragon \({f_1}({\bf{x}}) = \left[ {\begin{array}{cc} { - 1/2} & { -1/2} \\ {1/2} & { - 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 1/2 \\ -1/2 \\ \end{array}} \right]\)
scale by $r$, rotate by 135
\({f_2}({\bf{x}}) = \left[ {\begin{array}{cc} { 1/2} & { -1/2} \\ {1/2} & { 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 1/2 \\ -1/2 \\ \end{array}} \right]\)
scale by $r$, rotate by 45
 Harter vertical iterations  Harter vertical dragon \({f_1}({\bf{x}}) = \left[ {\begin{array}{cc} { - 1/2} & { -1/2} \\ {1/2} & { - 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 1/2 \\ 1/2 \\ \end{array}} \right]\)
scale by $r$, rotate by 135
\({f_2}({\bf{x}}) = \left[ {\begin{array}{cc} { 1/2} & { -1/2} \\ {1/2} & { 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 1/2 \\ 1/2 \\ \end{array}} \right]\)
scale by $r$, rotate by 45

Martin Gardner's Mathematical Games column

First 2 iterations Dragon IFS
 Gardner horizontal iterations  Gardner horizontal dragon \({f_1}({\bf{x}}) = \left[ {\begin{array}{cc} {1/2} & { 1/2} \\ {-1/2} & {1/2} \\ \end{array}} \right]{\bf{x}}\)
scale by $r$, rotate by −45°
\({f_2}({\bf{x}}) = \left[ {\begin{array}{cc} { - 1/2} & { 1/2} \\ {-1/2} & { - 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 1 \\ 0 \\ \end{array}} \right]\)
scale by $r$, rotate by −135°
 Gardner vertical iterations  Gardner vertical dragon \({f_1}({\bf{x}}) = \left[ {\begin{array}{cc} {1/2} & { 1/2} \\ {-1/2} & {1/2} \\ \end{array}} \right]{\bf{x}}\)
scale by $r$, rotate by −45°
\({f_2}({\bf{x}}) = \left[ {\begin{array}{cc} { - 1/2} & { 1/2} \\ {-1/2} & { - 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 0 \\ 1 \\ \end{array}} \right]\)
scale by $r$, rotate by −135°

Donald Knuth-Chandler Davis article

First 2 iterations Dragon IFS
 Knuth-Davis horizontal iterations  Knuth-Davis horizontal dragon \({f_1}({\bf{x}}) = \left[ {\begin{array}{cc} { - 1/2} & { 1/2} \\ {-1/2} & { - 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 1/2 \\ 1/2 \\ \end{array}} \right]\)
scale by $r$, rotate by −135°
\({f_2}({\bf{x}}) = \left[ {\begin{array}{cc} { 1/2} & { 1/2} \\ {-1/2} & { 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} 1/2 \\ 1/2 \\ \end{array}} \right]\)
scale by $r$, rotate by −45°
 Knuth-Davis vertical iterations  Knuth-Davis vertical dragon \({f_1}({\bf{x}}) = \left[ {\begin{array}{cc} { - 1/2} & { 1/2} \\ {-1/2} & { - 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} -1/2 \\ 1/2 \\ \end{array}} \right]\)
scale by $r$, rotate by −135°
\({f_2}({\bf{x}}) = \left[ {\begin{array}{*{20}{cc}} { 1/2} & { 1/2} \\ {-1/2} & { 1/2} \\ \end{array}} \right]{\bf{x}} + \left[ {\begin{array}{c} -1/2 \\ 1/2 \\ \end{array}} \right]\)
scale by $r$, rotate by −45°

Michael Creighton's Jurassic Park novel

Each of the seven "chapters" of Jurassic Park starts with an iteration of the Heighway dragon (and a quotation from Ian Malcolm, the mathematician in the novel). The first three are in a vertical orientation and the last four are in a horizontal orientation.

First Iteration
Second Iteration
Third Iteration
Fourth Iteration
Fifth Iteration
Sixth Iteration
Seventh Iteration

These actually come from a mixture of three different iterated function systems! The First Iteration is the 4th iterate of this website's IFS with adjusted translation vectors to make it vertical rather than horizontal. The Second Iteration and the Third Iteration are the 5th and 6th iterates, respectively, of the IFS corresponding to the William Harter's booklet cover, again with adjusted translation vectors to make them vertical. And finally, the Fourth through Seventh Iterations are, respectively, the 8th, 10th, 12th, and 14th iterates of the IFS for the version of the dragon from the Knuth-Davis article.

References

  1. Crichton, Michael. Jurassic Park, Ballantine Books, New York 1990.
  2. Davis, Chandler and Donald J. Knuth. "Number representations and dragon curves" J. Recreational Math. 3 (1970) 66-81 (Part 1), 133-149 (Part 2). Reprinted with extra addendum in Selected Papers on Fun and Games, Donald Knuth, CSLI Publications, 2011.
  3. Gardner, Martin. "Mathematical Games," Scientific American, March, April, July, 1967. Also shows a copy of the cover design by William Harter for a booklet he used for a seminar on group theory at NASA's Lewis Research Center. [Reprinted in his Mathematical Magic Show, Knopf, 1977]