Rule-Based Object Production

Interactive Modeling

The previous chapter demonstrated that rule-based procedures are a very pow­erful 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 control­ling mechanisms of the L-systems are not very intuitive. Even for an expe­rienced 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 pro­cedures and their parameterization is straightforward and intuitive with such a method.

A combination of the two approaches should combine the intuitiveness of pro­cedural 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 geomet­ric primitives, by using procedural methods. Multiplication components multi­ply 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 de­scribe 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 com­ponents. 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 sys­tems such as L-systems or the graph-based object instancing paradigm [83]. Prusinkiewicz provides in his “virtual laboratory” for L-systems [166] the pos­sibility of executing external procedures for the production of plant parts. How­ever, 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.