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