07object3d

26
Graphics cgvr.korea.ac.kr Graphics Lab @ Korea University 3D Object Representation 고고고고고 고고고 고고고고 고고고

Upload: ketan-jani

Post on 13-Jan-2015

397 views

Category:

Documents


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: 07object3d

Graphics

cgvr.korea.ac.kr Graphics Lab @ Korea University

3D Object Representation

고려대학교 컴퓨터 그래픽스 연구실

Page 2: 07object3d

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

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

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

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

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

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

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

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

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

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

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

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

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

cgvr.korea.ac.kr

CGVR

Graphics Lab @ Korea University

Polygon Soup

Unstructured Set of Polygons Created with interactive modeling systems

Page 16: 07object3d

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

cgvr.korea.ac.kr

CGVR

Graphics Lab @ Korea University

Mesh

Connected Set of Polygons (Usually Triangles) May not be closed

Page 18: 07object3d

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

cgvr.korea.ac.kr

CGVR

Graphics Lab @ Korea University

Parametric Surfaces

Tensor Product Spline Patches Careful constraints to maintain continuity

Page 20: 07object3d

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

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

cgvr.korea.ac.kr

CGVR

Graphics Lab @ Korea University

Voxels

Uniform Grid of Volumetric Samples Acquired from CAT, MRI, etc.

Page 23: 07object3d

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

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

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

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