3d object representations

Post on 04-Jan-2016

22 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

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 Animation

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

3D Object

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!

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.

3D Scene Representation

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

3D point

Specifies a location Represented by three coordinates Infinitely small

3D Vector

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

222 dzdydx V

3D Vector

Dot(=Scalar) product of two 3D vectors

cos 22 VVVV 11

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)

3D Line Segment

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

Parametric representation

1)t(0 ),( 121 PPtPP

3D Ray

Line segment with one endpoint at infinity Parametric representation

)t(0 ,1 VtPP

3D Line

Line segment with both endpoints at infinity Parametric representation

)t(- ,1 VtPP

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

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

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

3D Scenes

Comprise set of geometric primitives

Other Geometric Primitives

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

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

Point Cloud

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

Range Image

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

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)

Polygon Soup

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

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

Curved Surfaces

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

Mesh

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

Subdivision Surface

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

Subdivision (Smooth Curve)Subdivision Surface

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

Parametric Surface

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

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

Implicit Surface Examples

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

Solid Modeling

Represent solid interiors of objects Surface may not be described explicitly

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.

Quadtrees & Octrees

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

<Enumeration vs Quadtree >

Quadtree Display

Binary Space Partitions (BSPs)

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

Binary Space Partitions (BSPs)

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

position

Constructive Solid Geometry (CSG)

Represent solid object as hierarchy of boolean operations Union Intersection Difference

Constructive Solid Geometry

Constructive Solid Geometry (CSG)

CSG Acquisition Interactive modeling programs

• CAD/CAM

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)

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

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)

Sweep

Solid swept by curve along trajectory

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

Scene Graph

Union of objects at leaf nodes

Skeleton

Graph of curves with radii

Application Specific

Taxonomy of 3D 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

Advanced Modeling

Advanced Modeling Procedural Modeling

• Fractal Modeling

• Grammar-based Modeling

Particle System Physically Based Modeling

top related