L-systems (developed by Lindenmayer) are iterative techniques based on "rewriting rules"; they provide a concise description of self-similar objects that are found in nature (certain plants and simple animals), and - at a more theoretical level - fractals. Even the simplest descriptions are capable of producing plant-like structures, and this demonstration shows a few examples.

One of the simpler cases included here is the Koch curve. Take a straight line and replace the middle third by two edges of an equilateral triangle. Now repeat the process for each of the four line segments, and then once again, and so on. This procedure can be described symbolically as "F -> F+F--F+F" where F denotes a straight line segment, and + and - denote left and right 60 degree turns. This an example of a rewriting rule in which F is replaced by something else, where the replacement F also denotes a straight line but now of reduced length. More intricate systems involve multiple rules and larger vocabularies used to specify more complex tasks.

The user can select from a range of examples and pick the number of iterations (larger numbers require more computation). Other parameters in some of the examples (one or two turn angles, and the reduction factor governing the length scales of successive iterations) can be changed, leading to variations in the observed behavior.

(c)   D. Rapaport