Sections  Introduction  Emergence  Complexity  Chaos Thoery  Cellular Automata  Life Forms  Neural Networks   Evolution  L systesm  Uses people.htmlBooks Links about this site Site Index  Front Page
Stewart Dean's Guide to Artificial Life

L-systems - The systems of growth.

Natural growth can often be seen to be fractal in nature. Nearly all plants can be seen to be formed out of an iterative pattern of branches that reduce with each iteration. Plant such as ferns can be easily modeled on a computer and by adaptation of the rules other types of plants can be modeled. The branch of fractals that concentrate on the emulation of natural growth is called L-systems.

L-systems were devised from cellular automata by a Dutch biologist called Arstid Lindenmayer (that's what the L stands for). An L-system consists of four elements, a start point, a set of rules or syntax, constants and variables. An L-system can be seen growing other time, unlike most fractals. It is possible to reproduce the growing of a plant over time and, by specifying varying start points and different growth time, produce natural diversity, after all, no two plants are ever the same.

To illustrate the working of L-systems is best to give a simple one dimensional example. Here are the parts needed:

 variables:   A  B constants:   none     start:   A          rules:   A -> B              B -> AB
Each pass through the system the rules are applied. B -> AB means that where there is a B replace it with AB. So in effect what you end with is a string that grows like this:
     Stage 0 : A     Stage 1 : B     Stage 2 : AB     Stage 3 : BAB     Stage 4 : ABBAB     Stage 5 : BABABBAB     Stage 6 : ABBABBABABBAB     Stage 7 : BABABBABABBABBABABBAB 
To turn this into a visible growth system the abstract letters need to be turned into commands. The usual approach is to turn these commands into Turtle graphic commands. Turtle Graphic commands are used much in the teaching of programming to children and has been used in electronic kids toys such as BigTrak. The principle is you have a pointer, or a turtle if you like. You tell the turtle which way to turn and how far to travel, usually in two dimensions. Add to these instructions about whether to draw as it travels and patterns can be produced.

L-systems therefore grow by rewriting the code that produces the shape. Because of the rules the shape is self similar, that is one part of a plant may be much like another part only scaled down. As the rules repeat scaling occurs due to feed back.

Please send any corrections, comments or additions to: alife(at)stewdean(dot)com

 back a bit  next bit