Procedural ModelingModelingSlide 3Model ConstructionInteractive Modeling ToolsSlide 6Slide 7Scanning toolsSlide 9Laser Range ScanningSlide 11Slide 12Slide 13Computer VisionSlide 15Slide 16Slide 17Slide 18Slide 19Example: SeashellsSlide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27FractalsSlide 29Fractal GenerationDeterministic Fractal GenerationSlide 32Slide 33Slide 34Slide 35Slide 36Statistical Fractal GenerationSlide 38Slide 39Slide 40Slide 41Slide 42GrammarsSlide 44Slide 45SummaryGreg HumphreysCS445: Intro GraphicsUniversity of Virginia, Fall 2003Procedural ModelingGreg HumphreysUniversity of VirginiaCS 445, Fall 2003Modeling•How do we ...Represent 3D objects in a computer?Construct such representations quickly and/or automatically with a computer?Manipulate 3D objects with a computer?H&B Figure 10.83bFowlerH&B Figure 10.79Modeling•How do we ...Represent 3D objects in a computer?Construct such representations quickly and/or automatically with a computer?Manipulate 3D objects with a computer?H&B Figure 10.83bFowlerH&B Figure 10.79Model Construction•Interactive modeling toolsCAD programsSubdivision surface editors :)•Scanning toolsCAT, MRI, laser, magnetic, robotic arm, etc.•Computer visionStereo, motion, etc.•Procedural generationSweeps, fractals, grammarsInteractive Modeling Tools•User constructs objects with drawing programMenu commands, direct manipulation, etc.CSG, parametric surfaces, quadrics, etc.Cosmoworlds, SGIInteractive Modeling Tools•Example: Mechanical CADH&B Figure 9.9Model Construction•Interactive modeling toolsCAD programsSubdivision surface editors :)•Scanning toolsLaser, magnetic, robotic arm, etc.•Computer visionStereo, motion, etc.•Procedural generationSweeps, fractals, grammarsScanning tools•Acquire geometry of objects with active sensorsCAT/MRILaser range scannerMagnetic sensorRobotic armetc.Stanford Graphics LaboratoryLorensenScanning tools•Acquire geometry of objects with active sensorsCAT/MRILaser range scannerMagnetic sensorRobotic armetc.Depth ColorXp (Xc,Yc)Laser Range ScanningStanford Graphics Laboratory•Example: 70 scansVolumetric reconstructionScanning tools•Acquire geometry of objects with active sensorsCAT/MRILaser range scannerMagnetic sensorRobotic armetc.Scanning tools•Acquire geometry of objects with active sensorsCAT/MRILaser range scannerMagnetic sensorRobotic armetc.Model Construction•Interactive modeling toolsCAD programsSubdivision surface editors :)•Scanning toolsLaser, magnetic, robotic arm, etc.•Computer visionStereo, motion, etc.•Procedural generationSweeps, fractals, grammarsComputer Vision•Infer 3D geometry from imagesStereoMotionConstraintsetc.Computer Vision•Infer 3D geometry from imagesStereoMotionConstraintsetc.Computer Vision•Infer 3D geometry from imagesStereoMotionConstraintsetc.Debevec96Model Construction•Interactive modeling toolsCAD programsSubdivision surface editors :)•Scanning toolsLaser, magnetic, robotic arm, etc.•Computer visionStereo, motion, etc.•Procedural generationSweeps, fractals, grammarsProcedural Modeling•Goal: Describe 3D models algorithmically•Best for models resulting from ...Repeating processesSelf-similar processesRandom processes•Advantages:Automatic generationConcise representationParameterized classes of modelsProcedural Modeling•Sweeps•Fractals•GrammarsExample: Seashells•Create 3D polygonal surface models of seashellsFowler et al. Figure 7“Modeling Seashells,” Deborah Fowler, Hans Meinhardt, and Przemyslaw Prusinkiewicz,Computer Graphics (SIGGRAPH 92), Chicago, Illinois, July, 1992, p 379-387.“Modeling Seashells,” Deborah Fowler, Hans Meinhardt, and Przemyslaw Prusinkiewicz,Computer Graphics (SIGGRAPH 92), Chicago, Illinois, July, 1992, p 379-387.Example: Seashells•Sweep generating curve around helico-spiral axisFowler et al. Figure 1ziiriiiizzrr111Helico-spiral definition:Example: Seashells•Connect adjacent points to form polygonal meshFowler et al. Figure 6Example: Seashells•Model is parameterized:Helico-spiral: z0,zr0,rGenerating curve: shape, Nc,cFowler et al. Figure 1Example: Seashells•Generate different shells by varying parametersFowler et al. Figure 2Different helico-spiralsExample: Seashells•Generate different shells by varying parametersFowler et al. Figure 3Different generating curvesExample: SeashellsFowler et al. Figures 4,5,7Generate many interesting shellswith a simple procedural model!Generate many interesting shellswith a simple procedural model!Procedural Modeling•Sweeps•Fractals•GrammarsFractals•Defining property:Self-similar with infinite resolutionH&B Figure 10.100Mandelbrot SetFractals•Useful for describing natural 3D phenomenonTerrainPlantsCloudsWaterFeathersFuretc.H&B Figure 10.80Fractal Generation•Deterministically self-similar fractalsParts are scaled copies of original•Statistically self-similar fractalsParts have same statistical properties as originalDeterministic Fractal Generation•General procedure:Initiator: start with a shapeGenerator: replace subparts with scaled copy of originalH&B Figure 10.68Deterministic Fractal Generation•Apply generator repeatedlyH&B Figure 10.69Koch CurveDeterministic Fractal GenerationMandelbrot Figure X•Useful for creating interesting shapes!Deterministic Fractal GenerationMandelbrot Figure 46•Useful for creating interesting shapes!Deterministic Fractal GenerationH&B Figures 75 & 109•Useful for creating interesting shapes!Fractal Generation•Deterministically self-similar fractalsParts are scaled copies of original•Statistically self-similar fractalsParts have same statistical properties as originalStatistical Fractal Generation•General procedure:Initiator: start with a shapeGenerator: replace subparts with a self-similar random patternRandom Midpoint DisplacementStatistical Fractal Generation•Example: terrainH&B Figure 10.83bStatistical Fractal GenerationH&B Figure 10.83a•Useful for creating mountainsStatistical Fractal GenerationH&B Figure 10.82•Useful for creating 3D plantsStatistical Fractal GenerationH&B Figure 10.79•Useful for creating 3D plantsProcedural
View Full Document