The L-systems introduced so far are deterministic, and thus always produce the same branching structures. In order to replicate the variability of nature, probabilistic influences must be brought into the produced structures. This can be achieved, for example, by means of variation of parameters such as the

deviation angle 6. In this way, however, only geometrical characteristics of the models are modified. In order to modify the topological characteristics, the application of rules must occur at random.

In this procedure, P defines several rules with the same left side ф. Additionally, as already shown at the beginning, per rule an application probability is given. Using a random generator, the text of the rule is applied, according to its probability, during expansion.

Additionally, in a parametric L-system all parameters can be modified dynamically during expansion. The commands are defined for this step in parameterized form, whereby per instruction one or more parameters are used. The parameters are summarized in the parameter vector w, their meaning depends on the application.

On the right side of each rule, the parameters in the numeric expressions can be used for the computation of new parameter values. The instructions in parameterized form, also called modules, have the following forms:

F(w) Move turtle at d(w) in current direction, draw line:

(x, y, z, M) ^ (x + (Md(w))i, y + (Md(w))2, z + (Md(w))s, M)

f(w) Move turtle at d(w) in current direction, without drawing line:

(x, y, z, M) ^ (x + (Md(w))i, y + (Md(w))2, z + (Md(w))s, M)

&(w) Increase angle in terms of lateral axis at w:

(x, y, z, M) ^ (x, y, z, M • Rx(w))

+(w) Increase angle in terms of the vertical axis at w:

(x, y, z, M) ^ (x, y, z, M • Ry (w))

(w) Increase angle in terms of roll axis (longitude) at w:

(x, y, z, M) ^ (x, y, z, M • Rz(w))

The reduction of the angles is made possible by negative values for w, which make some commands redundant. A simple example produces an abstract, binary tree:

Let n =10, 6 = 85°, and R = 1.456, a constant selected to be slightly above V2, and use the axiom w = A(1). Using the production

A(S)::= F (s)[+A(s/R)][-A(s/R)]

a tree can be constructed successively. In Fig. 5.6 the result is presented, where the angle 6 ensures that the tree is not developed in a right-angled way and the constant R limits the size of the subtrees in such a way that the branches just do not overlap.

Parametric L-systems are also Prusinkiewicz and Lindenmayer’s answer in response to the assertion of Honda as well as that of Aono and Kunii (see also Sect. 4.3). Both stated at the beginning of the 1980s that complex trees can not

Figure 5.6 Binary tree, generated using a parameterized L-system

be produced using L-systems. In Fig. 5.7a-b two trees can be seen that replicate the branching mechanism of Honda using parametric L-systems; in Fig. 5.7c the method of Aono and Kunii is copied; in (d) an additional branching structure is shown.

Figure 5.7

Branching structures, generated using parameterized L-systems (Courtesy of P. Prusinkiewicz) (a) (b)

We now turn to a further modeling option that is offered through L-systems: the production of context-sensitive structures. This method is needed particularly for the reproduction of spatial and temporal signal processes, and is a powerful aid for the construction of complex systems.