The previous chapter demonstrated that rule-based procedures are a very powerful method for the production of a variety of plants. Nevertheless, there are many alternative modeling procedures. On one hand, this is due to the wide range of modeling requirements; on the other hand, it is because the controlling mechanisms of the L-systems are not very intuitive. Even for an experienced user, the rendering of a specific plant is a cumbersome process. The recent developments in the L-system methodology seem to somewhat lessen this problem; however, an efficient system practical for all users has not yet been developed.
Procedural methods display the exact opposite characteristics: although usually only a very limited number of plants can be modeled, the handling of the procedures and their parameterization is straightforward and intuitive with such a method.
A combination of the two approaches should combine the intuitiveness of procedural modeling with the power of rule-based methods. In fact, the Xfrog modeling system [40, 41, 121, 122] successfully implemented this specific combinatorial approach on the basis of so-called rule-based object production.
Here a plant is represented by the combination of components. The components generate parts of the plant’s geometry, such as leaves, stems or simple geometric primitives, by using procedural methods. Multiplication components multiply the generated geometry of other components, and, in this sense, implement a rule-based system (see below). Another type of component is used for global modeling. The user can trigger the parameters of the individual components using special graphical user interfaces.
For instance, the component for modeling leaves uses a polygonal curve to specify the outline of the leaves. The vertical and longitudinal curvature can be adjusted using sliding controls along the leaf axes. This type of interface was one inspiration for the recently presented interactive editing possibilities for L-systems, which were introduced in Sect. 5.10.
In many cases, parts of a plant must be distributed algorithmically. A classical example is again the arrangement of the seeds of the sunflower according to the
Chapter 6 Golden Angle. Such distributions are produced by using multiplication com – Rule-Based Object Production ponents whose algorithms are parameterized over the number of objects which
are to be generated, their distribution characteristics as well as their orientation.
By connecting the component prototypes, the plant is defined as a directional graph (so-called p-graph). The graph represents the rule system; its edges describe production dependences: once the geometry of a father component is generated, it invokes the production of the geometry for all its children, until the entire description graph is processed. Hereby the components can be freely linked, and recursions are also possible.
p-graph and i-tree ^ The p-graph is traversed for the production of the geometry, and the so-called i-tree is built. This is a temporary tree consisting of component instances from which the geometrical data is generated. This intermediate step is necessary since in the p-graph the structure of a plant is represented in two different ways: by the connectivity structure of the edges and by the multiplication components. Despite this intermediate step, the geometry production is sufficiently fast, so that also complex objects can be modeled interactively on the screen. Because of these modeling options, currently several thousand plants have been generated which can be used for various purposes.
Parallel to the intuitive operation of the system by components, the double representation of the structure is the main difference to classical rule systems such as L-systems or the graph-based object instancing paradigm . Prusinkiewicz provides in his “virtual laboratory” for L-systems  the possibility of executing external procedures for the production of plant parts. However, in the rule-based object production the algorithms are an integral part of the modeling and thereby allow for the efficient and flexible production of many branching structures. In order to demonstrate this difference clearly, the process of multiplication is described in more detail in the following.