Graphics 3D Object Representation 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr Graphics Lab @ Korea University Overview  CGVR 3D Geometric Primitives  Point  Line  Plane  Polygon  Sphere  3D Object Representations     Raw data Surfaces Solids High-Level Structure cgvr.korea.ac.kr Graphics.

Download Report

Transcript Graphics 3D Object Representation 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr Graphics Lab @ Korea University Overview  CGVR 3D Geometric Primitives  Point  Line  Plane  Polygon  Sphere  3D Object Representations     Raw data Surfaces Solids High-Level Structure cgvr.korea.ac.kr Graphics.

Graphics
3D Object
Representation
고려대학교 컴퓨터 그래픽스 연구실
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Overview

CGVR
3D Geometric Primitives

Point
 Line
 Plane
 Polygon
 Sphere

3D Object Representations




Raw data
Surfaces
Solids
High-Level Structure
cgvr.korea.ac.kr
Graphics Lab @ Korea University
3D Geometric Primitives







CGVR
Point
Line Segment
Polygon
Polyhedron
Curved Surface
Solid Object
Etc.
cgvr.korea.ac.kr
Graphics Lab @ Korea University
3D Point

CGVR
Specifies a Location


Represented by three coordinates
Infinitely small
typedef struct{
Coordinate x;
Coordinate y;
(x, y, z)
Coordinate z;
} Point;
cgvr.korea.ac.kr
Graphics Lab @ Korea University
3D Vector

CGVR
Specifies a Direction and a Magnitude



Represented by three coordinates
Magnitude ||v||=sqrt(dxdx + dydy +dzdz)
Has no location
typedef struct{
(dx1, dy1, dz1)
Coordinate x;
Coordinate y;
Coordinate z;
} Vector;

(dx2, dy2, dz2)
Dot product of two 3D vector


V1 V2 = dx1dx2 + dy1dy2 + dz1dz2
V1 V2 = ||V1||||V2|| cos(  )
cgvr.korea.ac.kr

Graphics Lab @ Korea University
3D Line

CGVR
Line Segment with Both Endpoints at Infinity

Parametric representation
 P=P1+tV, (    t  )
typedef struct{
Point P1;
Vector V;
} Line;
cgvr.korea.ac.kr
V
P1
Graphics Lab @ Korea University
3D Ray

CGVR
Line Segment with One Endpoints at Infinity

Parametric representation
 P=P1+tV, ( 0  t   )
typedef struct{
Point P1;
Vector V;
} Ray;
cgvr.korea.ac.kr
V
P1
Graphics Lab @ Korea University
3D Line Segment

CGVR
Specifies a Linear Combination of Two Points

Parametric representation
 P=P1 + t(P2 - P1), ( 0  t  1 )
typedef struct{
Point P1;
Point P2;
} Segment;
cgvr.korea.ac.kr
P2
P1
Graphics Lab @ Korea University
3D Plane

CGVR
Specifies a Linear Combination of Three Points

Implicit representation


N=(a, b, c)
PN + d = 0, or
ax + by + cz + d = 0
typedef struct{
Vector N;
Distance d;
} Plane;
P1
P3
P2
d
Origin
cgvr.korea.ac.kr
Graphics Lab @ Korea University
3D Polygon

CGVR
Area “Inside” a Sequence of Coplanar Points







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
3D Sphere

CGVR
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(  )
cgvr.korea.ac.kr
(cx, cy, cz)
r
Graphics Lab @ Korea University
3D Object Representations

Raw Data




Point cloud
Range image
Polygon soup
Surfaces


CGVR
Mesh, Subdivision, Parametric, Implicit
Solids

Voxel, BSP tree, CSG, Sweep
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Point Cloud

CGVR
Unstructured Set of 3D Point Samples

Acquired from range finder, computer vision, etc
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Range Image

CGVR
Set of 3D Points Mapping to Pixels of Depth
Image

Acquired from range scanner
Range Image
cgvr.korea.ac.kr
Tessellation
Range Surface
Graphics Lab @ Korea University
Polygon Soup

CGVR
Unstructured Set of Polygons

Created with interactive modeling systems
cgvr.korea.ac.kr
Graphics Lab @ Korea University
3D Object Representations

Raw Data


CGVR
Point cloud, Range image, Polygon soup
Surfaces

Mesh
 Subdivision
 Parametric
 Implicit

Solids

Voxel, BSP tree, CSG, Sweep
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Mesh

CGVR
Connected Set of Polygons (Usually Triangles)

May not be closed
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Subdivision Surfaces

CGVR
Coarse Mesh & Subdivision Rule

Define smooth surface as limit of sequence of
refinements
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Parametric Surfaces

CGVR
Tensor Product Spline Patches

Careful constraints to maintain continuity
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Implicit Surface

CGVR
Points satisfying: F(x,y,z) = 0
Polygonal Model
cgvr.korea.ac.kr
Implicit Model
Graphics Lab @ Korea University
3D Object Representations

Raw Data


Point cloud, Range image, Polygon soup
Surfaces


CGVR
Mesh, Subdivision, Parametric, Implicit
Solids




Voxel
BSP tree
CSG
Sweep
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Voxels

CGVR
Uniform Grid of Volumetric Samples

Acquired from CAT, MRI, etc.
cgvr.korea.ac.kr
Graphics Lab @ Korea University
BSP Tree

CGVR
Binary Space Partition with Solid Cells Labeled

Constructed from polygonal representations
a
1
g
a
a
6
f
f
5 e
e
b
d
c
b
7
4 d
b
g
c
3
c
2
Object
cgvr.korea.ac.kr
Binary Spatial Partition
d
1
2
3
e
4
f
5
6
7
BSP Tree
Graphics Lab @ Korea University
CSG

CGVR
Hierarchy of Boolean Set Operations (Union,
Difference, Intersect) Applied to Simple Shapes
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Sweep

CGVR
Solid Swept by Curve Along Trajectory
Constructing a Torus
using Rotational Sweep
cgvr.korea.ac.kr
Graphics Lab @ Korea University
Summary

CGVR
Taxonomy of 3D 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