Graphics 3 D Object Representation cgvr korea ac
Graphics 3 D Object Representation 고려대학교 컴퓨터 그래픽스 연구실 cgvr. korea. ac. kr Graphics Lab @ Korea University
Overview n 3 D Geometric Primitives n n n CGVR Point Line Plane Polygon Sphere 3 D Object Representations Raw data n Surfaces n Solids n High-Level Structure n cgvr. korea. ac. kr Graphics Lab @ Korea University
3 D Geometric Primitives n n n n CGVR Point Line Segment Polygon Polyhedron Curved Surface Solid Object Etc. cgvr. korea. ac. kr Graphics Lab @ Korea University
3 D Point n CGVR Specifies a Location Represented by three coordinates n Infinitely small n typedef struct{ Coordinate x; Coordinate y; (x, y, z) Coordinate z; } Point; cgvr. korea. ac. kr Graphics Lab @ Korea University
3 D Vector n CGVR Specifies a Direction and a Magnitude Represented by three coordinates n Magnitude ||v||=sqrt(dxdx + dydy +dzdz) n Has no location typedef struct{ (dx 1, dy 1, dz 1) n Coordinate x; Coordinate y; Coordinate z; } Vector; n (dx 2, dy 2, dz 2) Dot product of two 3 D vector V 1 V 2 = dx 1 dx 2 + dy 1 dy 2 + dz 1 dz 2 n V 1 V 2 = ||V 1||||V 2|| cos( ) n cgvr. korea. ac. kr Graphics Lab @ Korea University
3 D Line n CGVR Line Segment with Both Endpoints at Infinity n Parametric representation o P=P 1+t. V, ( typedef struct{ Point P 1; Vector V; } Line; cgvr. korea. ac. kr ) P 1 V Graphics Lab @ Korea University
3 D Ray n CGVR Line Segment with One Endpoints at Infinity n Parametric representation o P=P 1+t. V, ( typedef struct{ Point P 1; Vector V; } Ray; cgvr. korea. ac. kr ) P 1 V Graphics Lab @ Korea University
3 D Line Segment n CGVR Specifies a Linear Combination of Two Points n Parametric representation o P=P 1 + t(P 2 - P 1), ( typedef struct{ Point P 1; Point P 2; } Segment; cgvr. korea. ac. kr ) P 2 P 1 Graphics Lab @ Korea University
3 D Plane n CGVR Specifies a Linear Combination of Three Points n Implicit representation N=(a, b, c) P N + d = 0, or o ax + by + cz + d = 0 o typedef struct{ Vector N; Distance d; } Plane; P 1 P 3 P 2 d Origin cgvr. korea. ac. kr Graphics Lab @ Korea University
3 D Polygon n CGVR Area “Inside” a Sequence of Coplanar Points n n n n Triangle Quadrilateral Convex Star-shaped Concave Self-Intersecting Hole typedef struct{ Point *Points; int npoints; } Polygon; cgvr. korea. ac. kr Points are in counter-clockwise order Graphics Lab @ Korea University
3 D Sphere n CGVR All Points at Distance “r” from Point (cx, cy, cz) n Implicit representation o n (x-cx)2 + (y-cy)2 + (z-cz) 2 = r 2 Parametric representation x= r sin( ) cos( ) o y= r sin( ) o z= r cos( ) o cgvr. korea. ac. kr (cx, cy, cz) r Graphics Lab @ Korea University
3 D Object Representations n CGVR Raw Data Point cloud n Range image n Polygon soup n n Surfaces n n Mesh, Subdivision, Parametric, Implicit Solids n Voxel, BSP tree, CSG, Sweep cgvr. korea. ac. kr Graphics Lab @ Korea University
Point Cloud n CGVR Unstructured Set of 3 D Point Samples n Acquired from range finder, computer vision, etc cgvr. korea. ac. kr Graphics Lab @ Korea University
Range Image n CGVR Set of 3 D Points Mapping to Pixels of Depth Image n Acquired from range scanner Range Image cgvr. korea. ac. kr Tessellation Range Surface Graphics Lab @ Korea University
Polygon Soup n CGVR Unstructured Set of Polygons n Created with interactive modeling systems cgvr. korea. ac. kr Graphics Lab @ Korea University
3 D Object Representations n Raw Data n n CGVR Point cloud, Range image, Polygon soup Surfaces Mesh n Subdivision n Parametric n Implicit n n Solids n Voxel, BSP tree, CSG, Sweep cgvr. korea. ac. kr Graphics Lab @ Korea University
Mesh n CGVR Connected Set of Polygons (Usually Triangles) n May not be closed cgvr. korea. ac. kr Graphics Lab @ Korea University
Subdivision Surfaces n CGVR Coarse Mesh & Subdivision Rule n Define smooth surface as limit of sequence of refinements cgvr. korea. ac. kr Graphics Lab @ Korea University
Parametric Surfaces n CGVR Tensor Product Spline Patches n Careful constraints to maintain continuity cgvr. korea. ac. kr Graphics Lab @ Korea University
Implicit Surface n CGVR Points satisfying: F(x, y, z) = 0 Polygonal Model cgvr. korea. ac. kr Implicit Model Graphics Lab @ Korea University
3 D Object Representations n Raw Data n n Point cloud, Range image, Polygon soup Surfaces n n CGVR Mesh, Subdivision, Parametric, Implicit Solids Voxel n BSP tree n CSG n Sweep n cgvr. korea. ac. kr Graphics Lab @ Korea University
Voxels n CGVR Uniform Grid of Volumetric Samples n Acquired from CAT, MRI, etc. cgvr. korea. ac. kr Graphics Lab @ Korea University
BSP Tree n CGVR Binary Space Partition with Solid Cells Labeled n Constructed from polygonal representations a 1 g a a 6 f f 5 e e b d c b 7 4 d g cgvr. korea. ac. kr 2 c 3 c 2 Object 1 b Binary Spatial Partition 3 d e 4 f 5 6 7 BSP Tree Graphics Lab @ Korea University
CSG n CGVR Hierarchy of Boolean Set Operations (Union, Difference, Intersect) Applied to Simple Shapes cgvr. korea. ac. kr Graphics Lab @ Korea University
Sweep n CGVR Solid Swept by Curve Along Trajectory Constructing a Torus using Rotational Sweep cgvr. korea. ac. kr Graphics Lab @ Korea University
Summary n CGVR Taxonomy of 3 D Object Representations Discrete Continuous Voxel Combinational Topological Mesh Subdivision cgvr. korea. ac. kr Set Membership BSP Tree Functional Parametric Bezier B-Spline Implicit Algebraic Graphics Lab @ Korea University
- Slides: 26