Graphics
Graphics Lab @ Korea University
Creating Virtual World I
김 창 헌 Department of Computer Science
Korea University http://cgvr.korea.ac.kr/courses/2002/cse425/
CGVR
Graphics Lab @ Korea University
Overview
Model Construction
3D Object Representation
Subdivision Surfaces
Solid Modeling
CGVR
Graphics Lab @ Korea University
Model Construction
Interactive Modeling Tools CAD programs Subdivision surface editors
Scanning Tools CAT, MRI, laser, magnetic, robotic arm, etc.
Computer Vision Stereo, motion, etc.
Procedural Generation Sweeps, fractals, grammars
CGVR
Graphics Lab @ Korea University
Interactive Modeling Tools
User Constructs Objects with Drawing Program
CGVR
Graphics Lab @ Korea University
Model Construction
Interactive Modeling Tools CAD programs, subdivision surface editors
Scanning Tools CAT, MRI Laser Range Scanning Magnetic, robotic arm
Computer Vision Stereo, motion, etc.
Procedural Generation Sweeps, fractals, grammars
CGVR
Graphics Lab @ Korea University
Scanning Tools
Acquire Geometry of Objects with Active Sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm Etc.
CGVR
Graphics Lab @ Korea University
Scanning Tools
Acquire Geometry of Objects with Active Sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm Etc.
Color
Depth
CGVR
Graphics Lab @ Korea University
Scanning Tools
Acquire Geometry of Objects with Active Sensors CAT/MRI Laser range scanner Magnetic sensor Robotic arm Etc.
CGVR
Graphics Lab @ Korea University
Model Construction
Interactive Modeling Tools CAD programs Subdivision surface editors
Scanning Tools CAT, MRI, laser, magnetic, robotic arm, etc.
Computer Vision Stereo Motion
Procedural Generation Sweeps, fractals, grammars
CGVR
Graphics Lab @ Korea University
Computer Vision
Infer 3D Geometry from Images Stereo Motion Constraints Etc.
CGVR
Graphics Lab @ Korea University
Computer Vision
Infer 3D Geometry from Images Stereo Motion Constraints Etc.
CGVR
Graphics Lab @ Korea University
Computer Vision
Infer 3D Geometry from Images Stereo Motion Constraints Etc.
CGVR
Graphics Lab @ Korea University
Model Construction
Interactive Modeling Tools CAD programs, subdivision surface editors
Scanning Tools CAT, MRI, laser, magnetic, robotic arm, etc.
Computer Vision Stereo, motion, etc.
Procedural Generation Sweeps Fractals Grammars
CGVR
Graphics Lab @ Korea University
Procedural Generation
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
CGVR
Graphics Lab @ Korea University
Sweep
Generate Different Shells by Varying Parameters
Different helico-spirals Different generating curves
CGVR
Graphics Lab @ Korea University
Fractal
Defining Property: Self-similar with infinite resolution
Mandelbrot Set
CGVR
Graphics Lab @ Korea University
Fractal
Useful for Describing Natural 3D Phenomenon Terrain Plants Clouds Water Feathers Fur Etc.
CGVR
Graphics Lab @ Korea University
Deterministically Self-Similar Fractal
Useful for Creating Interesting Shapes
CGVR
Graphics Lab @ Korea University
Statistically Self-Similar Fractal
Useful for Creating Mountains and Trees
CGVR
Graphics Lab @ Korea University
Grammar
Generate Description of Geometric Model by Applying Production Rules Useful for creating plants
Example:
Tree Branch Tree | Leaf
Branch Cylinder | [ Tree ]
C[CL]C[C[CL][CL]]C[[CL][CL]] C[*]C[*][*]
CGVR
Graphics Lab @ Korea University
Creating Virtual World
Model Construction
3D Object Representation
Subdivision Surfaces
Solid Modeling
CGVR
Graphics Lab @ Korea University
3D Object Representations
Raw Data Point cloud Range image Polygon soup
Surfaces Mesh, Subdivision, Parametric, Implicit
Solids Voxel, BSP tree, CSG, Sweep
CGVR
Graphics Lab @ Korea University
Point Cloud
Unstructured Set of 3D Point Samples Acquired from range finder, computer vision, etc
CGVR
Graphics Lab @ Korea University
Range Image
Set of 3D Points Mapping to Pixels of Depth Image Acquired from range scanner
Range Image Tessellation Range Surface
CGVR
Graphics Lab @ Korea University
Polygon Soup
Unstructured Set of Polygons Created with interactive modeling systems
CGVR
Graphics Lab @ Korea University
3D Object Representations
Raw Data Point cloud, Range image, Polygon soup
Surfaces Mesh Subdivision Parametric Implicit
Solids Voxel, BSP tree, CSG, Sweep
CGVR
Graphics Lab @ Korea University
Mesh
Connected Set of Polygons (Usually Triangles) May not be closed
CGVR
Graphics Lab @ Korea University
Subdivision Surfaces
Coarse Mesh & Subdivision Rule Define smooth surface as limit of sequence of
refinements
CGVR
Graphics Lab @ Korea University
Parametric Surfaces
Tensor Product Spline Patches Careful constraints to maintain continuity
CGVR
Graphics Lab @ Korea University
Implicit Surface
Points satisfying: F(x,y,z) = 0
Polygonal Model Implicit Model
CGVR
Graphics Lab @ Korea University
3D Object Representations
Raw Data Point cloud, Range image, Polygon soup
Surfaces Mesh, Subdivision, Parametric, Implicit
Solids Voxel BSP tree CSG Sweep
CGVR
Graphics Lab @ Korea University
Voxels
Uniform Grid of Volumetric Samples Acquired from CAT, MRI, etc.
CGVR
Graphics Lab @ Korea University
BSP Tree
Binary Space Partition with Solid Cells Labeled Constructed from polygonal representations
a
bcd
e
f
g
Object
a
bcd
e
f
g
Binary Spatial Partition
1
2
3
4
5
6
7
1
2
a
3
b
c
4
d
5
6
e
7
f
BSP Tree
CGVR
Graphics Lab @ Korea University
CSG
Hierarchy of Boolean Set Operations (Union, Difference, Intersect) Applied to Simple Shapes
CGVR
Graphics Lab @ Korea University
Sweep
Solid Swept by Curve Along Trajectory
Constructing a Torus using Rotational Sweep
CGVR
Graphics Lab @ Korea University
Summary3D Object Representations
Taxonomy of 3D Object Representations
VoxelVoxel
Discrete Continuous
Combinational Functional
MeshSubdivision
MeshSubdivision
BSP TreeBSP Tree BezierB-Spline
BezierB-Spline
AlgebraicAlgebraic
Topological Set Membership Parametric Implicit
CGVR
Graphics Lab @ Korea University
Creating Virtual World
Model Construction
3D Object Representation
Subdivision Surfaces
Solid Modeling
CGVR
Graphics Lab @ Korea University
Subdivision Surfaces
Coarse Mesh & Subdivision Rule Define smooth surface as limit of sequence of
refinements
CGVR
Graphics Lab @ Korea University
Loop Subdivision Scheme
How Refine Mesh? Refine each triangle into 4 triangles by splitting each
edge and connecting new vertices
CGVR
Graphics Lab @ Korea University
Loop Subdivision Scheme
Limit Surface Has Provable Smoothness Properties
CGVR
Graphics Lab @ Korea University
Subdivision Schemes
There are different subdivision schemes Different methods for refining topology Different rules for positioning vertices
Interpolating versus approximating
Face Split Vertex Split
Doo-Sabin, Midege (C1)
Biquartic (C2)Catmull-Clark (C2)
Kobbelt (C1)
Quad. Meshes
Loop (C2)
Mod. Butterfly (C1)
Triangular Meshes
Approximating
Interpolating
CGVR
Graphics Lab @ Korea University
Polygon Meshes
Mesh Representations Independent faces Vertex and face tables Adjacency lists Winged-Edge
CGVR
Graphics Lab @ Korea University
SummarySubdivision Surface
Advantages: Simple method for describing complex surfaces Relatively easy to implement Arbitrary topology Smoothness guarantees Multiresolution
Difficulties: Intuitive specification Parameterization Intersections
CGVR
Graphics Lab @ Korea University
Creating Virtual World
Model Construction
3D Object Representation
Subdivision Surfaces
Solid Modeling
CGVR
Graphics Lab @ Korea University
Solid Modeling
Represent Solid Interiors of Objects Surface may not be described explicitly
CGVR
Graphics Lab @ Korea University
Solid Modeling Representation
Voxels Quadtrees & Octrees Binary Space Partitions Constructive Solid Geometry
CGVR
Graphics Lab @ Korea University
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.
CGVR
Graphics Lab @ Korea University
Voxel Display
Isosurface Rendering Render surfaces bounding volumetric regions of cons
tant value (e.g., density)
CGVR
Graphics Lab @ Korea University
Voxel Display
Ray Casting Integrate density along rays through pixels
CGVR
Graphics Lab @ Korea University
Voxels
Advantages Simple, intuitive, unambiguous Same complexity for all objects Natural acquisition for some applications Trivial boolean operations
Disadvantages Approximate Large storage requirements Expensive display
CGVR
Graphics Lab @ Korea University
Solid Modeling Representation
Voxels Quadtrees & Octrees Binary Space Partitions Constructive Solid Geometry
CGVR
Graphics Lab @ Korea University
Quadtrees & Octrees
Refine Resolution of Voxels Hierarchically More concise and efficient for non-uniform objects
Uniform Voxel Quadtree
CGVR
Graphics Lab @ Korea University
Solid Modeling Representation
Voxels Quadtrees & Octrees Binary Space Partitions Constructive Solid Geometry
CGVR
Graphics Lab @ Korea University
Binary Space Partitions (BSPs)
Recursive Partition of Space by Planes Mark leaf cells as inside or outside object
a
bcd
e
f
g
Object
a
bcd
e
f
g
Binary Spatial Partition
1
2
3
4
5
6
7
1
2
a
3
b
c
4
d
5
6
e
7
f
BSP Tree
CGVR
Graphics Lab @ Korea University
Solid Modeling Representation
Voxels Quadtrees & Octrees Binary Space Partitions Constructive Solid Geometry
CGVR
Graphics Lab @ Korea University
+
ㅡ
Block 1 Block 2
Cylinder
Constructive Solid Geometry (CSG)
Represent Solid Object as Hierarchy of Boolean Operations Union Intersection Difference