A Procedural Approach to Authoring Solid Models

Barbara Cutler, Julie Dorsey, Leonard McMillan, Matthias Mueller, Robert Jagnow
Proceedings of ACM SIGGRAPH 2002
.pdf (12M)     .ps.gz (22M)     talk (html)

We present a procedural approach to authoring layered, solid models. Using a simple scripting language, we define the internal structure of a volume from one or more input meshes. Sculpting and simulation operators are applied within the context of the language to shape and modify the model. Our framework treats simulation as a modeling operator rather than simply as a tool for animation, thereby suggesting a new paradigm for modeling as well as a new level of abstraction for interacting with simulation environments.

Capturing real-world effects with standard modeling techniques is extremely challenging. Our key contribution is a concise procedural approach for seamlessly building and modifying complex solid geometry. We present an implementation of our language using a flexible tetrahedral representation. We show a variety of complex objects modeled in our system using tools that interface with finite element method and particle system simulations.

In the images above, we show the layering of weathering effects on a gargoyle statue mounted on the exterior of a building. Gargoyles are subjected to interesting flow patterns because they were originally used as decorative downspouts to direct rainwater away from building foundations. Long term exposure causes a variety of effects on exterior architectural details including discoloration, weakening, erosion, biological growth, and fracture due to the freeze/thaw cycle.

The lost wax casting process is a common technique for creating bronze statues. A roughly-shaped clay core is covered with malleable wax, in which the shape and details of the final sculpture are formed. When the wax sculpture is finished, a thick layer of clay is spread over the wax. The model is slowly heated to allow the wax to drip from the clay mold and then the mold is fired in a kiln. Molten bronze is poured into the hardened clay mold. Finally, when cool, the brittle clay is chipped away to reveal the bronze statue. A sequence of images from our bronze statue simulation is shown below. The outer layer of fired clay is broken away using a hammer tool. A polish tool is used to clean and shine the model.

In the images below, we model a tree in an urban setting surrounded by brick paving. As the tree grows, the roots push upward, shifting the bricks. We created a tool to translate upward the vertices of all tree tetrahedra. The FEM system is used to solve for the static equilibrium positions of the remaining vertices. The bricks maintain their rectilinear shape because the brick material has a large value for the elasticity parameter; the dirt between and beneath the bricks deforms easily because of its relatively smaller value.

In the paper, we use a simple chocolate candy to illustrate a variety of models that can be created with our scripting language. Layers of material are applied both interior and exterior to the original mesh. A procedural layer definition was used to create the stripes of chocolate in the images below. By specifying the interaction between two or more meshes, we can create many other possibilities. We can also modify the interface velocity of the distance field to create layers with non-uniform thickness.