Post on 06-Jan-2016
description
Modeling
Aaron BloomfieldCS 445: Introduction to Graphics
Fall 2006(Slide set originally by Greg Humphreys)
OutlineOutline
AcquisitionAcquisition
• SeashellsSeashells
• FractalsFractals
• VolumesVolumes
• Constructive Solid GeometryConstructive Solid Geometry
• Modeling ProgramsModeling Programs
Model Construction
Interactive modeling tools CAD programs Subdivision surface editors :)
Scanning tools CAT, MRI, laser, magnetic, robotic arm, etc.
Computer vision Stereo, motion, etc.
Interactive Modeling Tools
User constructs objects with drawing program Menu commands, direct manipulation, etc. CSG, parametric surfaces, quadrics, etc.
Cosmoworlds, SGI
Interactive Modeling Tools
Example: Mechanical CAD
H&B Figure 9.9
Model Construction
Interactive modeling tools CAD programs Subdivision surface editors :)
Scanning tools Laser, magnetic, robotic arm, etc.
Computer vision Stereo, motion, etc.
Scanning tools
Acquire geometry of objects with active sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm etc.
Stanford Graphics LaboratoryLorensen
Scanning tools
Acquire geometry of objects with active sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm etc.
Dep
thC
olor
Xp (Xc,Yc)
Laser Range Scanning
Stanford Graphics Laboratory
Example: 70 scans Volumetric reconstruction
Scanning tools
Acquire geometry of objects with active sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm etc.
Scanning tools
Acquire geometry of objects with active sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm etc.
Computer Vision
Infer 3D geometry from images Stereo Motion Constraints etc.
Computer Vision
Infer 3D geometry from images Stereo Motion Constraints etc.
Computer Vision
Infer 3D geometry from images Stereo Motion Constraints etc.
Debevec96
Procedural Modeling
Goal: Describe 3D models algorithmically
Best for models resulting from ... Repeating processes Self-similar processes Random processes
Advantages: Automatic generation Concise representation Parameterized classes of models
OutlineOutline
• AcquisitionAcquisitionSeashellsSeashells
• FractalsFractals
• VolumesVolumes
• Constructive Solid GeometryConstructive Solid Geometry
• Modeling ProgramsModeling Programs
Example: Seashells
Create 3D polygonal surface models of seashells
Fowler 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 axis
Fowler et al. Figure 1
Helico-spiral definition:
Example: Seashells
Connect adjacent points to form polygonal mesh
Fowler et al. Figure 6
Example: Seashells
Model is parameterized: Helico-spiral: z0,zr0,r Generating curve: shape, Nc,c
Fowler et al. Figure 1
Example: Seashells
Generate different shells by varying parameters
Fowler et al. Figure 2Different helico-spirals
Example: Seashells
Generate different shells by varying parameters
Fowler et al. Figure 3Different generating curves
Example: Seashells
Fowler et al. Figures 4,5,7
Generate many interesting shellswith a simple procedural model!
Generate many interesting shellswith a simple procedural model!
OutlineOutline
• AcquisitionAcquisition
• SeashellsSeashellsFractalsFractals
• VolumesVolumes
• Constructive Solid GeometryConstructive Solid Geometry
• Modeling ProgramsModeling Programs
Fractals
Defining property: Self-similar with infinite resolution
H&B Figure 10.100Mandelbrot Set
Fractals
Useful for describing natural 3D phenomenon Terrain Plants Clouds Water Feathers Fur etc.
H&B Figure 10.80
Fractal Generation
Deterministically self-similar fractals Parts are scaled copies of original
Statistically self-similar fractals Parts have same statistical properties as original
Deterministic Fractal Generation
General procedure: Initiator: start with a shape Generator: replace subparts with scaled copy of original
H&B Figure 10.68
Deterministic Fractal Generation
Apply generator repeatedly
H&B Figure 10.69
Koch Curve
Deterministic Fractal Generation
Mandelbrot Figure X
Useful for creating interesting shapes!
Deterministic Fractal Generation
Mandelbrot Figure 46
Useful for creating interesting shapes!
Deterministic Fractal Generation
H&B Figures 75 & 109
Useful for creating interesting shapes!
Fractal Generation
Deterministically self-similar fractals Parts are scaled copies of original
Statistically self-similar fractals Parts have same statistical properties as original
Statistical Fractal Generation
General procedure: Initiator: start with a shape Generator: replace subparts with a self-similar random
pattern
Random Midpoint Displacement
Statistical Fractal Generation
Example: terrain
H&B Figure 10.83b
Statistical Fractal Generation
H&B Figure 10.83a
Useful for creating mountains
Statistical Fractal Generation
H&B Figure 10.82
Useful for creating 3D plants
Statistical Fractal Generation
H&B Figure 10.79
Useful for creating 3D plants
OutlineOutline
• AcquisitionAcquisition
• SeashellsSeashells
• FractalsFractalsVolumesVolumes
• Constructive Solid GeometryConstructive Solid Geometry
• Modeling ProgramsModeling Programs
Solid Modeling
Represent solid interiors of objects Surface may not be described explicitly
Visible Human(National Library of Medicine)
SUNY Stony Brook
Motivation 1
Some acquisition methods generate solids Example: CAT scan
Stanford University
Motivation 2
Some applications require solids Example: CAD/CAM
Intergraph Corporation
Solid Modeling Representations
What makes a good solid representation? Accurate Concise Affine invariant Easy acquisition Guaranteed validity Efficient boolean operations Efficient display
Lorensen
Voxels
Partition space into uniform grid Grid cells are called a voxels (like pixels)
Store properties of solid object with each voxel Occupancy Color Density Temperature etc.
FvDFH Figure 12.20
Voxel Acquisition
Scanning devices MRI CAT
Simulation FEM
SUNY Stony Brook
Stanford University
Voxel Storage
O(n3) storage for nxnxn grid 1 billion voxels for 1000x1000x1000
Voxel Boolean Operations
Compare objects voxel by voxel Trivial
=
=
Voxel Display
Isosurface rendering Render surfaces bounding volumetric regions of
constant value (e.g., density)
Isosurface VisualizationPrinceton University
Voxel Display
Slicing Draw 2D image resulting from intersecting voxels
with a plane
Visible Human(National Library of Medicine)
Voxel Display
Ray casting Integrate density along rays through pixels
Engine BlockStanford University
Voxels
Advantages Simple, intuitive, unambiguous Same complexity for all objects Natural acquisition for some applications Trivial boolean operations
Disadvantages Approximate Not affine invariant Large storage requirements Expensive display
Quadtrees & Octrees
Refine resolution of voxels hierarchically More concise and efficient for non-uniform objects
Uniform Voxels Quadtree
FvDFH Figure 12.21
Quadtree Boolean Operations
A B
A BA B
FvDFH Figure 12.24
Quadtree Display
Extend voxel methods Slicing Isosurface extraction Ray casting
Finding neighbor cell requires traversal of hierarchy (O(1))
FvDFH Figure 12.25
OutlineOutline
• AcquisitionAcquisition
• SeashellsSeashells
• FractalsFractals
• VolumesVolumesConstructive Solid GeometryConstructive Solid Geometry
• Modeling ProgramsModeling Programs
Constructive Solid Geometry (CSG)
Represent solid object as hierarchy of boolean operations Union Intersection Difference
FvDFH Figure 12.27
CSG Acquisition
Interactive modeling programs CAD/CAM
H&B Figure 9.9
CSG Boolean Operations
Create a new CSG node joining subtrees Union Intersection Difference
FvDFH Figure 12.27
CSG Display & Analysis
Ray casting
Circle Box
Union
OutlineOutline
• AcquisitionAcquisition
• SeashellsSeashells
• FractalsFractals
• VolumesVolumes
• Constructive Solid GeometryConstructive Solid GeometryModeling ProgramsModeling Programs
Popular rendering programs
3D Studio Max ($3.5k) Made by Autodesk (makers of CAD programs) Runs only on Windows (Win32 and Win64) Movies made w/Max: Incredibles, X-Men, Star Wars III, etc.
Maya ($2k or $6k) Made by Alias
Originally by SGI Bought by Autodesk in Oct 2006
Runs on Windows, Linux Blender (free!)
Others are less well known and less used
http://en.wikipedia.org/wiki/Image:3dsmax8Screenshot.jpg
3D Studio Max
Maya
http://en.wikipedia.org/wiki/Image:Autodesk_Maya_8.0_win32.png
http://en.wikipedia.org/wiki/Image:Blender_node_screen_242a.jpg
Blender
Comparison of renderers
http://wiki.cgsociety.org/index.php/Comparison_of_3d_tools
And a better formatted version…
Elephant’s Dream
Downloadable at http://orange.blender.org/ An open movie
Meaning you can download the Blender files that were used to make it Made using only open-source software
Blender, GIMP, CinePaint, Inkscape, etc. Length is 11 minutes (including 90 sec of credits)
That’s 19,800 frames Took a 2.1 TFLOPS supercomputer cluster 125 days to render
Used Bowie State’s XSeed supercomputer Took 9 minutes and 2.8 Gb per frame
An “average” high-end PC has only a “few” GFLOPS (not TFLOPS!) So if you had a 3 Ghz computer w/4 Gb of RAM, it would take over 200 years to
render! Or 3 days per frame Assuming a 3 Gz computer can do 3 TFLOPS (a generous assumption)