3D ModelingSyllabusWhat is 3D Modeling?Modeling3D Object Representations3D Object Representations3D Object Representations3D Object Representations3D Object Representations3D Object Representations3D Object RepresentationsEquivalence of RepresentationsWhy Different Representations?Modeling Operations3D Object RepresentationsOutlineRange ImageRange ImageTerminologyPoint CloudOutlinePolygonal MeshSubdivision SurfaceParametric SurfaceImplicit SurfaceOutlineVoxel gridBSP TreeCSGSweepOutlineScene GraphApplication SpecificTaxonomy of 3D RepresentationsEquivalence of RepresentationsComputational DifferencesUpcoming Lectures3D Modeling COS 426Syllabus I. Image processing II. Modeling III. Rendering IV. Animation Image Processing (Rusty Coleman, CS426, Fall99) Modeling (Dennis Zorin, CalTech) Animation (Angel, Plate 1) Rendering (Michael Bostock, CS426, Fall99)What is 3D Modeling? • Topics in computer graphics Imaging = representing 2D images Rendering = constructing 2D images from 3D models Modeling = representing 3D objects Animation = simulating changes over timeModeling • How do we ... Represent 3D objects in a computer? Acquire computer representations of 3D objects? Manipulate computer representations of 3D objects? Stanford Graphics Laboratory H&B Figure 10.463D Object Representations How can this object be represented in a computer?3D Object Representations How about this one?3D Object Representations This one? H&B Figure 9.93D Object Representations This one? H&B Figure 10.463D Object Representations This one? Stanford Graphics Laboratory3D Object Representations This one?3D Object Representations • Points Range image Point cloud • Surfaces Polygonal mesh Subdivision Parametric Implicit • Solids Voxels BSP tree CSG Sweep • High-level structures Scene graph Application specificEquivalence of Representations • Thesis: Each representation has enough expressive power to model the shape of any geometric object It is possible to perform all geometric operations with any fundamental representation • Analogous to Turing-equivalence Computers and programming languages are Turing-equivalent, but each has its benefits… NaylorWhy Different Representations? Efficiency for different tasks Acquisition Rendering Manipulation Animation Analysis Data structures determine algorithmsModeling Operations What can we do with a 3D object representation? Edit Transform Smooth Render Animate Morph Compress Transmit Analyze etc. Digital Michelangelo Thouis “Ray” Jones Sand et al. Pirates of the Caribbean3D Object Representations Desirable properties depend on intended use Easy to acquire Accurate Concise Intuitive editing Efficient editing Efficient display Efficient intersections Guaranteed validity Guaranteed smoothness etc.Outline • Points Range image Point cloud • Surfaces Polygonal mesh Subdivision Parametric Implicit • Solids Voxels BSP tree CSG Sweep • High-level structures Scene graph Application specificRange Image Set of 3D points mapping to pixels of depth image Can be acquired from range scanner Brian Curless SIGGRAPH 99 Course #4 Notes Range Image Tesselation Range Surface Cyberware StanfordRange Image • Image: stores an intensity / color along each of a set of regularly-spaced rays in space Range image: stores a depth along each of a set of regularly-spaced rays in space • Not a complete 3D description: does not store objects occluded (from some viewpoint) • View-dependent scene descriptionTerminology • Range images • Range surfaces • Depth images • Depth maps • Height fields • 2½-D images • Surface profiles • xyz maps • …Point Cloud Unstructured set of 3D point samples Acquired from range finder, computer vision, etc Hoppe Hoppe Microscribe-3D PolhemusOutline • Points Range image Point cloud • Surfaces Polygonal mesh Subdivision Parametric Implicit • Solids Voxels BSP tree CSG Sweep • High-level structures Scene graph Application specificPolygonal Mesh Connected set of polygons (usually triangles) Stanford Graphics LaboratorySubdivision Surface Coarse mesh & subdivision rule Smooth surface is limit of sequence of refinements Zorin & Schroeder SIGGRAPH 99 Course NotesParametric Surface Tensor-product spline patches Each patch is parametric function Careful constraints to maintain continuity FvDFH Figure 11.44 x = Fx(u,v) y = Fy(u,v) z = Fz(u,v) u vImplicit Surface Set of all points satisfying: F(x,y,z) = 0 Polygonal Model Implicit Model Bill Lorensen SIGGRAPH 99 Course #4 NotesOutline • Points Range image Point cloud • Surfaces Polygonal mesh Subdivision Parametric Implicit • Solids Voxels BSP tree CSG Sweep • High-level structures Scene graph Application specificFvDFH Figure 12.20 Voxel grid Uniform volumetric grid of samples: Occupancy (object vs. empty space) Density Color Other function (speed, temperature, etc.) Often acquired via simulation or from CAT, MRI, etc. Stanford Graphics LaboratoryBSP Tree Hierarchical Binary Space Partition with solid/empty cells labeled Constructed from polygonal representations a b c d e f 1 2 3 7 4 5 6 a b c d e f g Object a b c d e f 1 2 3 4 5 6 7 Binary Spatial Partition Binary Tree NaylorCSG Constructive Solid Geometry: set operations (union, difference, intersection applied to simple shapes FvDFH Figure 12.27 H&B Figure 9.9Sweep Solid swept by curve along trajectory Removal Path Sweep Model Bill Lorensen SIGGRAPH 99 Course #4 NotesOutline • Points Range image Point cloud • Surfaces Polygonal mesh Subdivision Parametric Implicit • Solids Voxels BSP tree CSG Sweep • High-level structures Scene graph Application specificScene Graph Union of objects at leaf nodes Bell Laboratories avalon.viewpoint.comApplication Specific Apo A-1 (Theoretical Biophysics Group, University of Illinois at Urbana-Champaign) Architectural Floorplan (CS Building, Princeton University)Taxonomy of 3D Representations Discrete Continuous Combinatorial Functional Parametric Implicit Topological Set Membership Voxels, Point sets Mesh
View Full Document