CS184 Lecture 16 summary

Design Methods

Design of geometric models has both a discrete (choice of number and type of shapes) and a continuous component (the choice of exact curve and surface geometry). We focus here on the continuous component, since that's where most of the effort usually goes, and where most of the information in the final model lies.

Direct and Indirect manipulation are two complementary ways to approach design.

Indirect Manipulation is something like forward kinematics. You define a set of parameters that specify the model shape. Each parameter can be set e.g. by a text dialogue box, or using a slider. The parameters might be angles or lengths or scale factors. For example, you can think of lab 3, the forward kinematics lab, as an indirect manipulator for the shape of the robot. Moving the levers changes the shape of the robot by changing its joint angles.

Direct Manipulation is like inverse kinematics. You pick some feature on the model you would like to change, and you grab it and start moving it, if necessary, specifying which other parts of the model should stay fixed. The modeler is responsible for changing all the model parameters so that the shape tracks your mouse movements.

Dimensioned Drawings are a classical way of specifying 3D objects like buildings and mechanical parts. They make use of datum lines and dimensions which are parameters that determine the geometry. Changing these parameters is an indirect manipulation method for changing the shape.

Constraint-Based Modeling

Building precise 3D models can be tedious because of the need to compute the transforms needed to make part surfaces mate, cylinders fit in holes etc. Constraint-based modelers allow you to specify such relationships, and are able to solve for the geometry given the constraints.

For example, you can specify that sphere A should be placed on top of Block B. If c is the sphere center, and p.n - d = 0 is the plane equation, then the constraint that the sphere (with radius r) lies on top of the block would be:

c . n - d = r

The constraint is an algebraic equation. A constraint-based modeler takes many such constraints and tries to solve for all the free parameters, usually using a numerical solver.

Constraint-based Modelers and Direct Manipulation

Constraint-based Modelers, because they can solve for arbitrary constraints, are natural to use for direct manipulation systems. The user can grab any part of the model and start moving it. Each mouse movement specifies a new desired position of some part of the model, which can be specified as a constraint. The modeler solves for all the constraints, and that gives new geometry that tracks the user input. In particular, a constraint-based modeler can solve inverse kinematics as a special case.

The first constraint-based modeler was called Sketchpad and was developed by Ivan Sutherland around 1963. It was a 2D drawing package that allowed constraints such as equal length and parallelism to be specified.

More advanced versions of drawing tools such as Juno-2 from DEC research have appeared since. Juno-2 supports direct manipulation, and any part of a model can be fixed or dragged with the mouse while satisfying the constraints (if possible).

Note that animation can be viewed as a constraint-based design problem. A moving 3D object can be thought of as a swept shape in 4D space-time. Constraints such as Newtonian mechanics, stability, control laws etc, can be specified on shapes in 4D. The work of Gleicher (video) is based on scaling motion capture data so as to maintain some specified constraints of this type.

Design Worlds and Design Galleries

Design is normally an iterative process. The designer can rarely specify an exact criterion for the model that they want to produce. Instead, various prototypes are produced, and they are evaluated visually (and using analytic tools such as finite-element methods for stress, temperature conduction, weight, air resistance etc). Interesting models are retained while uninteresting models are discarded. The interesting models are refined by adding more design parameters to adjust their shape more finely. The general approach is called "design worlds". A specific tool called "Design Galleries" was developed by MERL researchers (video) that automatically clusters models (which are usually simulation outcomes) based on perceptual similarity.