Branching Structures
For the modeling of branching structures, L-systems have to be extended. The processing of the string sequence is now accomplished by means of a so-called pushdown automaton. This method contains the possibility to store, and at another time again to recall the state of the turtle in a stack. This occurs in such a way that the last stored state is always the first to be read.
In order to implement a pushdown automaton during evaluation of a string produced by an L-system, the current state of the system (x, y, a) must be stored by means of the appropriate stack data structure, and it must also be loadable again. In the text, these operations are represented by two new characters:
[ store current state (x, y, a) on the stack
] load state (x, y, a) from stack
The use of a pushdown automaton for branching systems has the advantage that the state of the turtle can be stored before a branching, and after the associated subtree has been drawn it can easily be reloaded again.
Chapter 5 Additionally, for modeling branching structures the L-systems operate on an Rule-Based Modeling extension of the so-far used alphabet V = {F, f, +, -,a,[, ]} by adding more
characters that are used for the expansion but, however, are ignored in the graphical interpretation; n is again the number of replacement steps.
Part |
n |
5 |
P |
|
(a) |
5 |
25.7° |
F |
F ::= F[+F]F[-F]F |
(b) |
4 |
22.5° |
F |
F ::= FF - [-F + F + F] + [+F - F - F] |
(c) |
7 |
25.7° |
X |
X ::= F[+X][-X]FX, F ::= FF |
(d) |
5 |
22.5° |
X |
X ::= F[[X] - X]F[+FX] - X, F ::= FF |
The systems shown in Fig. 5.3 are generated by two different production methods. The systems in parts (a) and (b) result from expansion of the edges (commands F). This is recognized by the fact that in the corresponding productions an F is replaced by a branching. The systems in parts (c) and (d) use the extra letter X that does not have a graphic meaning; it can be interpreted as a node from which a branching evolves.
When analyzing the systems, a problem connected with L-systems becomes evident: their relatively abstract specification. The differences in the forms of the modeled shrubs can not be recognized in the rule systems. Therefore, not only is it difficult to model a specific, given form with an L-system, but it also requires a lot of experience. A further complication is the local modeling methodology, which L-systems indeed also share with some procedural methods. The total form of a plant is determined here using local angles and distances. Small alterations of these parameters can dramatically modify the total shape of a plant.