Paperfolding and the Dragon curve

 

As we have stated earlier, one of the original goals of introducing L-systems was to model growth of various kinds. To do that, we should attach some natural meaning to the formal symbols which are manipulated in the L-system. In this section, we will begin to see how the production rules can have geometric interpretations; the resulting L-systems can produce wonderful geometric objects: various kinds of fractal curves, shapes that mimic the natural world, and tilings of various kinds.

We will start with a very simple L-system:

align381

The generations simply double each time: a, ab, abab, abababab, etc. To a and b, we associate the shapes:

  figure383
Figure 3: a and b triangles

The solid black lines indicate the curve that is drawn. The dotted blue line is for reference. The triangle is an isosceles right triangle. The productions in our L-system now represent a change in the geometry of these configurations. The solid black lines become dotted blue lines, while a solid black curve is drawn along smaller isosceles right triangles along the dotted blue lines. The two new configurations are

  figure390
Figure 4: Production Rules for Dragon Curve

The first four generations of this L-system are displayed below, starting with the a triangle.

  figure397
Figure 5: First Four Generations of Dragon Curve

As we carry out more and more generations, a wildly kinky curve known as the Dragon appears.

  figure404
Figure 6: Dragon Curve Generation 10

We may start to see some beautiful emergent behavior in this dynamical system. The curve apparently loops back to close off many small squares. These squares cluster in a sequence of ``islands,'' each island connected to the next by a single strand. The limiting shape is the dragon fractal:

   figure411
Figure 7: Dragon Fractal

Mandelbrot [Man83] calls this the Harter-Heighway dragon; an extensive discussion of its properties can be found in [Gar67, DK70].

There is a natural dynamical process of ``folding'' at work in the creation of the dragon curves. Start with a rectangular piece of paper which we shall view from the edge. Fold the right half over the left half, with a sharp crease down the middle. Take the folded paper and fold again the same. Continue this folding process for a few more generations. The appearance of the edge is shown on the left side of the figure below. After a number of folds, unfold the paper, and spread each fold to an angle of exactly tex2html_wrap_inline5502 . The resulting edge curve is our dragon. The right half of the figure shows the results for the first few generations.

   figure424
Figure 8: Paperfolding

There is another natural encoding of the dragons that we can see in the pictures. Following the curve from beginning to end, each turn is either to the left or to the right. Thus, each generation of the dragon corresponds to a sequences of L's (lefts) and R's (rights). In the next picture, we show generation 4 with all the turns labelled as L or R.

  figure431
Figure 9: Generation 4 labelled with left and right turns

The corresponding sequences up to generation 4 are listed below.

 

1 fold L
2 folds LLR
3 folds LLRLLRR
4 folds LLRLLRRLLLRRLRR
Table 5: Paperfolding sequences

There is a vague similarity to the Thue-Morse sequence. Indeed, there is a relationship, but it is fairly elaborate to work out; see [DFv82] for more details. The relation with the paperfolding process suggest many interesting variations on the dragon curve. For instance, instead of always folding the right half over the left, we may occasionally fold the left half over the right. Depending on the sequence of paperfolding instructions we get different dragon curves. Strictly alternating left and right folds produces a sequence of L's and R's that arose in a question of analysis (about trigonometric sums) first considered by Rudin and Shapiro (see [Rud59]).


David J. Wright
Mon Aug 19 17:21:15 CDT 1996