L Systems with generativepy

Martin McBride, 2020-10-09
Tags l system
Categories generativepy generative art

generativepy has moved to the pythoninformer.com website, and this page might not be up to date. Please visit the new location.

An L System is primarily a way of manipulating strings of characters. It starts with an initial string, and applies a set of rules repeatedly to generate more complex strings.

L Systems were developed by Aristid Lindenmayer, a biologist, to model plant growth. But L Systems can also be used to describe fractals. And, not surprisingly given its origins, it is very good at creating natural looking fractals such as tree and fern like structures.

Although L Systems work on character strings, we can convert them into images by treating each character in the string as a drawing instruction.

The next few articles illustrate how this is done, including:

  • A simple turtle drawing system in generativepy, that helps simplify the drawing of L Systems.
  • Using L Systems to draw simple fractals including the Koch curve.
  • Using L Systems to draw trees including the Barnsley fern.