CHS UCB Let’s get technical… Semantics of the Course Title: “Solid” “Modeling” (“Procedural” …) 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 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 ? What do we want to do with these models ? For visualization, fabrication, analysis ... Analyze: mass, momenta, 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 reality capture process Some procedural generation process e.g., 3D scanning 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 Design something that can be fabricated: Fancy casing for a wearable computer 3D visualization model of complex geometry Snap-together mechanism A model to be explored by simulation: Strength / sound analysis on a mechanical part Manufacturability analysis on an injection mold The chosen shape should offer some challenges that can best be overcome by a small programming effort which will lead to a usable utility: Gear box --> gearwheel generator. CHS UCB Other Possible Course Projects Parameterized Objects that can be fine-tuned and optimized: Bells, Sculptures, Mechanisms, Containers, Puzzles, Mathematical Models, … My own projects of current interest: Klein’s Quartic surface Parameterized Bell 3D Penrose Tiles More later in the course … Approach me with your own ideas as soon as possible. CHS UCB How to Make a CAD Model ? How would you make a CAD model of: a plastic spoon, a gear wheel, an artistic part, a math surface ? Typically, this is a multi-stage process ! Study this process in Assignment #1 CHS UCB Design of a CAD Model Multi-stage Design Process: Initial Inspiration (Mental Image) Clear Concept (Sketch, Mock-up) (refined by fabrication concerns) Precise Part Description (CAD file) A1 Fabrication Plan (Machine readable) Finished Part (Physical Artifact) CHS UCB Get To Know Each Other ! Introductions… Team Formations Work Together ! CHS UCB Extras ... 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