410 likes | 848 Views
Modeling. How do we ...Represent 3D objects in a computer?Construct such representations quickly and/or automatically with a computer? Manipulate 3D objects with a computer? 3D Representations provide the foundations for Computer Graphics, Computer-Aided Geometric Design, Visualization, and Rob
E N D
1. 3D ModelingSubdivision Surfaces
2. Modeling How do we ...
Represent 3D objects in a computer?
Construct such representations quickly and/or automatically with a computer?
Manipulate 3D objects with a computer?
3D Representations provide the foundations for Computer Graphics, Computer-Aided Geometric Design, Visualization, and Robotics
Different methods for different object representations
3. 3D Object Representations Raw data
Point cloud
Range image
Polygon soup
Surfaces
Mesh
Subdivision
Parametric
Implicit Solids
Voxels
BSP tree
CSG
4. Point Cloud Unstructured set of 3D point samples
5. Range Image Set of 3D points mapping to pixels of depth image
Acquired from range scanner
6. Polygon Soup Unstructured set of polygons
7. 3D Object Representations Raw data
Point cloud
Range image
Polygon soup
Surfaces
Mesh
Subdivision
Parametric
Implicit Solids
Voxels
BSP tree
CSG
8. Mesh Connected set of polygons (usually triangles)
May not be closed
9. Parametric Surface Tensor product spline patchs
Careful constraints to maintain continuity
10. Subdivision Surface Coarse mesh & subdivision rule
Define smooth surface as limit of sequence of refinements
11. Implicit Surface Points satisfying: F(x,y,z) = 0
12. 3D Object Representations Raw data
Point cloud
Range image
Polygon soup
Surfaces
Mesh
Subdivision
Parametric
Implicit Solids
Voxels
BSP tree
CSG
13. Voxels Uniform grid of volumetric samples
Acquired from CAT, MRI, etc.
14. BSP Tree Binary space partition with solid cells labeled
Constructed from polygonal representations
15. CSG Hierarchy of boolean set operations (union, difference, intersect) applied to simple shapes
16. Subdivision Surface Subdivision methods refine a (simple) control polygon such that in the limit it converges to a smooth curve.
A multitude of different curve and surface types can be described by subdivision.
17. Subdivision Surfaces Approach Limit Curve Surface through an Iterative Refinement Process.
18. Subdivision in 3D Same approach works in 3D
19. Problems with Splines Traditionally spline patches (NURBS) have been used in production for character animation.
Difficult to stitch together
Maintaining continuity is hard
Trimming boundaries is hard
Difficult to model objects with complex topology
20. Example: Geris Game Subdivision surfaces are used for:
Geris hands and head.
Clothes: Jacket, Pants, Shirt.
Tie and Shoes.
Movie
21. Why Subdivision Surfaces? Subdivision methods have a series of interesting properties:
Applicable to meshes of arbitrary topology (non-manifold meshes).
Scalability, level-of-detail.
Numerical stability.
Simple implementation.
Compact support.
Affine invariance.
Continuity.
22. Types of Subdivision Interpolating Schemes
Limit Surfaces/Curve will pass through original set of data points.
Approximating Schemes
Limit Surface will not necessarily pass through the original set of data points.
23. Subdivision in 1-D Simplest example: piecewise linear subdivision
24. Chaikens Algorithm
25. Key Questions in Subdivision How refine mesh?
Topology change
Where to place new vertices
Provable properties about limit surface
26. Loop Subdivision Scheme How refine mesh?
Refine each triangle into 4 triangles by splitting each edge and connecting new vertices
27. Loop Subdivision Scheme How position new vertices?
Choose locations for new vertices as weighted average of original vertices in local neighborhood
What if vertex does not have degree 6?
28. Loop Subdivision Scheme:Rule for extraordinary vertices
29. Loop Subdivision Scheme How to choose
Analyze properties of limit surface
Interested in continuity of surface and smoothness
Involves calculating eigenvalues of matrices
Original
Warren
30. Loop Subdivision Boundaries Subdivision Mask for Boundary Conditions
31. Subdivision as Matrices Subdivision can be expressed as a matrix Smask of weights w.
Smask is very sparse
Never Implement this way!
Allows for analysis
Curvature
Limit Surface
32. Loop Subdivision Scheme Works on triangular meshes
Is an Approximating Scheme
Guaranteed to be smooth everywhere except at extraordinary vertices.
33. Subdivision Schemes There are different subdivision schemes
Different methods for refining topology
Different rules for positioning vertices
Interpolating versus approximating
34. Catmull-Clark Subdivision
35. Adaptive Subdivision Not all regions of a model need to be subdivided.
Idea: Use some criteria and adaptively subdivide mesh where needed.
Curvature
Screen size ( make triangles < size of pixel )
View dependence
Distance from viewer
Silhouettes
In view frustum
Careful! Must ensure that cracks arent made
36. Subdivision Surfaces for Compression
37. Subdivision Surface Summary Advantages
Simple method for describing complex surfaces
Relatively easy to implement
Arbitrary topology
Local support
Guaranteed continuity
Multi-resolution
Difficulties
Intuitive specification
Parameterization
Intersections