3d object representations 2005, fall. course syllabus image processing modeling rendering animation

55
3D Object Representations 2005, Fall

Upload: darrell-stanley

Post on 28-Dec-2015

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

3D Object Representations

2005, Fall

Page 2: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Course Syllabus

Image Processing Modeling Rendering Animation

Page 3: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Modeling

How do we.. Represent 3D objects in a computer? Construct representations quickly and/or automatically with

a computer? Manipulate 3D objects with a computer?

Different methods for different object representations

Page 4: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Representations of Geometry

3D Representations provide the foundations for Computer Graphics, Computer-Aided Geometric Design,

Visualization, Robotics

They are languages for describing geometrySemantics Syntax

values data structures

operations algorithms

Data structures determine algorithms!

Page 5: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 6: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Point Cloud

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

Page 7: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Range Image

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

Page 8: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 9: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Polygon Soup

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

Page 10: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Polygon Soup Evaluation

What are the advantages? It’s very simple to read, write, transmit, etc. A common output format from CAD modelers The format required for OpenGL

BIG disadvantage: No higher order information No information about neighbors No open/closed information No guarantees on degeneracies

Page 11: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 12: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Curved Surfaces

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

Page 13: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Surfaces

What makes good surface representation? Accurate Concise Intuitive specification Local support Affine invariant Arbitrary topology Guaranteed continuity Natural parameterization Efficient display Efficient intersections

Page 14: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Mesh

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

Page 15: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Subdivision Surface

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

Subdivision (Smooth Curve)Subdivision Surface

Page 16: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Subdivision Surface

Key Questions How refine mesh?

• Aim for propertied like smoothness

• Loop Subdivision Scheme

How store mesh?• Aim for efficiency for implementing subdivision rules

Page 17: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Subdivision Surface

Advantages Simple method for describing complex surfaces Relatively easy to implement Arbitrary topology Local support Guaranteed continuity Multiresolution

Difficulties Intuitive specification Parameterization Intersections

Page 18: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 19: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Parametric Surface

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

Page 20: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Parametric Surface

Advantages Easy to enumerate points on surface Possible to describe complex shapes

Disadvantages Control mesh must be quadrilaterals Continuity constrains difficult to maintain Hard to find intersections

Page 21: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 22: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Implicit Surface Examples

Page 23: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Implicit Surfaces

Advantages Easy to test if point is on surface Easy to intersect two surfaces Easy to compute z given x and y

Disadvantages Hard to describe specific complex shapes Hard to enumerate points on surface

Page 24: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Comparison

FeaturePolygon

Mesh

Implicit

Surface

Parametric

SurfaceSubdivision

Surface

Accurate

Concise

Intuitive specification

Local support

Affine invariant

Arbitrary topology

Guaranteed continuity

Natural parameterization

Efficient display

Efficient intersections

No

No

No

Yes

Yes

Yes

No

No

Yes

No

Yes

Yes

No

No

Yes

No

Yes

No

No

Yes

Yes

Yes

Yes

Yes

Yes

No

Yes

Yes

Yes

No

Yes

Yes

No

Yes

Yes

Yes

Yes

No

Yes

No

Page 25: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 26: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Solid Modeling

Represent solid interiors of objects Surface may not be described explicitly

Page 27: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Solid Modeling

Motivation Some acquisition methods generate solids (Ex: CAT scan) Some applications requires solids (Ex: CAD/CAM) Some algorithms require solids (Ex: RT with refraction)

Page 28: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Solid Modeling Representations

What makes a good solid representation? Accurate Concise Affine invariant Easy acquisition Guaranteed validity Efficient boolean operation Efficient display

Page 29: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 30: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Voxel Acquisition

Scanning devices MRI (Magnetic Resonance Imaging) CAT (Computed Axial Tomography)

Simulation FEM (Finite Element Method )

Page 31: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Voxels

Page 32: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Voxels

Advantage Simple, intuitive, unambiguous Same complexity for all objects Natural acquisition for some applications Trivial boolean operations

Disadvantages Approximates Not affine invariant Large scale requirement Expensive display

Page 33: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Quadtrees & Octrees

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

<Enumeration vs Quadtree >

Page 34: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Quadtree Display

Page 35: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Binary Space Partitions (BSPs)

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

Page 36: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Binary Space Partitions (BSPs)

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

position

Page 37: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Constructive Solid Geometry (CSG)

Represent solid object as hierarchy of boolean operations Union Intersection Difference

Page 38: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Constructive Solid Geometry

Page 39: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Constructive Solid Geometry (CSG)

CSG Acquisition Interactive modeling programs

• CAD/CAM

Page 40: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Comparison

Feature Voxels Octree BSP CSG

Accurate

Concise

Affine invariant

Easy acquisition

Guaranteed validity

Efficient boolean operations

Efficient display

No

No

No

Some

Yes

Yes

No

No

No

No

Some

Yes

Yes

No

Some

No

Yes

No

Yes

Yes

Yes

Some

Yes

Yes

Some

No

Yes

No

Page 41: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 42: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation
Page 43: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 44: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation
Page 45: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 46: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Sweep

Solid swept by curve along trajectory

Page 47: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 48: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Scene Graph

Union of objects at leaf nodes

Page 49: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Skeleton

Graph of curves with radii

Page 50: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Application Specific

Page 51: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Taxonomy of 3D Representations

Page 52: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Equivalence of Representations

Thesis Each fundamental representation has enough expressive po

wer to model the shape of any geometry object It is possible to perform all geometric operation with any fund

amental representation

Analogous to Turing-Equivalence All computers today are turing-equivalent, but we still have

many different processors

Page 53: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

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 54: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Complexity vs. Verbosity Tradeoff

Page 55: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation

Advanced Modeling

Advanced Modeling Procedural Modeling

• Fractal Modeling

• Grammar-based Modeling

Particle System Physically Based Modeling