3d object representations 2005, fall. course syllabus image processing modeling rendering animation
TRANSCRIPT
![Page 1: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/1.jpg)
3D Object Representations
2005, Fall
![Page 2: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/2.jpg)
Course Syllabus
Image Processing Modeling Rendering Animation
![Page 3: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/22.jpg)
Implicit Surface Examples
![Page 23: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/31.jpg)
Voxels
![Page 32: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/34.jpg)
Quadtree Display
![Page 35: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/38.jpg)
Constructive Solid Geometry
![Page 39: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/42.jpg)
![Page 43: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/44.jpg)
![Page 45: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/46.jpg)
Sweep
Solid swept by curve along trajectory
![Page 47: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/48.jpg)
Scene Graph
Union of objects at leaf nodes
![Page 49: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/49.jpg)
Skeleton
Graph of curves with radii
![Page 50: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/50.jpg)
Application Specific
![Page 51: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/51.jpg)
Taxonomy of 3D Representations
![Page 52: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/52.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/53.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/54.jpg)
Complexity vs. Verbosity Tradeoff
![Page 55: 3D Object Representations 2005, Fall. Course Syllabus Image Processing Modeling Rendering Animation](https://reader036.vdocuments.site/reader036/viewer/2022062516/56649e4e5503460f94b44f63/html5/thumbnails/55.jpg)
Advanced Modeling
Advanced Modeling Procedural Modeling
• Fractal Modeling
• Grammar-based Modeling
Particle System Physically Based Modeling