3d object representations

56
3D Object Representations 2012, Fall

Upload: raziya

Post on 04-Jan-2016

22 views

Category:

Documents


2 download

DESCRIPTION

3D Object Representations. 2012, Fall. Introduction. What is CG? Imaging : Representing 2D images Modeling : Representing 3D objects Rendering : Constructing 2D images from 3D objects Animation : Simulating changes over time. Course Syllabus. Image Processing Modeling Rendering - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 3D Object Representations

3D Object Representations

2012, Fall

Page 2: 3D Object Representations

Introduction

What is CG? Imaging : Representing 2D images Modeling : Representing 3D objects Rendering : Constructing 2D images from 3D objects Animation : Simulating changes over time

Page 3: 3D Object Representations

Course Syllabus

Image Processing Modeling Rendering Animation

Page 4: 3D Object Representations

Modeling

How do we.. Represent 3D objects in a computer? Acquire computer representations of 3D objects? Manipulate computer representations of 3D objects? Analyze computer representations of 3D objects?

Different methods for different object representations

Page 5: 3D Object Representations

3D Object

Page 6: 3D Object Representations

Why Different Representations?

Efficiency for different tasks Acquisition Rendering Manipulation Animation Analysis

The choice of 3D object representation can have great impact on algorithms Data structures determine algorithms!

Page 7: 3D Object Representations

3D Object Representations

Desirable properties depend on intended use Easy acquisition Accurate Concise Intuitive editing Efficient editing Efficient display Efficient intersections Guaranteed validity Guaranteed smoothness Etc.

Page 8: 3D Object Representations

3D Scene Representation

Scene is usually approximated by 3D primitives Point Line segment Polygon Polyhedron Curved surface Solid object etc.

Page 9: 3D Object Representations

3D point

Specifies a location Represented by three coordinates Infinitely small

Page 10: 3D Object Representations

3D Vector

Specifies a direction and a magnitude Represented by three coordinates Magnitude Has no location

222 dzdydx V

Page 11: 3D Object Representations

3D Vector

Dot(=Scalar) product of two 3D vectors

cos 22 VVVV 11

Page 12: 3D Object Representations

3D Vector

