3D Object Representation: CGVR - Korea.ac - KR

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 26

Graphics

3D Object
Representation

cgvr.korea.ac.kr

Graphics Lab @ Korea

Overview

3D Geometric Primitives

CGVR

Point
Line
Plane
Polygon
Sphere

3D Object Representations

Raw data
Surfaces
Solids
High-Level Structure

cgvr.korea.ac.kr

Graphics Lab @ Korea

3D Geometric Primitives

CGVR

Point
Line Segment
Polygon
Polyhedron
Curved Surface
Solid Object
Etc.

cgvr.korea.ac.kr

Graphics Lab @ Korea

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

3D Vector

Specifies a Direction and a Magnitude

Represented by three coordinates


Magnitude ||v||=sqrt(dxdx + dydy +dzdz)
Has no location
typedef struct{
Coordinate x;
Coordinate y;
Coordinate z;
} Vector;

CGVR

(dx1, dy1, dz1)


(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

3D Line

CGVR

Line Segment with Both Endpoints at Infinity

Parametric representation
P=P +tV, ( t )
1

typedef struct{
Point P1;
Vector V;
} Line;

cgvr.korea.ac.kr

P1

Graphics Lab @ Korea

3D Ray

CGVR

Line Segment with One Endpoints at Infinity

Parametric representation
P=P +tV, (
0 t )
1

typedef struct{
Point P1;
Vector V;
} Ray;

cgvr.korea.ac.kr

P1

Graphics Lab @ Korea

3D Line Segment

CGVR

Specifies a Linear Combination of Two Points

Parametric representation
P=P + t(P - P ), ( 0 t 1 )
1

P2
typedef struct{
Point P1;
Point P2;
} Segment;

cgvr.korea.ac.kr

P1

Graphics Lab @ Korea

3D Plane

CGVR

Specifies a Linear Combination of Three Points

Implicit representation
PN + d = 0, or

N=(a, b, c)

ax + by + cz + d = 0

P1
P3

typedef struct{
Vector N;
Distance d;
} Plane;

P2
d
Origin

cgvr.korea.ac.kr

Graphics Lab @ Korea

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 ord


Graphics Lab @ Korea

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( )

(cx, cy, cz)

y= r sin( ) sin( )

z= r cos( )

cgvr.korea.ac.kr

Graphics Lab @ Korea

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

Point Cloud

CGVR

Unstructured Set of 3D Point Samples

Acquired from range finder, computer vision, etc

cgvr.korea.ac.kr

Graphics Lab @ Korea

Range Image

CGVR

Set of 3D Points Mapping to Pixels of Depth


Image

Acquired from range scanner

Range Image Tessellation Range Surface


cgvr.korea.ac.kr

Graphics Lab @ Korea

Polygon Soup

CGVR

Unstructured Set of Polygons

Created with interactive modeling systems

cgvr.korea.ac.kr

Graphics Lab @ Korea

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

Mesh

CGVR

Connected Set of Polygons (Usually Triangles)

May not be closed

cgvr.korea.ac.kr

Graphics Lab @ Korea

Subdivision Surfaces

CGVR

Coarse Mesh & Subdivision Rule

Define smooth surface as limit of sequence of


refinements

cgvr.korea.ac.kr

Graphics Lab @ Korea

Parametric Surfaces

CGVR

Tensor Product Spline Patches

Careful constraints to maintain continuity

cgvr.korea.ac.kr

Graphics Lab @ Korea

Implicit Surface

CGVR

Points satisfying: F(x,y,z) = 0

Polygonal Model
cgvr.korea.ac.kr

Implicit Model
Graphics Lab @ Korea

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

Voxels

CGVR

Uniform Grid of Volumetric Samples

Acquired from CAT, MRI, etc.

cgvr.korea.ac.kr

Graphics Lab @ Korea

BSP Tree

CGVR

Binary Space Partition with Solid Cells Labeled

Constructed from polygonal representations


a

1
g

6
f

f
5 e

e
b

7
4 d

c
3
c

2
Object
cgvr.korea.ac.kr

Binary Spatial Partition

1
2

3
e

5
6

BSP Tree
Graphics Lab @ Korea

CSG

CGVR

Hierarchy of Boolean Set Operations (Union,


Difference, Intersect) Applied to Simple Shapes

cgvr.korea.ac.kr

Graphics Lab @ Korea

Sweep

CGVR

Solid Swept by Curve Along Trajectory

Constructing a Torus
using Rotational Sweep
cgvr.korea.ac.kr

Graphics Lab @ Korea

Summary

CGVR

Taxonomy of 3D Object Representations


Discrete

Continuous

Voxel
Voxel
Combinational

Topological
Mesh
Mesh
Subdivision
Subdivision
cgvr.korea.ac.kr

Set Membership
BSP
BSPTree
Tree

Functional

Parametric
Bezier
Bezier
B-Spline
B-Spline

Implicit
Algebraic
Algebraic

Graphics Lab @ Korea

You might also like