Sie sind auf Seite 1von 7

3D Object Representations

Raw data Solids


o o o o Voxels BSP tree CSG Sweep o Point cloud o Range image o Polygon soup

Solid Modeling
Adam Finkelstein Princeton University COS 426, Spring 2003

Surfaces
o o o o Mesh Subdivision Parametric Implicit

High-level structures
o Scene graph o Skeleton o Application specific

3D Object Representations
Raw data
o Point cloud o Range image o Polygon soup

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

Solids
o o o o Voxels BSP tree CSG Sweep

Surfaces
o o o o Mesh Subdivision Parametric Implicit

High-level structures
o Scene graph o Skeleton o Application specific Polygonal Model Implicit Model
Bill Lorensen SIGGRAPH 99 Course #4 Notes

Implicit Surfaces
Example: quadric
o f(x,y,z)=ax2+by2+cz2+2dxy+2eyz+2fxz+2gx+2hy+2jz +k

Implicit Surfaces
Advantages:
o o o o Very concise Guaranteed validity Easy to test if point is on surface Easy to intersect two surfaces

Common quadric surfaces:


o o o o o Sphere Ellipsoid Torus Paraboloid Hyperboloid

x y z + + 1 = 0 r r r x y z

Disadvantages:
o Hard to describe complex shapes o Hard to enumerate points on surface o Hard to draw

H&B Figure 10.10

3D Object Representations
Raw data
o Point cloud o Range image o Polygon soup

Solid Modeling
Represent solid interiors of objects
o Surface may not be described explicitly

Solids
o o o o Voxels BSP tree CSG Sweep

Surfaces
o o o o Mesh Subdivision Parametric Implicit

High-level structures
o Scene graph o Skeleton o Application specific
Visible Human
(National Library of Medicine)

SUNY Stoney Brook

Motivation 1
Some acquisition methods generate solids
o Example: CAT scan

Motivation 2
Some applications require solids
o Example: CAD/CAM

Stanford University

Intergraph Corporation

Motivation 3
Some algorithms require solids
o Example: ray tracing with refraction

Solid Modeling Representations


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

Addy Ngan and Zaijin Guan COS 426, 1998 Princeton University

Lorensen

Solid Modeling Representations


Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry

Solid Modeling Representations


Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry

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

Voxel Acquisition
Scanning devices
o MRI o CAT

Store properties of solid object with each voxel


o o o o o Occupancy Color Density Temperature etc.

Simulation
o FEM

Stanford University

FvDFH Figure 12.20

SUNY Stoney Brook

Voxel Storage
O(n3) storage for nxnxn grid
o 1 billion voxels for 1000x1000x1000

Voxel Boolean Operations


Compare objects voxel by voxel
o Trivial

Voxel Display
Isosurface rendering
o Render surfaces bounding volumetric regions of constant value (e.g., density)

Voxel Display
Slicing
o Draw 2D image resulting from intersecting voxels with a plane

Isosurface Visualization Princeton University

Visible Human
(National Library of Medicine)

Voxel Display
Ray casting
o Integrate density along rays through pixels

Voxels
Advantages
o o o o o o o o
Engine Block Stanford University

Simple, intuitive, unambiguous Same complexity for all objects Natural acquisition for some applications Trivial boolean operations Approximate Not affine invariant Large storage requirements Expensive display

Disadvantages

Solid Modeling Representations


Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry

Quadtrees & Octrees


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

Uniform Voxels

Quadtree
FvDFH Figure 12.21

Quadtree Boolean Operations


A B

Quadtree Display
Extend voxel methods
o Slicing o Isosurface extraction o Ray casting

AB

AB

Finding neighbor cell requires traversal of hierarchy (O(1))

FvDFH Figure 12.24

FvDFH Figure 12.25

Solid Modeling Representations


Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry

Binary Space Partitions (BSPs)


Recursive partition of space by planes
o Mark leaf cells as inside or outside object
a 1 5 c 2 b a e b 6 f d 7 c 4 3 d 4 5 6 Binary Tree e f 7 c 3 2 1

a f e b Object d

Binary Spatial Partition

Naylor

BSP Fundamentals
Single geometric operation Partition a convex region by a hyperplane Single combinatorial operation Two child nodes added as leaf nodes

BSP is a Search Structure


Exploit hierarchy of convex regions Regions decrease in size along any tree path Regions converge in the limit to the surface

Homogeneous region R

Partitioned region RR+

on OUT IN on on OUT
OUT

on

out in IN in
on on

OUT
on

OUT
on

in out
on

Initial Tree

New tree R-

R + R+

out

OUT 2nd level Approximation

1st level Approximation

Naylor

Naylor

BSP Acquisition
Must construct a good binary search structure
o Efficiency comes from logarithmic tree depth

BSP Boolean Operations


Divide and conquer
o Each node V corresponds to a convex region containing all geometry in the subtree rooted at V o No intersection with bounding volume of V means no intersection with subtree rooted at V o Do detail work only in regions required o Boolean operations grow with O( log n) if good tree

out OUT in IN in OUT out OUT

in out

Bad

Good
Naylor Naylor

BSP Display
Visibility ordering
o Determine on which side of plane the viewer lies near-subtree -> polygons on split -> far-subtree
A o4 C o3
Viewer 3rd

Solid Modeling Representations


Voxels Quadtrees & Octrees Binary space partitions Constructive solid geometry

o2 B o1

Partitioning Tree A B o1 o2
4th

C o3
1st Viewer

o4
2nd

Naylor

Constructive Solid Geometry (CSG)


Represent solid object as hierarchy of boolean operations
o Union o Intersection o Difference

CSG Acquisition
Interactive modeling programs
o CAD/CAM

FvDFH Figure 12.27

H&B Figure 9.9

CSG Boolean Operations


Create a new CSG node joining subtrees
o Union o Intersection o Difference

CSG Display & Analysis


Ray casting
Union Box

Circle

FvDFH Figure 12.27

Summary
Voxels Octree CSG BSP

Taxonomy of 3D Representations

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

Discrete Voxels

Continuous

Combinatorial

Functional

Topological Set Membership Parametric Mesh Subdivision BSP Tree Cell Complex Bezier B-Spline

Implicit Algebraic

Naylor

Das könnte Ihnen auch gefallen