Rule-Based Modeling

Single Plants Are “Emerging”

Aristid Lindenmayer’s approach to describing morphological forms of plants using so-called string rewriting systems [117, 118, 119] opened a broad sci­entific field in botany as well as in computer graphics. Text or string rewriting systems are subsets of rule-based systems, which have been analyzed for quite a while as solutions to problems in computer science. In a rule-based system, contrary to a procedural method, a formal rule basis is used to transform an ini­tial state into a final state by applying a number of changes. Often, this provides an extremely compact description for complex final conditions. However, the process of generating geometrical data from a rule set is an elaborate one. Only recently, due to improved computer efficiency, the vast amount of data needed for larger objects can be managed more or less interactively.

In a string rewriting system, rules are used to operate on a string consisting of letters of a certain alphabet. The rules hereby generally increase the length of the string. To produce plant geometry, the characters of the string are graphi­cally interpreted using a so-called turtle metaphor. Many aspects of rule-based modeling, in particular the use of the Lindenmayer systems for the production of plant geometry, are examined more thoroughly in Prusinkiewicz and Linden­mayer’s book “The Algorithmic Beauty of Plants”[166], a classic in computer graphics.

Along with string rewriting, there are also other representational forms for rule – based systems. Thus, after introducing the Lindenmayer systems we will dis­cuss iterated function systems, whose “rule-systems” are sets of affine trans­formations that are applied to a given point set. The result, in this case, is a set of points that, provided there is an appropriate parameterization, is an image of a natural object, and thus not its geometry.

Graphs with appropriate processing methods can also describe rule systems. The so-called object instancing paradigm, for example, permits the creation of a subset of the Lindenmayer systems as well as the synthesis of a subset of iterated function systems over graphs. The object instancing is an important preliminary stage for the rule-based object production that will be described in the next chapter. Finally, we will introduce another system that constructs a so-

called CSG graph[4] using Lindenmayer systems; the graph is then used to create geometry. This method extends the idea of the graph-based representation of geometry.