Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
3D Object Representations • Raw data o Point cloud o Range image o Polygon soup Solid Modeling • Solids o o o o Voxels BSP tree CSG Sweep • Surfaces Adam Finkelstein Princeton University COS 426, Spring 2003 o o o o 3D Object Representations • Raw data o o o o • High-level structures o Scene graph o Skeleton o Application specific Implicit Surfaces • Solids o Point cloud o Range image o Polygon soup Mesh Subdivision Parametric Implicit • Points satisfying: F(x,y,z) = 0 Voxels BSP tree CSG Sweep • Surfaces o o o o • High-level structures Mesh Subdivision Parametric Implicit o Scene graph o Skeleton o Application specific Polygonal Model Implicit Model Bill Lorensen SIGGRAPH 99 Course #4 Notes Implicit Surfaces Implicit Surfaces • Example: quadric • Advantages: o f(x,y,z)=ax2+by2+cz2+2dxy+2eyz+2fxz+2gx+2hy+2jz +k • Common quadric surfaces: o o o o o Sphere Ellipsoid Torus Paraboloid Hyperboloid 2 2 o o o o Very concise Guaranteed validity Easy to test if point is on surface Easy to intersect two surfaces • Disadvantages: 2 x y z + + − 1 = 0 rx ry rz o Hard to describe complex shapes o Hard to enumerate points on surface o Hard to draw H&B Figure 10.10 1 3D Object Representations • Raw data o Point cloud o Range image o Polygon soup Solid Modeling • Solids o o o o • Represent solid interiors of objects Voxels BSP tree CSG Sweep o Surface may not be described explicitly • Surfaces o o o o Mesh Subdivision Parametric Implicit • High-level structures o Scene graph o Skeleton o Application specific SUNY Stoney Brook Visible Human (National Library of Medicine) Motivation 1 Motivation 2 • Some acquisition methods generate solids o Example: CAT scan • Some applications require solids o Example: CAD/CAM Intergraph Corporation Stanford University Motivation 3 Solid Modeling Representations • Some algorithms require solids • What makes a good solid representation? o Example: ray tracing with refraction o o o o o o o Addy Ngan and Zaijin Guan COS 426, 1998 Princeton University Accurate Concise Affine invariant Easy acquisition Guaranteed validity Efficient boolean operations Efficient display Lorensen 2 Solid Modeling Representations Solid Modeling Representations • Voxels • Voxels • Quadtrees & Octrees • Quadtrees & Octrees • Binary space partitions • Binary space partitions • Constructive solid geometry • Constructive solid geometry Voxels Voxel Acquisition • Partition space into uniform grid • Scanning devices o Grid cells are called a voxels (like pixels) • Store properties of solid object with each voxel o o o o o o MRI o CAT • Simulation Occupancy Color Density Temperature etc. o FEM Stanford University FvDFH Figure 12.20 Voxel Storage • O(n3) storage for nxnxn grid o 1 billion voxels for 1000x1000x1000 SUNY Stoney Brook Voxel Boolean Operations • Compare objects voxel by voxel o Trivial ∪ = ∩ = 3 Voxel Display Voxel Display • Isosurface rendering • Slicing o Render surfaces bounding volumetric regions of constant value (e.g., density) o Draw 2D image resulting from intersecting voxels with a plane Visible Human Isosurface Visualization Princeton University Voxel Display (National Library of Medicine) Voxels • Ray casting • Advantages o Integrate density along rays through pixels o o o o Simple, intuitive, unambiguous Same complexity for all objects Natural acquisition for some applications Trivial boolean operations • Disadvantages o o o o Approximate Not affine invariant Large storage requirements Expensive display Engine Block Stanford University Solid Modeling Representations • Voxels • Quadtrees & Octrees Quadtrees & Octrees • Refine resolution of voxels hierarchically o More concise and efficient for non-uniform objects • Binary space partitions • Constructive solid geometry Uniform Voxels Quadtree FvDFH Figure 12.21 4 Quadtree Boolean Operations A Quadtree Display • Extend voxel methods B A∪B o Slicing o Isosurface extraction o Ray casting Finding neighbor cell requires traversal of hierarchy (O(1)) A∩B FvDFH Figure 12.24 Solid Modeling Representations FvDFH Figure 12.25 Binary Space Partitions (BSPs) • Voxels • Recursive partition of space by planes o Mark leaf cells as inside or outside object • Quadtrees & Octrees • Binary space partitions a • Constructive solid geometry a 1 g a f e 5 d c b 2 Object 1 b 6 f d 7 c e b 2 c 3 d 4 3 e 4 f 5 Binary Spatial Partition 6 7 Binary Tree Naylor BSP Fundamentals BSP is a Search Structure Exploit hierarchy of convex regions Regions decrease in size along any tree path Regions converge in the limit to the surface Single geometric operation Partition a convex region by a hyperplane Single combinatorial operation Two child nodes added as leaf nodes Partitioned region Homogeneous region R h on R+ Initial Tree R ⇒ R- OUT on IN on R New tree + 1st level Approximation Naylor in on OUT R+ on OUT OUT R- ⇒ out out in on OUT on IN in on out on OUT 2nd level Approximation Naylor 5 BSP Acquisition BSP Boolean Operations • Must construct a “good” binary search structure o Efficiency comes from logarithmic tree depth o Each node V corresponds to a convex region containing all geometry in the subtree rooted at V o No intersection with bounding volume of V means no intersection with subtree rooted at V o Do detail work only in regions required o Boolean operations grow with O( log n) if “good” tree out OUT in in • Divide and conquer OUT IN in out out OUT “Bad” “Good” Naylor BSP Display Naylor Solid Modeling Representations • Visibility ordering • Voxels o Determine on which side of plane the viewer lies » near-subtree -> polygons on split -> far-subtree • Quadtrees & Octrees • Binary space partitions o2 A o1 A o3 C B C Viewer • Constructive solid geometry Partitioning Tree o4 B o1 3rd o2 o3 o4 4th 1st 2nd Viewer Naylor Constructive Solid Geometry (CSG) • Represent solid object as hierarchy of boolean operations CSG Acquisition • Interactive modeling programs o CAD/CAM o Union o Intersection o Difference FvDFH Figure 12.27 H&B Figure 9.9 6 CSG Boolean Operations CSG Display & Analysis • Create a new CSG node joining subtrees • Ray casting o Union o Intersection o Difference Union Circle Box FvDFH Figure 12.27 BSP No No No Some Yes Yes No No No No Some Yes Yes No Some No Yes No Yes Yes Yes CSG Octree Accurate Concise Affine invariant Easy acquisition Guaranteed validity Efficient boolean operations Efficient display Taxonomy of 3D Representations Voxels Summary Some Yes Yes Some No Yes No Discrete Continuous Voxels Combinatorial Functional Topological Set Membership Parametric Mesh Subdivision BSP Tree Cell Complex Bezier B-Spline Implicit Algebraic Naylor 7