Camera Component
The camera component is the root component of every plant description, thus it must always be the first element in the structure tree. It accommodates all parameters that are needed for viewing the model.
These are, for instance, the position of the camera’s coordinate system and the opening angles of the camera (together they determine the perspective projection on the screen), the position and type of light sources for the lighting simulation, and further representation parameters.
Base Component |
In the base component only the fundamental parameter set is present, all other components are derived from it and offer additional functionality. The base component belongs to the class of components that are used for geometry production. The component not only is able to produce geometric primitives such as cubes, spheres, cylinders or tori, but also sets of discrete points. These can be defined geometric primitive ^ as open point sets (areas) or closed point sets (tubes), and usually lie on a plane. If a component is attached to another component, which likewise defines a point set, then the two point sets will be triangulated and so form a surface. In the horn component described below, this procedure is applied internally, in order to produce branches and stems from a sequence of triangulated point sets. Figure 6.2 illustrates the algorithm by producing stem-like objects. |
T2 (a) |
Figure 6.2 Geometric definition of a stem: a) point sets are specified relative to one another; (b) the surface is produced through triangulation; (c) differently formed stalks |
(b) (c) |
The primitive produced from the component can be assigned a color and/or a texture. If a texture is selected, the texture coordinates and its transparency can be set, in order to position and illustrate the content optimally. Textures are generally used for leaves so as to increase their realism and to avoid the definition of complex leaf geometry. Bark is produced similarly. |
Within geometry production, two different kinds of transformations are available: the primitive can be modified in position and size, and the modification can be applied to the local coordinate system, also affecting in this way the geometry of all the subsequent components.
An additional parameter is the strength of the phototropism. It determines if, and how strongly the primitive aligns itself with regard to an external light field. This is especially interesting for leaves, whose surfaces can thus be aligned plagiophototropically.
The recursion parameter mentioned earlier determines how often a recursion in the p-graph should be implemented. As an additional important modeling option, the user can select in a field whether the geometry of the component is generated or not if multiplied by a multiplication component. To do so, each multiplication component assigns an individual number to all produced child instances. This number is compared with the values stored in the field. The user in this way is able to prevent several components from generating geometry in a multiplication. This mechanism is used for handling exceptions that occur in each natural plant. Examples are a branch that died off or damaged leaves. Thus, the definition of exceptions produces a type of context sensitivity in a so-far context-free system, since the appearance of an object is coupled to an environment here, which is defined by the switch and an object number. In Sect. 5.6 this problem was already discussed, and in Sect. 6.5 the process is more clearly explained in the form of examples.