07object3d
DESCRIPTION
TRANSCRIPT
![Page 1: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/1.jpg)
Graphics
cgvr.korea.ac.kr Graphics Lab @ Korea University
3D Object Representation
고려대학교 컴퓨터 그래픽스 연구실
![Page 2: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/2.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Overview
3D Geometric Primitives Point Line Plane Polygon Sphere
3D Object Representations Raw data Surfaces Solids High-Level Structure
![Page 3: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/3.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Geometric Primitives
Point Line Segment Polygon Polyhedron Curved Surface Solid Object Etc.
![Page 4: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/4.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
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)
![Page 5: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/5.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Vector
Specifies a Direction and a Magnitude Represented by three coordinates Magnitude ||v||=sqrt(dxdx + dydy +dzdz) Has no location
Dot product of two 3D vector V1 V2 = dx1dx2 + dy1dy2 + dz1dz2
V1 V2 = ||V1||||V2|| cos( )
typedef struct{ Coordinate x; Coordinate y; Coordinate z;} Vector;
typedef struct{ Coordinate x; Coordinate y; Coordinate z;} Vector;
(dx1, dy1, dz1)
(dx2, dy2, dz2)
![Page 6: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/6.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Line
Line Segment with Both Endpoints at Infinity Parametric representation
P=P1+tV, ( ) t
typedef struct{ Point P1; Vector V;} Line;
typedef struct{ Point P1; Vector V;} Line;
P1
V
![Page 7: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/7.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Ray
Line Segment with One Endpoints at Infinity Parametric representation
P=P1+tV, ( )t0
typedef struct{ Point P1; Vector V;} Ray;
typedef struct{ Point P1; Vector V;} Ray;
P1
V
![Page 8: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/8.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Line Segment
Specifies a Linear Combination of Two Points Parametric representation
P=P1 + t(P2 - P1), ( )10 t
typedef struct{ Point P1; Point P2;} Segment;
typedef struct{ Point P1; Point P2;} Segment;
P1
P2
![Page 9: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/9.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
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)
P3
P2
P1
Origin
d
![Page 10: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/10.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
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
![Page 11: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/11.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Sphere
All Points at Distance “r” from Point (cx, cy, cz) Implicit representation
(x-cx)2 + (y-cy)2 + (z-cz) 2 = r 2
Parametric representation x= r sin( ) cos( ) y= r sin( ) sin( ) z= r cos( )
r(cx, cy, cz)
![Page 12: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/12.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Object Representations
Raw Data Point cloud Range image Polygon soup
Surfaces Mesh, Subdivision, Parametric, Implicit
Solids Voxel, BSP tree, CSG, Sweep
![Page 13: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/13.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Point Cloud
Unstructured Set of 3D Point Samples Acquired from range finder, computer vision, etc
![Page 14: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/14.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Range Image
Set of 3D Points Mapping to Pixels of Depth Image Acquired from range scanner
Range Image Tessellation Range Surface
![Page 15: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/15.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Polygon Soup
Unstructured Set of Polygons Created with interactive modeling systems
![Page 16: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/16.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Object Representations
Raw Data Point cloud, Range image, Polygon soup
Surfaces Mesh Subdivision Parametric Implicit
Solids Voxel, BSP tree, CSG, Sweep
![Page 17: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/17.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Mesh
Connected Set of Polygons (Usually Triangles) May not be closed
![Page 18: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/18.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Subdivision Surfaces
Coarse Mesh & Subdivision Rule Define smooth surface as limit of sequence of
refinements
![Page 19: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/19.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Parametric Surfaces
Tensor Product Spline Patches Careful constraints to maintain continuity
![Page 20: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/20.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Implicit Surface
Points satisfying: F(x,y,z) = 0
Polygonal Model Implicit Model
![Page 21: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/21.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
3D Object Representations
Raw Data Point cloud, Range image, Polygon soup
Surfaces Mesh, Subdivision, Parametric, Implicit
Solids Voxel BSP tree CSG Sweep
![Page 22: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/22.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Voxels
Uniform Grid of Volumetric Samples Acquired from CAT, MRI, etc.
![Page 23: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/23.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
BSP Tree
Binary Space Partition with Solid Cells Labeled Constructed from polygonal representations
a
bcd
e
f
g
Object
a
bcd
e
f
g
Binary Spatial Partition
1
2
3
4
5
6
7
1
2
a
3
b
c
4
d
5
6
e
7
f
BSP Tree
![Page 24: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/24.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
CSG
Hierarchy of Boolean Set Operations (Union, Difference, Intersect) Applied to Simple Shapes
![Page 25: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/25.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Sweep
Solid Swept by Curve Along Trajectory
Constructing a Torus using Rotational Sweep
![Page 26: 07object3d](https://reader034.vdocuments.mx/reader034/viewer/2022051818/54b4c71f4a7959e2488b4569/html5/thumbnails/26.jpg)
cgvr.korea.ac.kr
CGVR
Graphics Lab @ Korea University
Summary
Taxonomy of 3D Object Representations
VoxelVoxel
Discrete Continuous
Combinational Functional
MeshSubdivision
MeshSubdivision
BSP TreeBSP Tree BezierB-Spline
BezierB-Spline
AlgebraicAlgebraic
Topological Set Membership Parametric Implicit