Overview of Modeling 2001.2.10 김성남
Modeling Main issue How do we … • Represent 3D objects in a computer? • Construct such represents quickly and/or automatically with a computer? • Manipulate 3D objects with a computer? ※Different methods for different object representations.
Examples How can these objects be represneted in a computer?
Representations of Geometry 3D Representations provide the foundations • Computer Graphics • Computer-Aided Geometric Design • Visualization • Robotics … They are languages for describing geometry Semantics Syntax values data structures operations algorithms
3D Object Representations Raw data • Point cloud,Range image,Polygon soup … Surfaces • Mesh,Subdivision,Parametric,Implicit … Solids • Voxels,BSP tree,Octree,CSG,Sweep …
Point Cloud Unstructed set of 3D point samples • range finder,computer vision, etc
Range Image Set of 3D points mapping to pixels of depth image • acquired from range scanner Range Image Tesselation Range Surface
Polygon Soup Unstructed set of polygons • Created with interactive modeling systems.
Mesh Connected set of polygons (usually triangles) • may not be closed
Subdivision Surface Coarse mesh & subdivision rule • Define smooth surface as limit of sequence of refinements
Parametric Surface Tensor product spline patchs • Careful constraints to maintain continuity
Implicit Surface Points satisfying F(x,y,z) = 0 y X + Y – R = 0 x R 2 2 2 (0,0) x
Voxels Uniform grid of volumetric samples • acquired from CAT,MRI, etc
BSP tree Binary Space Partition tree recursively divide space into pairs of subspaces, each separated by a plane of arbitrary orientation and position. ⇒ determine visible surfaces Left child ⇒ inside, Right child ⇒ outside
Octree Spatical coherence to reduce storage requirement for 3D objects. ⇒ until homogeneous ⇒ 공간분할 1 2 3 1 2 3 1 1 Data Element In quadtree node 3 2 3 2 1 2 3 2D space < Quadtree >
Octree 7 4 5 1 2 3 4 5 6 7 1 Data Element In octree node 6 3 2 1 2 3 4 5 6 7 1 Data Element In octree node 6 3 2 3D space
CSG Constructive Solid Geometry • Hierachy of boolean set operations - Union - Difference - Intersection • applied to simple shapes
Sweep Useful for constructing 3D objects that possess - translational - rotational - other symmetries v u u v P(u) P(u,v) P(u,v)
Taxonomy of 3D Representations Discrete Continuous Voxel Combinational Functional Topological Set Membership Parametric Implicit Mesh BSP tree Bezier Algebraic Subdivision Octree B - Spline