Dragon Curve

The dragon curve is a recursive non-intersecting curve whose name derives from its similarity to a dragon. There are many different types of dragon curves.

Heighway Dragon

The Heighway Dragon was first investigated by physicists at NASA John Heighway, Bruce Banks and William Harter.

The construction of the Heighway Dragon can be written as a Lindenmayer System with

  • Angle 45°
  • Axiom FX (Initial String)
  • String Rewriting rules
    • X —> X+YF+
    • Y —> −FX-Y

where  ‘F‘ means ‘draw forward’, ‘+’ means ‘turn 45° clockwise’, and ‘‘ means ‘turn 45° anticlockwise’. X and Y do not correspond to any drawing action and are only used to control the evolution of the curve. This notation will be used for the rest of the post.

In other words, the Heighway dragon is constructed by replacing a line segment with two segments “with a right angle and with a rotation of  45° alternatively to the right and to the left“.

Recursive construction of the curve


The twindragon can be constructed by joining two Heighway dragon curves back-to-back, so one is rotated by 180°.

It can also be written an a Lindenmayer system by adding another section in the initial string: FX+FX+.


The terdragon was first introduced by Davis and Knuth in a paper on dragon curves in 1970. It can be described by the following Lindenmayer system:

  • Angle 120°
  • Axiom F (Initial String)
  • String rewriting rules
    • FF+F−F

Lévy Dragon

Finally, the Lévy dragon is a curve studied by Paul Lévy as part of a general study of self-similar curves (see Fractals). This was motivated by the work of Helge von Koch and the Koch Curve. It is also known as the Lévy C curve.

Its Lindenmayer system can be described as follows:

  • Angle 120°
  • Axiom F (Initial String)
  • String rewriting rules
    • F ↦ +F–F+

Sources: 1 | 2 | 3 | 4

Happy New Year everyone!! M x


2 thoughts on “Dragon Curve”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s