Cross(=Vector) product of two 3D vectors V1 X V2 = vector perpendicular V1 and V2

) , ,( 2121212121212 dxdydydxdzdxdxdzdydzdzdy VV1

sin 22 VVVV 11 (dx2, dy2, dz2)

(dx1, dy1, dz1)

Page 13: 3D Object Representations

3D Line Segment

Linear path between two points Use a linear combination of two points

Parametric representation

1)t(0 ),( 121 PPtPP

Page 14: 3D Object Representations

3D Ray

Line segment with one endpoint at infinity Parametric representation

)t(0 ,1 VtPP

Page 15: 3D Object Representations

3D Line

Line segment with both endpoints at infinity Parametric representation

)t(- ,1 VtPP

Page 16: 3D Object Representations

3D Plane

A linear combination of three points Implicit representation

, or

N is the plane “normal”• Unit-length vector

• Perpendicular to plane

0 dNP

0 dczbyax

Page 17: 3D Object Representations

3D Polygon

Area “inside” a sequence of coplanar points Triangle Quadrilateral Convex Star-shaped Concave Self-intersection

Holes (use > 1 polygon struct)

Points are in counter-clockwise order

Page 18: 3D Object Representations

3D Sphere

All points at distance “r” from point “(cx, cy, cz)” Implicit representation

Parametric representation

2222 )()()( rczcycx zyx

z

y

x

crz

cry

crx

sin

sincos

coscos

Page 19: 3D Object Representations

3D Scenes

Comprise set of geometric primitives

Page 20: 3D Object Representations

Other Geometric Primitives

More detail on 3D modeling in course Point Line segment Polygon Polyhedron Curved surface Solid object etc.

Page 21: 3D Object Representations

3D Object Representations

Raw data Point cloud Range Image Polygon soup

Surface Mesh Subdivision Parametric Implicit

Solids Voxels BSP tree CSG Sweep

High-level structures Scene graph Skeleton Application specific

Page 22: 3D Object Representations

Point Cloud

Unstructured set of 3D point samples Acquired from range finer, computer vision, etc

Page 23: 3D Object Representations

Range Image

Set of 3D points mapping to pixels of depth Image Acquired from range scanner

Page 24: 3D Object Representations

Point Sample Rendering

Point Sample Rendering an object representation

consisting of a dense set of surface point samples, which contain color, depth and normal information

Point Sample Rendering (Surfel)

Page 25: 3D Object Representations

Polygon Soup

Unstructured set of polygons Many polygon models are just lists of polygons Created with interactive modeling systems?

Page 26: 3D Object Representations

3D Object Representations

Raw data Point cloud Range Image Polygon soup

Surface Mesh Subdivision Parametric Implicit

Solids Voxels BSP tree CSG Sweep

High-level structures Scene graph Skeleton Application specific

Page 27: 3D Object Representations

Curved Surfaces

Motivation Exact boundary representation for some objects More concise representation than polygonal mesh

Page 28: 3D Object Representations

Mesh

Connected set of polygons (usually triangles) May not be closed

Page 29: 3D Object Representations

Subdivision Surface

Coarse mesh & subdivision rule Define smooth surfaces as limit of sequence of refinements

Subdivision (Smooth Curve)Subdivision Surface

Page 30: 3D Object Representations

Parametric Surface

Boundary defined by parametric functions x = fx (u, v)

y = fy (u, v)

z = fz (u, v)

Example: ellipsoid

sin

sincos

coscos

z

y

x

rz

ry

rx

Page 31: 3D Object Representations

Parametric Surface

Tensor product spline patchs Each patch is defined by blending control points Careful constrains to maintain continuity

Page 32: 3D Object Representations

Implicit Surfaces

Boundary defined by implicit function f(x, y, z) = 0

Example linear (plane)

• ax + by + cz + d = 0

Ellipsoid

01222

zyx r

z

r

y

r

x

Page 33: 3D Object Representations

Implicit Surface Examples

Page 34: 3D Object Representations

3D Object Representations

Raw data Point cloud Range Image Polygon soup

Surface Mesh Subdivision Parametric Implicit

Solids Voxels BSP tree CSG Sweep

High-level structures Scene graph Skeleton Application specific

Page 35: 3D Object Representations

Solid Modeling

Represent solid interiors of objects Surface may not be described explicitly

Page 36: 3D Object Representations

Voxels

Partition space into uniform grid Grid cells are called a voxels (like pixels)

Store properties of solid object with each voxel Occupancy Color Density Temperature Etc.

Page 37: 3D Object Representations

Quadtrees & Octrees

Refine resolution of voxels hierarchically More concise and efficient for non-uniform objects

<Enumeration vs Quadtree >

Page 38: 3D Object Representations

Quadtree Display

Page 39: 3D Object Representations

Binary Space Partitions (BSPs)

Recursive partition of space by planes Mark leaf cells as inside or outside object

Page 40: 3D Object Representations

Binary Space Partitions (BSPs)

recursively divide space into pairs of subspaces each separated by a plane of arbitrary orientation and

position

Page 41: 3D Object Representations

Constructive Solid Geometry (CSG)

Represent solid object as hierarchy of boolean operations Union Intersection Difference

Page 42: 3D Object Representations

Constructive Solid Geometry

Page 43: 3D Object Representations

Constructive Solid Geometry (CSG)

CSG Acquisition Interactive modeling programs

• CAD/CAM

Page 44: 3D Object Representations

To generate a 3-D surface, revolve a two dimensional entity, e.g., a line or plane about the axis in space.

called surfaces of revolution

Surface of Revolution (SOR)

Page 45: 3D Object Representations
Page 46: 3D Object Representations

Sweep surfaces (1/2)

A 3-D surface is obtained by traversing an entity such as a line, polygon or curve, along a path in space

the resulting surfaces are called sweep surfaces Frequently used in Geometric modeling

ex) entity : point

path : curveGenerates curve

Page 47: 3D Object Representations
Page 48: 3D Object Representations

Closed polygons and curves generates finite volume by sweeping transformation ex) square or rectangle swept along a

- straight path yields a parallel piped

- circle on straight path cylinder

- Rotation is also possible

Sweep surfaces (2/2)

Page 49: 3D Object Representations

Sweep

Solid swept by curve along trajectory

Page 50: 3D Object Representations

3D Object Representations

Raw data Point cloud Range Image Polygon soup

Surface Mesh Subdivision Parametric Implicit

Solids Voxels Octree BSP tree CSG Sweep

High-level structures Scene graph Skeleton Application specific

Page 51: 3D Object Representations

Scene Graph

Union of objects at leaf nodes

Page 52: 3D Object Representations

Skeleton

Graph of curves with radii

Page 53: 3D Object Representations

Application Specific

Page 54: 3D Object Representations

Taxonomy of 3D Representations

Page 55: 3D Object Representations

Computational Differences

Efficiency Combinatorial complexity (Ex: O( n log n)) Space/time trade-offs (Ex: Z-buffer) Numerical accuracy/stability (Degree of polynomial)

Simplicity Ease of acquisition Hardware Acceleration Software creation and maintenance

Usability Designer interface vs. computational engine

Page 56: 3D Object Representations

Advanced Modeling

Advanced Modeling Procedural Modeling

• Fractal Modeling

• Grammar-based Modeling

Particle System Physically Based Modeling