CHS UCB CS 285 Solid Modeling Procedural Solid
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. . . n “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 ? n Examples of solids and non-solids: n What are the key properties of a solid?
CHS UCB What is a Solid ? n Examples of solids and non-solids: l l l n 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? l Maintains shape in a predictable way l Has a well-defined surface
CHS UCB What is a Solid ? -- More Answers n n The Abstraction of a “Solid” l Solids are composed of atoms l Atoms are mostly empty space Smoothing and Sampling l n n Use a finite-size probe to determine extent of a solid The Boundary of a Solid l How far the above probe can go l Level-set surface of a filtered density function Why are these considerations relevant ? l We often make approximations to an ideal shape, e. g. , use triangle mesh to represent a spline patch
CHS UCB Modeling -- as in “Describing” n Why do we create models of solids ? n What do we want to do with these models ?
CHS UCB Modeling -- What is the Purpose ? n Why do we create models of solids ? l n What do we want to do with these models ? l n n For visualization, fabrication, analysis. . . Analyze: mass, moments, strength, flexibility, beauty, reachability, assemblability, fluid flow in cavities, . . . What types of models are we interested in ? l True solid shapes, with orientable 2 -manifold surfaces, mostly rigid, perhaps with predictable deformability; l and assemblies of such objects. What is outside scope of CS 285 – Sp. 2006 ? l 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 ? n Some model capture process l n n e. g. , 3 D scanning Some procedural generation process l gear wheel generator l maximizing/minimizing some functional (e. g. , minimize area as in soap bubbles) Some creative design process l realizing some desired functionality l capturing an aesthetic vision l ( BUT NO RANDOM BLOBS ! )
CHS UCB No Random Blobs ! n Many modeling systems are mostly suitable to make “lumpy potatoes” by moving dozens of control vertices individually. n 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: n n n Man-made Objects: l utensils, furniture, machinery, buildings, sculptures, … (these may have come from CAD models). l NOT: complete cities, complex vehicles, . . . Natural Objects: l mountains, sea shells, tree trunks, bones, … (these allow some procedural generation). l NOT: animals, forests, hedges, … Visualization Models of: l height functions, math surfaces, 4 D objects, … (these can be constructed procedurally). l NOT: fluid-flow vector fields. . .
CHS UCB How Do You Do Procedural Design? Need an Appropriate Programming Language: n Auto-LISP in Auto. CAD n Other CAD extensions n Mathematica n Matlab n C, C++ n SLIDE (Unigrafix, Open. GL, Tcl) == > For your course projects you can use whatever Programming/CAD environment makes you most productive.
CHS UCB The PROs and CONs of SLIDE n Lies between: l Mathematica / Matlab and l Traditional CAD tools (Solidworks, Autocad…) n Offers interactive fine tuning of critical parameters via some sliders, gives visual feedback. n Source code is under our own control. n Not a properly maintained system. n Tcl is a pain during the debugging process!
Course Projects in CS 285 CHS UCB n See on-line list on web page. . .
- Slides: 14