Title: Modeling
1Modeling
- Aaron Bloomfield
- CS 445 Introduction to Graphics
- Fall 2006
- (Slide set originally by Greg Humphreys)
2Outline
- Acquisition
- Seashells
- Fractals
- Volumes
- Constructive Solid Geometry
- Modeling Programs
3Model Construction
- Interactive modeling tools
- CAD programs
- Subdivision surface editors )
- Scanning tools
- CAT, MRI, laser, magnetic, robotic arm, etc.
- Computer vision
- Stereo, motion, etc.
4Interactive Modeling Tools
- User constructs objects with drawing program
- Menu commands, direct manipulation, etc.
- CSG, parametric surfaces, quadrics, etc.
Cosmoworlds, SGI
5Interactive Modeling Tools
HB Figure 9.9
6Model Construction
- Interactive modeling tools
- CAD programs
- Subdivision surface editors )
- Scanning tools
- Laser, magnetic, robotic arm, etc.
- Computer vision
- Stereo, motion, etc.
7Scanning tools
- Acquire geometry of objects with active sensors
- CAT/MRI
- Laser range scanner
- Magnetic sensor
- Robotic arm
- etc.
Stanford Graphics Laboratory
Lorensen
8Scanning tools
- Acquire geometry of objects with active sensors
- CAT/MRI
- Laser range scanner
- Magnetic sensor
- Robotic arm
- etc.
Color
Depth
9Laser Range Scanning
- Example 70 scans
- Volumetric reconstruction
Stanford Graphics Laboratory
10Scanning tools
- Acquire geometry of objects with active sensors
- CAT/MRI
- Laser range scanner
- Magnetic sensor
- Robotic arm
- etc.
11Scanning tools
- Acquire geometry of objects with active sensors
- CAT/MRI
- Laser range scanner
- Magnetic sensor
- Robotic arm
- etc.
12Computer Vision
- Infer 3D geometry from images
- Stereo
- Motion
- Constraints
- etc.
13Computer Vision
- Infer 3D geometry from images
- Stereo
- Motion
- Constraints
- etc.
14Computer Vision
- Infer 3D geometry from images
- Stereo
- Motion
- Constraints
- etc.
Debevec96
15Procedural 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
16Outline
- Acquisition
- Seashells
- Fractals
- Volumes
- Constructive Solid Geometry
- Modeling Programs
17Example Seashells
- Create 3D polygonal surface models of seashells
Modeling Seashells, Deborah Fowler, Hans
Meinhardt, and Przemyslaw Prusinkiewicz, Computer
Graphics (SIGGRAPH 92), Chicago, Illinois,
July, 1992, p 379-387.
Fowler et al. Figure 7
18Example Seashells
- Sweep generating curve around helico-spiral axis
Helico-spiral definition
Fowler et al. Figure 1
19Example Seashells
- Connect adjacent points to form polygonal mesh
Fowler et al. Figure 6
20Example Seashells
- Model is parameterized
- Helico-spiral z0, lz, r0, lr, Nq, Dq
- Generating curve shape, Nc, lc
Fowler et al. Figure 1
21Example Seashells
- Generate different shells by varying parameters
Different helico-spirals
Fowler et al. Figure 2
22Example Seashells
- Generate different shells by varying parameters
Different generating curves
Fowler et al. Figure 3
23Example Seashells
Generate many interesting shells with a simple
procedural model!
Fowler et al. Figures 4,5,7
24Outline
- Acquisition
- Seashells
- Fractals
- Volumes
- Constructive Solid Geometry
- Modeling Programs
25Fractals
- Defining property
- Self-similar with infinite resolution
HB Figure 10.100
Mandelbrot Set
26Fractals
- Useful for describing natural 3D phenomenon
- Terrain
- Plants
- Clouds
- Water
- Feathers
- Fur
- etc.
HB Figure 10.80
27Fractal Generation
- Deterministically self-similar fractals
- Parts are scaled copies of original
- Statistically self-similar fractals
- Parts have same statistical properties as original
28Deterministic Fractal Generation
- General procedure
- Initiator start with a shape
- Generator replace subparts with scaled copy of
original
HB Figure 10.68
29Deterministic Fractal Generation
- Apply generator repeatedly
Koch Curve
HB Figure 10.69
30Deterministic Fractal Generation
- Useful for creating interesting shapes!
Mandelbrot Figure X
31Deterministic Fractal Generation
- Useful for creating interesting shapes!
Mandelbrot Figure 46
32Deterministic Fractal Generation
- Useful for creating interesting shapes!
HB Figures 75 109
33Fractal Generation
- Deterministically self-similar fractals
- Parts are scaled copies of original
- Statistically self-similar fractals
- Parts have same statistical properties as original
34Statistical Fractal Generation
- General procedure
- Initiator start with a shape
- Generator replace subparts with a self-similar
random pattern
Random Midpoint Displacement
35Statistical Fractal Generation
HB Figure 10.83b
36Statistical Fractal Generation
- Useful for creating mountains
HB Figure 10.83a
37Statistical Fractal Generation
- Useful for creating 3D plants
HB Figure 10.82
38Statistical Fractal Generation
- Useful for creating 3D plants
HB Figure 10.79
39Outline
- Acquisition
- Seashells
- Fractals
- Volumes
- Constructive Solid Geometry
- Modeling Programs
40Solid Modeling
- Represent solid interiors of objects
- Surface may not be described explicitly
SUNY Stony Brook
Visible Human (National Library of Medicine)
41Motivation 1
- Some acquisition methods generate solids
- Example CAT scan
Stanford University
42Motivation 2
- Some applications require solids
- Example CAD/CAM
Intergraph Corporation
43Solid Modeling Representations
- What makes a good solid representation?
- Accurate
- Concise
- Affine invariant
- Easy acquisition
- Guaranteed validity
- Efficient boolean operations
- Efficient display
Lorensen
44Voxels
- 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
45Voxel Acquisition
- Scanning devices
- MRI
- CAT
- Simulation
- FEM
Stanford University
SUNY Stony Brook
46Voxel Storage
- O(n3) storage for nxnxn grid
- 1 billion voxels for 1000x1000x1000
47Voxel Boolean Operations
- Compare objects voxel by voxel
- Trivial
?
?
48Voxel Display
- Isosurface rendering
- Render surfaces bounding volumetric regions of
constant value (e.g., density)
Isosurface Visualization Princeton University
49Voxel Display
- Slicing
- Draw 2D image resulting from intersecting voxels
with a plane
Visible Human (National Library of Medicine)
50Voxel Display
- Ray casting
- Integrate density along rays through pixels
Engine Block Stanford University
51Voxels
- 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
52Quadtrees Octrees
- Refine resolution of voxels hierarchically
- More concise and efficient for non-uniform objects
Uniform Voxels
Quadtree
FvDFH Figure 12.21
53Quadtree Boolean Operations
A
B
A ? B
A ? B
FvDFH Figure 12.24
54Quadtree Display
- Extend voxel methods
- Slicing
- Isosurface extraction
- Ray casting
Finding neighbor cell requires traversal of
hierarchy (O(1))
FvDFH Figure 12.25
55Outline
- Acquisition
- Seashells
- Fractals
- Volumes
- Constructive Solid Geometry
- Modeling Programs
56Constructive Solid Geometry (CSG)
- Represent solid object as hierarchy of boolean
operations - Union
- Intersection
- Difference
FvDFH Figure 12.27
57CSG Acquisition
- Interactive modeling programs
- CAD/CAM
HB Figure 9.9
58CSG Boolean Operations
- Create a new CSG node joining subtrees
- Union
- Intersection
- Difference
FvDFH Figure 12.27
59CSG Display Analysis
Union
Box
Circle
60Outline
- Acquisition
- Seashells
- Fractals
- Volumes
- Constructive Solid Geometry
- Modeling Programs
61Popular 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
623D Studio Max
- http//en.wikipedia.org/wiki/Image3dsmax8Screensh
ot.jpg
63Maya
- http//en.wikipedia.org/wiki/ImageAutodesk_Maya_8
.0_win32.png
64Blender
- http//en.wikipedia.org/wiki/ImageBlender_node_sc
reen_242a.jpg
65Comparison of renderers
- http//wiki.cgsociety.org/index.php/Comparison_of_
3d_tools - And a better formatted version
66Elephants 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) - Thats 19,800 frames
- Took a 2.1 TFLOPS supercomputer cluster 125 days
to render - Used Bowie States 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)