L-systems are extremely simple algorithms: Visualize a turtle moving a distance d straight forward. At the end of its journey it produces two offspring, one branching of slightly to the left and the second branching off slightly to the right, and both traveling a 10% shorter distance. Once the offspring reach their destination each creates two offspring which branch off slightly to the left and slightly to the right and move straight ahead a distance which is only 10% shorter than that of their parents. This process is repeated for 7 generations. Figure 1 shows the trails of the turtles. The trails form a ramified structure, a turtle graph, which resembles the branching structure of trees and weeds. Figure 2 is an example for the branching pattern of a weed. Compared to the branching patterns of plants, turtle graphs appear too regular. However if the length of the trails of the offspring is randomized by 50% and some turtles produce only one offspring or none, then the turtle graphs a surprisingly similar to plant structures. Figure 1 contains a turtle graph where offspring are produced with a 90% probability. To illustrate that the code is very short and simple, we show a MatLabTM version in Table 1.
[1]
Kunihiko Kaneko.
Life as complex systems: viewpoint from intra-inter dynamics
,
1998
.
[2]
Michael F. Barnsley,et al.
Fractals everywhere
,
1988
.
[3]
A. Lindenmayer.
Mathematical models for cellular interactions in development. I. Filaments with one-sided inputs.
,
1968,
Journal of theoretical biology.
[4]
Gregory Hornby,et al.
Modularity, reuse, and hierarchy: Measuring complexity by measuring structure and organization
,
2007,
Complex..
[5]
Cheng-Yuan Liou,et al.
Modeling complexity in musical rhythm
,
2007,
Complex..
[6]
Roger Strand,et al.
Can agent-based models assist decisions on large-scale practical problems? A philosophical analysis
,
2000,
Complex..
[7]
Przemyslaw Prusinkiewicz,et al.
The Algorithmic Beauty of Plants-The Virtual Laboratory
,
1990
.