eTech & Art & More

Procedural Modeling

By Forrester Cole
16 August 2001

The Procedural Modeling paper session collected four papers on simulating natural and man-made structures. Modeling procedurally in terms of these papers means creating a simulation from ground-up concepts and rules, rather than by capturing and manipulating real-world data. The papers were split between modeling plants and animals and modeling man-made buildings. All the papers had good results, although the paper on plants seemed especially well developed.

The Use of Positional Information in the Modeling of Plants
Przemyslaw Prusinkiewicz of the University of Calgary presented this paper on the modeling of plants. The material covered overlapped significantly with his presentation two days ago in the course Modeling Nature, but with an emphasis on modeling the shape, not just the structure, of the plants. The basic model that Prusinkiewicz uses to describe the structure of a plant is an L-System (named for its developer, Aristid Lindenmeyer). An L-system is basically a sophisticated grammar. An example rule would be 'a bud goes to a flower.' The rules of an L-system are parameterized by time, so that each application of the rules equates to a time step. Using this general system, many different plant structures can be described quite easily and effectively.

The L-system only describes the structure of the plant, not the overall shape. Artists commonly want to define the overall shape of a plant, and have the simulation fill in the details. The paper proposes a set of simple controls that allow an artist to just that. Rather than treat the entire plant as a piece of spline geometry, the authors describe a plant in differential turtle geometry. Turtle geometry is named after the renowned turtle of LOGO. A shape is described in turtle geometry by recursive rules that a turtle would understand, e.g. go forward, turn right, repeat. The shape of the plant is parameterized by the steps the turtle takes as it walks along the length of the plant. The artist can simply drag around a set of curves, corresponding to, for example, the length or density of leaves along the plant's length.

Prusinkiewicz demonstrated the system by quickly creating a convincing fern leaf. Given a basic, uniform fern with even leaf size and spacing, he adjusted the parameters along the length of the fern to match those of a real fern leaf. As a final demonstration, he showed a forest scene first specified by crude cylinders and cones and then with the geometry filled in with plants.

Procedural Modeling of Cities
The second paper was presented by 'Yogi' Yoav Parish and Pascal Mueller, both of the Eidgenoessische Technische Hochschule Zuerich. Parsich and Mueller used L-systems extensively as well, but to model the shape of cities instead of plants. The goal of their work is not to recreate any particular city, but to create convincing backdrop cities for animation. Their algorithm is simple to use and generates believable, but generic, results.

Modeling a cities happens in four main stages: generation of the street map, division of the map into building lots, generation of the buildings, and texturing of the buildings. The generation of the street map and of the buildings themselves is done with L-systems. Growing a building is especially similar to growing a plant, except that the basic rules are geometric operations such as extrusions, not time varying growth. The input to the algorithm can be tailored extensively, but at its simplest it consists of a geographic map and a population density map.

The authors created a procedural method for texturing the buildings as well. The system uses a series of overlaid two dimensional functions to determine where to place windows and other features. By using a procedural system the authors avoid storing large numbers of textures for each building.

Feature-Based Cellular Texturing for Architectural Models
Justin Legakis of the Massachusetts Institute of Technology then presented his work on cellular texturing, done in conjunction with Julie Dorsey of MIT and Steven Gortler of Harvard. A cellular texture is a texture made up of discrete cells, which in an architectural context can represent bricks or stones. The authors' work is aimed at creating a system to believably texture architectural models, while at the same time remaining flexible and reusable. The approach they have come up with could be thought of as a style sheet system for buildings.

All cells in the paper are treated as three dimensional objects. Using three dimensions throughout solves continuity problems at corners and edges of buildings, where 2D textures may not match. The paper also defines a system of pattern generators and pattern trees. A pattern generator defines how to tile a space, either a corner, edge, or face, with a texture. A pattern generator could be defined for brown stone, and then reused repeatedly. A pattern tree is built up out of pattern generators and nodes that decide which generators to use in each case. For instance, a tree may state that a certain generator should be used for corners and edges, while another should be used for horizontal faces, and yet another for vertical faces.

After a pattern tree and a set of generators are defined, the tree may be applied to geometry. Special geometry features such as arches may also be assigned special generators. The result is a system that can generate clean, sophisticated textures for buildings of arbitrary layout, with little user intervention.

Integrating Shape and Pattern in Mammalian Models
The last paper was work on simulating the spots and stripes of animals. Marcelo Walter of the Universidade do Vale do Rio dos Sinos presented the paper, which he wrote along with Alain Fournier of the University of British Columbia and Daniel Menevaux of the Laboratoire SIC. The algorithm tries to integrate the creation of the appearance (texture) of a model closely with the creation of its shape. An application would be the creation of a large heard of differently sized giraffes. Using the method outlined in the paper, the animals would automatically have believable coloring consistent with their size and shape.

The generation of the animals markings is based on a biologically plausible model of cell growth. The colored patches on the skin are caused by the presence of pigment cells. As the simulated animal grows, the pigment cells in the animalís skin grow and change their shape. A young animal may have small, undeveloped spots, where an adult has the fully developed coloring. The simulated age and size of the animal is controlled by transformations on the size and shape of the animalís body parts.



By far and away the most prestigious publication for computer graphics.




This page is maintained by YON - Jan C. Hardenbergh All photos you see in the 2001 reports are due to a generous loan of Cybershot digital cameras from SONY