Modeling Taxonomy

advertisement

CHS

UCB

CS 285 -- Solid Modeling

“Procedural Solid Modeling” or

“Algorithms and Data Structures for

Procedural Design, Solid Modeling, and Rapid Prototyping”

Let’s review the meaning of some of these terms ...

“Solid” “Modeling” (“Procedural” …)

CHS

UCB

Modeling Taxonomy

CAD

Solid Modeling

CAGD (splines)

Procedural Modeling

When you spend more time programming than adjusting numbers or handles

CHS

UCB

What is a Solid ?

 Examples of solids and non-solids:

 What are the key properties of a solid?

CHS

UCB

What is a Solid ?

 Examples of solids and non-solids:

 YES: a block of steel, wood, styrofoam

 NO: clouds, liquids,

 ?: a flexible wire, a rubber gasket, cloth ...

 What are the key properties of a solid?

 Maintains shape in a predictable way

 Has a well-defined surface

CHS

UCB

What is a Solid ? -- More Answers

The Abstraction of a “Solid”

 Solids are composed of atoms

 Atoms are mostly empty space

 Smoothing and Sampling

 Use a finite-size probe to determine extent of a solid

 The Boundary of a Solid

 How far the above probe can go

 Level-set surface of a filtered density function

 Why are these considerations relevant ?

 We often make approximations to an ideal shape, e.g., use triangle mesh to represent a spline patch

CHS

UCB

Modeling -as in “Describing”

 Why do we create models of solids ?

 What do we want to do with these models ?

CHS

UCB

Modeling -- What is the Purpose ?

 Why do we create models of solids ?

 For visualization, fabrication, analysis ...

 What do we want to do with these models ?

 Analyze: mass, moments, strength, flexibility, beauty, reachability, assemblability, fluid flow in cavities, ...

 What types of models are we interested in ?

 True solid shapes, with orientable 2-manifold surfaces, mostly rigid, perhaps with predictable deformability;

 and assemblies of such objects.

What is outside scope of CS 285 – Sp.2006 ?

Collections of polygons that “look like” a forest, water, clouds, fire, rainbow (--> rendering class)

CHS

UCB

Modeling -as in “Designing”

Where do such models come from ?

 Some model capture process

 e.g., 3D scanning

 Some procedural generation process

 gear wheel generator

 maximizing/minimizing some functional

(e.g., minimize area as in soap bubbles)

 Some creative design process

 realizing some desired functionality

 capturing an aesthetic vision

 ( BUT NO RANDOM BLOBS ! )

CHS

UCB

No Random Blobs !

 Many modeling systems are mostly suitable to make “lumpy potatoes” by moving dozens of control vertices individually.

 We will concentrate on designed shapes:

These are optimal in some local domain; any small change would make them inferior.

CHS

UCB

No Warped Quadrilaterals

A single Bézier patch or rectangular B-spline array does not make a solid.

Again, there should be an element of “DESIGN.”

Just randomly moving all control points is not in the spirit of CS 285.

CHS

UCB

Make Computer (CAD) Models of:

 Man-made Objects:

 utensils, furniture, machinery, buildings, sculptures, …

(these may have come from CAD models).

 NOT: complete cities, complex vehicles, ...

 Natural Objects:

 mountains, sea shells, tree trunks, bones, …

(these allow some procedural generation).

NOT: animals, forests, hedges, …

 Visualization Models of:

 height functions, math surfaces, 4D objects, …

(these can be constructed procedurally).

 NOT: fluid-flow vector fields ...

CHS

UCB

How Do You Do Procedural Design?

Need an Appropriate Programming Language:

 Auto-LISP in AutoCAD

 Other CAD extensions

 Mathematica

 Matlab

 C,C++

 SLIDE (Unigrafix, OpenGL, Tcl) == >

For your course projects you can use whatever

Programming/CAD environment makes you most productive.

CHS

UCB

The PROs and CONs of SLIDE

 Lies between:

 Mathematica / Matlab and

Traditional CAD tools (Solidworks, Autocad…)

 Offers interactive fine tuning of critical parameters via some sliders, gives visual feedback.

 Source code is under our own control.

 Not a properly maintained system.

 Tcl is a pain during the debugging process!

CHS

UCB

Course Projects in CS 285

 See on-line list on web page ...

Download