260 likes | 406 Views
Solid Modeling. 고려대학교 그래픽스 연구실. Solid Modeling. Represent Solid Interiors of Objects Surface may not be described explicitly. Motivation. Some Acquisition Methods Generate Solids Example: CAT scan. Motivation. Some Applications Require Solids Example: CAD/CAM. Motivation.
E N D
Solid Modeling 고려대학교 그래픽스 연구실 cgvr.korea.ac.kr
Solid Modeling • Represent Solid Interiors of Objects • Surface may not be described explicitly cgvr.korea.ac.kr
Motivation • Some Acquisition Methods Generate Solids • Example: CAT scan cgvr.korea.ac.kr
Motivation • Some Applications Require Solids • Example: CAD/CAM cgvr.korea.ac.kr
Motivation • Some Algorithms Require Solids • Example: ray tracing with refraction cgvr.korea.ac.kr
Solid Modeling Representation • Voxels • Quadtrees & Octrees • Binary Space Partitions • Constructive Solid Geometry cgvr.korea.ac.kr
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.korea.ac.kr
Voxel Acquisition • Scanning Devices • MRI • CAT • Simulation • FEM cgvr.korea.ac.kr
Voxel Storage • O(n3) Storage for n x n x n Grid • 1 billion voxels for 1000 x 1000 x 1000 cgvr.korea.ac.kr
Voxel Boolean Operations • Compare Objects Voxel by Voxel cgvr.korea.ac.kr
Voxel Display • Isosurface Rendering • Render surfaces bounding volumetric regions of constant value (e.g., density) cgvr.korea.ac.kr
Voxel Display • Slicing • Draw 2D image resulting from intersecting voxels with a plane cgvr.korea.ac.kr
Voxel Display • Ray Casting • Integrate density along rays through pixels cgvr.korea.ac.kr
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.korea.ac.kr
Solid Modeling Representation • Voxels • Quadtrees & Octrees • Binary Space Partitions • Constructive Solid Geometry cgvr.korea.ac.kr
Quadtrees & Octrees • Refine Resolution of Voxels Hierarchically • More concise and efficient for non-uniform objects Quadtree Uniform Voxel cgvr.korea.ac.kr
Quadtree Boolean Operations cgvr.korea.ac.kr
Solid Modeling Representation • Voxels • Quadtrees & Octrees • Binary Space Partitions • Constructive Solid Geometry cgvr.korea.ac.kr
Binary Space Partitions (BSPs) • Recursive Partition of Space by Planes • Mark leaf cells as inside or outside object 1 a b 1 g g a a 6 c 2 f f 3 d 3 5 e e 7 e 4 d c 4 d c b b f 5 2 6 7 Object Binary Spatial Partition BSP Tree cgvr.korea.ac.kr
BSP Fundamentals • Single Geometric Operation • Partition a convex region by a hyperplane • Single Combinatorial Operation • Two child nodes added as leaf nodes cgvr.korea.ac.kr
BSP Display • Visibility Ordering • Determine on which side of plane the viewer lies • Near-subtree -> polygons on split -> far-subtree Partitioning Tree A o2 A B o4 B C o1 C o1 o2 o3 o4 o3 3rd 4th 1st 2nd Viewer Viewer cgvr.korea.ac.kr
Solid Modeling Representation • Voxels • Quadtrees & Octrees • Binary Space Partitions • Constructive Solid Geometry cgvr.korea.ac.kr
Constructive Solid Geometry (CSG) • Represent Solid Object as Hierarchy of Boolean Operations • Union • Intersection • Difference cgvr.korea.ac.kr
CSG Acquisition • Interactive Modeling Programs • CAD/CAM cgvr.korea.ac.kr
CSG Display & Analysis • Ray Casting Union Circle Box cgvr.korea.ac.kr
Summary Voxels Octree BSP CSG Accurate No No Some Some Concise No No No Yes Affine Invariant No No Yes Yes Easy Acquisition Some Some No Some Guaranteed Validity Yes Yes Yes No Efficient Boolean Operations Yes Yes Yes Yes Efficient Display No No Yes No cgvr.korea.ac.kr