Skip to content

A New Dragon Fractal

Posted in Recriational Math

My students and I have been talking about fractals recently, and specifically exploring how Lindenmayer Systems (L-systems) can be used to generate them.

The Seed

An L-system starts with a string of one or more symbols. For example, the Dragon Curve fractal’s L-system starts with “FX.” It doesn’t really matter what symbols you use, however. “GV” or “*$” would work just as well. You really just need two different symbols.

Replacement Rules

An L-system then provides some replacement rules for generating new strings of symbols. For example, the Dragon Curve’s L-system works by replacing every “X” with “X+YF+,” and every “Y” with “-FX-Y”

You can think of this process as one of growth. The initial string of symbols is a seed, which grows — through multiple cycles of replacement — longer and longer. In the case of the Dragon Curve, “FX” grows into “FX+YF+” (because the “X” in “FX” grows into “X+YF+”).

That then grows into “FX+YF++-FX-YF+ (because the “X” in “FX+YF+” once again grew into an “FX+YF+,” and the “Y” in “FX+YF+” grew into an “-FX-Y”).

Interpretation Rules

In addition to the initial seed and the set of replacement rules, an L-system then provides a set of interpretation rules. That is, it tells you how read the strings of symbols you create as a list of instructions.

In the Dragon Curve’s L-System, the interpretation rules are:

  • “F” means “move forward one step, drawing a line as you go.”
  • “+” means “turn right, 90 degrees”
  • “-” means “turn left, 90 degrees”
  • “X” is ignored
  • “Y” is ignored

The idea is that you imagine that the string of symbols produced by the L-system is actually a set of instructions for a turtle, telling it how to crawl around, when to turn, and when to draw lines or dots (or whatever).

The Result

If you let the Dragon Curve’s L-system string grow long enough, and then give the resulting set of instructions to an artistic turtle, you end up with this:

I believe this is called the “Dragon Curve” because it looks like a Chinese dragon, seen from above. There are too many legs, but I suspect we Westerners might think of Chinese dragons as “many-legged” because of the many legs of the performers in Chinese New Year dragon dance.

A Different Dragon

For reasons that are not entirely clear to me, there is a different fractal that is also called a “dragon”: the or Lévy Dragon/Lévy C Curve:

The image above comes not from the C Curve’s L-system, but from my work on the fractal structure of the number line. Evidently, however, the C Curve also has an L-system representation that is rather simple.

  • Seed: “F”
  • Replacement Rule: “F” becomes “+F–F+”
  • Interpretation Rules:
    • “F” means “move forward one step, drawing a line as you go”
    • “+” and “-” mean “turn left (or right) 45 degrees”

But we’re not here today to talk about that form of dragon curve once again. Instead, we’re here to talk about a new dragon curve — well, one that is new to me — that I happened upon last night.

The Flower Dragon

If you zoom in, this is what the curve looks like:

The L-system for this fractal is a kind of a mixture of that for the Dragon Curve and that for the C curve:

  • Seed: “X”
  • Replacement Rules:
    • “X” becomes “X+FYF+X”
    • “Y” becomes “Y-FXF-Y”
  • Interpretation Rules:
    • “F” means “move forward one step, drawing a line as you go”
    • “+” and “-” mean “turn right (or left) 60 degrees”

Like the C Curve, the replacement strings are palindromes — that is, they are self-symmetrical. For the C Curve, the replacement string is “+F–F+” which “reads the same backwards as forwards” (to quote [?] Monty Python’s “Dead Parrot” sketch). For the Flower Dragon you have “X+FYF+X” and “Y-FXF-Y,” each of which also reads the same backwards as forwards.

For the Dragon Curve, in contrast, the two replacement strings are kind of “inverse symmetrical” to each other. While “X+YF+” is like the mirror image of “-FX-Y,” it flips not only the order of the symbols, but the symbols themselves. That is, for each symbol that has an “opposite” (“+” and “-,” and “X” and “Y”), it replaces that symbol with its opposite.

So, in terms of self-symmetry, the Flower Dragon’s replacement strings are more like the C Curve’s replacement strings. But in terms of what we might call “rule structure,” the Flower Dragon is more similar to the Dragon Curve.

Like the Dragon Curve, the Flower Dragon’s L-system includes two replacement rules, and those replacement rules are for symbols that are not interpreted.

Unlike both, however, the Flower Dragon uses 60 degree turns. The Dragon Curve uses 90 degrees turns, while the C Curve uses 45 degree turns (which add up to 90 degree angles).

Further Work

I haven’t calculated the fractal dimension of the Flower Dragon — or bothered to find out if it already has been given another name by someone else.

But I look forward working with my students to figure out what properties an L-system needs to have in order to produce fractals. Some replacement rule choices and interpretation rule choices “work,” and others don’t.

Be First to Comment

Leave a Reply

Your email address will not be published. Required fields are marked *