Beruflich Dokumente
Kultur Dokumente
Solid Modeling
Adam Finkelstein Princeton University COS 426, Spring 2003
Surfaces
o o o o Mesh Subdivision Parametric Implicit
High-level structures
o Scene graph o Skeleton o Application specific
3D Object Representations
Raw data
o Point cloud o Range image o Polygon soup
Implicit Surfaces
Points satisfying: F(x,y,z) = 0
Solids
o o o o Voxels BSP tree CSG Sweep
Surfaces
o o o o Mesh Subdivision Parametric Implicit
High-level structures
o Scene graph o Skeleton o Application specific Polygonal Model Implicit Model
Bill Lorensen SIGGRAPH 99 Course #4 Notes
Implicit Surfaces
Example: quadric
o f(x,y,z)=ax2+by2+cz2+2dxy+2eyz+2fxz+2gx+2hy+2jz +k
Implicit Surfaces
Advantages:
o o o o Very concise Guaranteed validity Easy to test if point is on surface Easy to intersect two surfaces
x y z + + 1 = 0 r r r x y z
Disadvantages:
o Hard to describe complex shapes o Hard to enumerate points on surface o Hard to draw
3D Object Representations
Raw data
o Point cloud o Range image o Polygon soup
Solid Modeling
Represent solid interiors of objects
o Surface may not be described explicitly
Solids
o o o o Voxels BSP tree CSG Sweep
Surfaces
o o o o Mesh Subdivision Parametric Implicit
High-level structures
o Scene graph o Skeleton o Application specific
Visible Human
(National Library of Medicine)
Motivation 1
Some acquisition methods generate solids
o Example: CAT scan
Motivation 2
Some applications require solids
o Example: CAD/CAM
Stanford University
Intergraph Corporation
Motivation 3
Some algorithms require solids
o Example: ray tracing with refraction
Addy Ngan and Zaijin Guan COS 426, 1998 Princeton University
Lorensen
Voxels
Partition space into uniform grid
o Grid cells are called a voxels (like pixels)
Voxel Acquisition
Scanning devices
o MRI o CAT
Simulation
o FEM
Stanford University
Voxel Storage
O(n3) storage for nxnxn grid
o 1 billion voxels for 1000x1000x1000
Voxel Display
Isosurface rendering
o Render surfaces bounding volumetric regions of constant value (e.g., density)
Voxel Display
Slicing
o Draw 2D image resulting from intersecting voxels with a plane
Visible Human
(National Library of Medicine)
Voxel Display
Ray casting
o Integrate density along rays through pixels
Voxels
Advantages
o o o o o o o o
Engine Block Stanford University
Simple, intuitive, unambiguous Same complexity for all objects Natural acquisition for some applications Trivial boolean operations Approximate Not affine invariant Large storage requirements Expensive display
Disadvantages
Uniform Voxels
Quadtree
FvDFH Figure 12.21
Quadtree Display
Extend voxel methods
o Slicing o Isosurface extraction o Ray casting
AB
AB
a f e b Object d
Naylor
BSP Fundamentals
Single geometric operation Partition a convex region by a hyperplane Single combinatorial operation Two child nodes added as leaf nodes
Homogeneous region R
on OUT IN on on OUT
OUT
on
out in IN in
on on
OUT
on
OUT
on
in out
on
Initial Tree
New tree R-
R + R+
out
Naylor
Naylor
BSP Acquisition
Must construct a good binary search structure
o Efficiency comes from logarithmic tree depth
in out
Bad
Good
Naylor Naylor
BSP Display
Visibility ordering
o Determine on which side of plane the viewer lies near-subtree -> polygons on split -> far-subtree
A o4 C o3
Viewer 3rd
o2 B o1
Partitioning Tree A B o1 o2
4th
C o3
1st Viewer
o4
2nd
Naylor
CSG Acquisition
Interactive modeling programs
o CAD/CAM
Circle
Summary
Voxels Octree CSG BSP
Taxonomy of 3D Representations
Accurate Concise Affine invariant Easy acquisition Guaranteed validity Efficient boolean operations Efficient display
Discrete Voxels
Continuous
Combinatorial
Functional
Topological Set Membership Parametric Mesh Subdivision BSP Tree Cell Complex Bezier B-Spline
Implicit Algebraic
Naylor