Generation Using Particle Systems
Compared with the previous achievements in this area, the works of Reeves [171] as well as Reeves and Blau [172] illustrate the different motivations underlying the modeling of plants.
Reeves, employed with Lucasfilm, needed a fast, relatively realistic method to represent vegetation such as forest or meadows. The botanical correctness of the models was in this case not of major importance; significant, however, was the overall realistic appearance. This is, as already pointed out in the introduction, with many computer-graphics applications a legitimate decision, since often a simulation has to be produced only once for a certain project.
Chapter 4 rithm [150] uses a method that recursively calls itself for the simulation of the
Procedural Modeling branching along a trunk, and to generate smaller branches along the large ones.
This can be continued arbitrarily, so that ever-finer branches develop. However, in practice, after a certain number of branches have been generated, the procedure is stopped.
Figure 4.8 Fractal tree model (Courtesy of P. Oppenheimer)
To oppenheimer it was particularly important to quickly produce a representation to easily facilitate the individual parameterization of the model. Contrary to Reeves and Blau’s branching structure, detail modeling must therefore be parameterized relatively finely. Here, also curved sections are used for the first time, to ensure a more realistic outlook of the trunk and its branches. one of the main assertions in oppenheimer’s article describes the relation of the geometry and topology of trees for the purpose of modelling in computer graphics: “... the key to realistic modeling, the diversity of trees, lies in controlling the geometric interpretation. Many different topologies were used in this project. But varying the geometric interpretation of a single topology, one could still generate a wide variety of trees each with its own distinct taxonomic identity.” Also here the focus is primarily on the visual representation, this time in particular on the detailed branching structure.
Contrary to Aono and Kunii [5], Oppenheimer uses a simple monopodial branching model with parameters for the branching angle, size ratio of father and child branches, degree of tapering along the trunk and the branches, number of branches per trunk segment, and the deviation angle.
In the following production process, similar to Reeves and Blau[3], the segments of the trunk and the branches are generated with a recursive algorithm. Within the transformation, the upper parameters ensure that natural forms develop. In pseudocode the form of the algorithm is written as follows:
Algorithm 4.1:
Procedure fractaltree() begin
draw actual branch segment
if small enough /* stop criterion */
then draw leaf else begin
transform actual branch
fractaltree() /* recursive call */
repeat n times
begin
transform for branching
fractaltree() /* recursive call */
end end
end
In order to interrupt the strict self-similarity of a recursively constructed tree, Oppenheimer uses random parameters, which he varies in each case depending on a function of a given average value and standard deviation. The trunk and the branches are modeled as a generalized cylinder using the connection of the individual segments. The realistic appearance of the bark is generated using a horizontally running saw tooth function. This generates a vertical striped pattern, which is modulated by adding a noise function in order to replicate the irregularities of the bark. The Brownian noise used here is treated more closely in Chap. 7, where it is used for the simulation of terrain, a further natural object with fractal characteristics.
Figure 4.8 illustrates the result of a recursive procedure. Oppenheimer asserted that he was able to render trees of such complexity in real time on an Evans and Sutherland graphics workstation.