|
L-systems, or Lindenmeyer systems, create models based on short strings of text. They are used mainly for imitating biological forms with repeated parts, such as weeds and shrimp. Here is a simple example of an l-system and the model it describes:
| 6 | |
| A=[+(45)'(.5)FA][-(45)'(.5)FA] | |
Let's examine it piece by piece. The model called "A" has two branches, one created in each set of brackets. In the first bracket, +(45) means turn left 45 degrees. The apostrophe (') means change size, becoming half (.5 times) as big as before. F means move forward one step. Then we have A again, the same A that is being defined here. So one of the steps in drawing A is to draw A again, only half as big. The first line of this l-system, the number 6, tells how many times the process should be repeated, or the recursion level. This repeating pattern is called a fractal.
It's easy to see how similar instructions might be encoded in the genes of the organism that an l-system is emulating. Simple plants like ferns can be modeled very accurately. More complex animals and plants seem to have a simple underlying plan which could be specified by an l-system, but each repetition is modified for specialized purposes. For example, a lobster has many repeated body segments, each with a pair of legs hanging down beneath the carapace. In some of the segments, these legs are small and flat for swimming. In the tail, they have become so wide and flat they don't resemble legs at all. One pair of legs are greatly enlarged to make the pincers. A few pairs are very small in the front of the head, forming the mouthparts. In mammals, the only trace of this underlying repetition can be seen in the backbone, ribs, and abdominal muscles.
L-systems can be extended in various ways. Here is a tree I created that responds to gravity, so that the limbs bend toward the ground.
| |