L-systems consist of rewrite rules and have been widely used for plant modeling and simulation. Perhaps surprisingly, there is a direct mapping between the string expansions of a rule system and the visual representation of a plant. An example, using a bracketed L-system, will give an idea of how this works.
The L-system contains one start string
F and rewrite rule:
F --> F [-F] F [+F] F
The start symbol represents the initial plant form; in this case,
F is a single plant limb. The rewrite rule specifies how the symbol on the left of the
—> should be replaced or expanded to create the longer sequence of symbols on the right of the
—>. The rewrite rule replaces
F with the sequence
The visual characterization is obtained by thinking of each
F in the sequence as a limb of the plant. The bracketed notation is viewed as a branch-creation operator; the
- is a rotation to the right for the branch, and the
+ is a left rotation. Consequently, the rewrite of
F[-F]F[+F] can be seen as the plant expansion in Figure 28-6.
Figure 28-6. First rewrite of F
The rewrite rule can be applied again to each
F symbol in the
F[-F]F[+F]sequence, producing a longer sequence. Repeated application of the rewrite rule creates ever larger sequences with more complex plant-like shapes as in Figure 28-7.
Perhaps the richest L-system language is
cpfg, available from http://www.cpsc.ucalgary.ca/Research/bmv/ ...