1.2. Gestión educativa
1.2.2. Características de la gestión
As has been demonstrated, procedural modelling techniques offer a wealth of possibilities for the creation of complex objects and environments. They abstract away the complexity of the final object, seeking to model that complexity with a smaller set of parameters. Many of the software applications available for modelling make use of some procedural techniques, but additionally give the user very low-level control — in the case of computer graphics, they allow for direct manipulation of the 3D polygon-mesh comprising a model. Alterations can be made to individual vertices and faces of the model or to groups of these, allowing the user to stretch, transform, add to or subtract from the model as desired.
However, the low-level of control offered by these packages is often prohibitive to novice or less technically able users, and obtaining realistic output from the procedural techniques available re-quires a substantial amount of work and adjustment of procedural parameters. Due to the low-level focus, these applications are not typically thought of as interfaces to procedural modelling, since the techniques used are typically quite simple and the interface to the procedural techniques is through the direct manipulation of procedural parameters.
With these shortcomings and the fact that procedural models are so widely applicable, interfaces to these models are becoming increasingly important and worthy of some consideration.
2.3.1 Freehand sketching
Many complex objects exhibit shapes that are not easily captured via mechanical rules or inferences.
Human designers, however, are far more adept at capturing such shapes through the use of sketching, and these sketches can be used to guide particular procedural modelling techniques.
University
of Cape
Town
2.3. INTERFACES 27
One of the earliest interfaces for sketching 3D shapes is the gestural interface known as SKETCH [Zeleznik et al., 1996]. This was developed primarily for the creation and editing of rectilinear objects, and made use of the geometric attributes of gestures to infer numerical parameters defining the objects. For example, by drawing three lines that meet at a point the user is able to create a cuboid whose position and size are determined by the junction point and lengths of the lines.
Many other primitives are available in the SKETCH system, including volumes of revolution, cones, cylinders, extrusions and superquadrics.
In 3D modelling, a common use of freehand sketching is to infer 3D geometry or shape from the 2D sketch by considering the 2D sketch as a silhouette. Teddy [Igarashi et al., 1999] is one such technique and it allows for the easy creation of stuffed animals and similarly rotund objects. 3D shape is inferred from the 2D silhouette by inflating the region surrounded by the silhouette — wide areas are taken to be fatter and are inflated more, whilst narrow areas are considered thin and inflated less. Additional operations are also provided via the sketch interface that allow the model to be extruded, to be cut, to have strokes painted onto the 3D surface, and to have either painting strokes or 3D geometry removed by “scribbling” on the model. Furthermore, these operations are all interactive in the sense that after each stroke is drawn by the user, the 3D model is updated. The inferred 3D model can also be rotated at any time, allowing the user to make use of the sketching interface from any angle.
Figure 23: A tree cre-ated using the technique of Okabe and Igarashi [2003]
SmoothSketch [Karpenko and Hughes, 2006] builds on the work of Teddy, by allowing for a user’s sketch to be more complex than the simple closed curve imposed by Teddy. The use of cusps and T-junctions in the sketch allows for hidden parts of the contour to be visually depicted, and SmoothSketch is able to infer a smooth solid shape that matches these visible contours. Additionally, SmoothSketch allows objects that are topologically more complex than the restrictive spherical topology imposed by Teddy.
Another technique that infers 3D geometry from 2D sketching is that of Okabe and Igarashi [2003], which describes a sketch-based solution to the 3D modelling of trees — a task which is typically addressed using L-systems. One of the chief arguments in favour of sketch-based systems is that they cater for novice users, unlike L-systems which are geared more towards expert users. The driving force behind their technique is that they infer 3D tree geometry from a 2D sketch, based on the assumption that trees spread their branches uniformly. From an initial silhouette sketch of the profile of a tree, the trunk and branches are identified and the branches are distributed uniformly around the trunk. Their system then recognises several strokes that allow the model to be edited: branches can be added and removed, large groups of new branches can be added according to prediction patterns derived from the work of Weber and Penn [1995], branching styles can be propagated across the tree, and leaves in the form of planar polygons can automatically be added
University
of Cape
Town
28 CHAPTER 2. BACKGROUND TO PROCEDURAL MODELLING
to terminal branches.
In Ijiri et al. [2005], the authors address the related problem of modelling flowers andinflorescences4. Here, sketches are used to describe the shape of the floral receptacle, or flower petals, and of the inflorescence’s central axis. A sketched curve drawn by the user is used as the outline for a volume of revolution defining the floral receptacle, whilst the 2D outline gives the shape of a petal and an additional stroke is used to indicate the center vein of the petal. Further strokes can also be used to deform flower petals on both a local and global scale.
Whereas the techniques discussed thus far have all aimed at creating specific instances of objects, the work of Baxter and Anjyo [2006] makes use of sketching interfaces for the purpose of unique instancing— the generation of new content that is similar but not identical to a set of input examples.
By taking as input from the user a set of simple line drawings, or “doodles”, they establish stroke correspondences between the drawings and make use of latent variable methods such as a Gaussian Process Latent Variable Model (GPLVM) [Lawrence, 2004] to extract a low-dimensional space — a latent doodle space— representing the drawings. Sampling of the latent doodle space then allows for the generation of new drawings that are similar, but not identical to, the input drawings. The ramifications of such a technique are significant — in nature, instances of the same type of object look visibly similar but exhibit small differences, and so being able to capture this dynamic automatically, and without needing to adjust every instance by hand, is very important. One application presented by the authors is the synthesis of handwriting — every person has their own style of handwriting, but, nevertheless, every time we write a particular letter it will be slightly different.
2.3.2 Interfaces for parametrised procedural models
In the case of numerically parametrised models, the number of parameters used by a technique can be unmanagably large (for example in the work of Weber and Penn [1995], who require 80 parameters for a single tree). The correlation between these parameters and the final object is also often not very intuitive for a less technically able user. Additionally, parameters may have complex interactions — particularly in an environment where the various procedural elements are tightly coupled, such as in an outdoor landscape — and the nature of these interactions may be too complex for a user to fully grasp. It cannot be denied that procedural models offer powerful procedures for the creation of complex objects, and it would be advantageous to keep these benefits whilst at the same time providing a better interface that eliminates the complexities introduced by procedural parameters.
Marks et al. [1997] propose adesign galleryinterface to parameter setting, in which the parameter space can be visually explored by browsing through a gallery of selected outputs. To create the gallery, a random set ofinput vectors in parameter space is chosen and used to generate a corre-sponding set ofoutput vectors. The output vectors need not be the actual output from the technique, but should be representative of the output, and differences in the output vectors should correspond
4An inflorescence is a branch with multiple flowers
University
of Cape
Town
2.3. INTERFACES 29
to differences in the procedural content generated. For example, if the output is a rendered image, then a suitable output vector might be a thumbnail of that image; if the output is an animated model, then a suitable output vector might be some low-level statistics pertaining to the animation, such as the average speed and position of key points such as joints or limb extremities. Once the output vector associated with each input vector has been calculated, the pairs can be hierarchi-cally organised according to the similarities of their output vectors, and they can also be spatially arranged in two dimensions by applyingmulti-dimensional scaling[Cox and Cox, 2000].
Figure 24: An example of a design gallery from the work of Marks et al. [1997], demonstrating how the technique can be used to choose suitable opacity and colour transfer functions for volume rendering.
Another possible interface to parameter setting involves the use ofgenetic algorithms[Holland, 1975, 1995]. These are processes that model the evolution of a population of entities, through interactions that closely follow biological reproduction patterns — discussed in much greater detail in Chapter 5.
In applying genetic algorithms to the creation of content by procedural means, we first need to codify the concept of the possible population of content and what constitutes an individual in that population. Fortunately, the nature of procedural modelling techniques make this quite easy — each technique takes some input, and generates corresponding output, so provided that the techniques are deterministic then a given set of input parameters willalways produce the same output5. Now an individual of our population is simply any instance of valid parameter values, and the possible population is the set of all possible individuals (in other words, the set of all input parameter value combinations). A well-known example of the use of genetic algorithms is in the creation ofbiomorphs [Dawkins, 1996], and Bedwell and Ebert [1999] provide an example of applying genetic algorithms to the modelling of algebraic surfaces.
5And if one really wanted a non-deterministic technique to be admitted, then this can be done by adding an extra procedural parameter which is used to seed the random number generator.
University
of Cape
Town
30 CHAPTER 2. BACKGROUND TO PROCEDURAL MODELLING
Figure 25: The interface to genetic algorithms for procedural environment generation of Merry et al.
[2003].
What remains is to define afitness function, or a means of evaluating how close individuals in our population are to the content that we are aiming to generate. Merry et al. [2003] investigate the use of user feedback to establish fitness, by showing the user several virtual environments and asking them to indicate which of the environments is closest to the goal on several criteria. These ratings are used to update a probability vector, in accordance with the population-based incremental learning algorithm described by Baluja [1994], which is used to generate new individuals for the following iteration. They tested their system through user experimentation in which users were asked to produce a specific set of environments. Users were required to use both the genetic algorithm approach as well as an interface where the procedural parameters were directly manipulated, with some users using the genetic algorithm interface first and others the direct manipulation interface first to avoid learning bias. Their results showed that the direct manipulation interface performed better for all criteria measured — namely the difficulty of the task, how close they felt their result was to the target environment, and which interface the users’ preferred. Given the success of other interactive evolutionary techniques in computer graphics [Sims, 1991; Rowland and Biocca, 2000]
the authors surmised that their implementation was flawed, rather than the concept. They suggest that the speed of their environment generator needs to be improved, so as to meet the requirements for interactive evolution set out by Sims [1991]. In addition, they note that the number of parameters used in their experiments may have been too low, making it possible for users to easily learn how