1 / 53

Subdivision Surfaces

Subdivision Surfaces. Computational Geometry Presentation Adam Lake. Motivation. Scalability across machines Speed of evaluation LOD in a scene Topological restrictions of NURBS surfaces Planes, Cylinders, and Torii. Motivation. Trimming is expensive and prone to numerical error

makana
Download Presentation

Subdivision Surfaces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Subdivision Surfaces Computational Geometry Presentation Adam Lake

  2. Motivation • Scalability across machines • Speed of evaluation • LOD in a scene • Topological restrictions of NURBS surfaces • Planes, Cylinders, and Torii

  3. Motivation • Trimming is expensive and prone to numerical error • It is difficult to maintain smoothness at seams of patchwork. • Example: hiding seams in Woody (Toy Story) [DeRose98] • Advantage of NURBS: Trimmed NURBS are readily available in commercial systems!!

  4. Subdivisions of Talk • 2D and 3D Examples • Give data structure for geometry • Define B-spline curve • Derive splitting matrix for bicubics • Define arbitrary topology splitting rules • Define extraordinary vertices, Doo-Sabin surfaces

  5. 2D subdivision curve example • De Casteljau curve [Foley90] P2 P3 P4 P1

  6. 2D subdivision curve example • De Casteljau curve [Foley90] H=(P2+P3)/2 P2 P3 L3=(L2+H)/2 R2=(H+R3)/2 L2=(P1+P2)/2 L4=R1=(L3+R2)/2 R3=(P3+P4)/2 P4=R4 P1=L1

  7. 3D subdivision surface example

  8. Major categories of subdivision surfaces • Catmull-Clark [Catmull78] • Doo-Sabin [Doo78] • Loop [Loop87] • Butterfly scheme [Dyn90]

  9. Subdivision Surface Data Structure A mesh is a pair (K,V) where K is a simplical complex representing connectivity of the vertices, edges, and faces. Determines topological type of the mesh. V={v1,v2,v3…vn}, vi in R^3 is a set of vertex positions defining the shape of the mesh in R^3. Example: V={[0,0,0],[1,0,0],[0,0,1]} Simplical complex K: vertices: {1},{2},{3} edges: {1,2},{2,3},{1,3} faces: {1,2,3} 2 1 3

  10. B-Spline Patch Splitting The Bicubic B-Spline Patch can be expressed as: Where:

  11. B-Spline Patch Splitting • Now, consider a subdivision scheme for 0<=u,v<=1/2 and introduce a matrix • In order to obtain the same patch we must have:

  12. B-Spline Patch Splitting • Assuming M is invertible: This is known as the splitting matrix. Note: Mistake in original paper!!!

  13. p41 p42 p43 p44 p34 p24 p12 p13 p14 p11 q12 q11 q22 q21 B-Spline Patch Splitting p31 p21

  14. p41 p42 p43 p44 p34 p24 p12 p13 p14 p11 q12 q11 q22 q21 B-Spline Patch Splitting p11

  15. Arbitrary Topology • 3 types of points • Face • Edge • Vertex • Edges formed by 2 rules • Subdivision surface is the LIMIT surface

  16. Arbitrary Topology • New face points • Average of all old points defining the face. • Example

  17. Arbitrary Topology • New edge points • Average midpoints of old edge with average of the two new face points of faces sharing edge • Example

  18. Arbitrary Topology • New vertex points • Q=average of the new face points of all faces adjacent to the old vertex point • R=average of the midpoints of all old edges incident on the old vertex points • S=old vertex point

  19. Arbitrary Topology • New edges formed by: • Connecting each new face point to new edge points of edges defining the old face • Connecting each new vertex point to the new points of all old edges incident to old vertex point • Example

  20. Extraordinary points • Previous method generates continuous surfaces except at extraordinary points • Extraordinary points have valence other than 4 N=5 N=3 Extraordinary points

  21. Doo-Sabin Surfaces • Doo-Sabin showed via Eigenanalysis that at extraordinary points the surface is discontinuous and proposed modified rules to maintain continuity in the surface [Doo78]. • The improved formulation is known as Doo-Sabin surfaces.

  22. Bi-quadratic surfaces • Applying the method for bi-cubic can also be used to derive bi-quadratic surfaces.

  23. Recap • So far: • 2D and 3D examples • Data structure for geometry • Defined B-spline curve • Derived the splitting matrix for bicubics • Defined arbitrary topology splitting rules • Defined extraordinary vertices, Doo Sabin surfaces

  24. Next • Subdivision surfaces in Character Animation [DeRose98] • Non-uniform Subdivision Surfaces [Sederberg98] • Exact Evaluation of Catmull Clark surfaces at arbitrary parameter values [Stam98] • MAPS: Multiresolution Adaptive Parameterization of Surfaces [Lee98]

  25. Subdivision Surfaces in character animation [DeRose98] • Used for first time in Geri’s game to overcome topological restriction of NURBS • Modeled Geri’s head, hands, jacket, pants, shirt, tie, and shoes • Developed cloth simulation methods • Method to construct scalar fields enabling use of programmable shaders

  26. Why Catmull-Clark? • Quads are better than tris at capturing the symmetries of natural and man-made objects. Tube like surfaces (arms, legs, fingers) are easier to model. • Generalize uniform tensor product cubic B-splines, makes it easier to use in-house and commercial systems (Renderman and Alias-Wavefront).

  27. Hybrid subdivision • Hoppe wrote about smooth surfaces with infinitely sharp creases. • DeRose generalizes this to semi-sharp creases • Select certain vertices to use rules to subdivide to a specific level, then switch to another subdivision scheme applied to the limit. • Sharp at coarse scales, smooth at finer scales • Calls this hybrid subdivision

  28. Subdivision Surfaces in character animation • Implemented in Renderman • Shows subdivision surfaces can be used in high end rendering

  29. Non-uniform subdivision surfaces [Sederberg98]

  30. Non-uniform subdivision surfaces [Sederberg98] • For a non-uniform surface, each vertex is assigned a knot spacing that may be different from each edge radiating from it. • If all knot intervals are equal, back to regular Catmull-Clark or Doo-Sabin. [Cannot be represented as NURB nor uniform Catmull Clark]

  31. Non-uniform subdivision surfaces

  32. 2D Non-uniform subdivision surfaces

  33. 3D Non-uniform subdivision surfaces

  34. Exact Evaluation of Catmull-Clark Surfaces at arbitrary parameter values [Stam98]

  35. Exact Evaluation of Catmull-Clark Surfaces at arbitrary parameter values [Stam98] • Disproves belief that Catmull Clark surfaces cannot be evaluated w/o explicit subdividing. • Uses a set of eigenbasis functions and derive analytical expressions for these functions. • Cost comparable to that of a bi-cubic B-spline. • Allows algorithms developed for parametric surfaces to be applied to Catmull-Clark surfaces.

  36. First high resolution plots around regions of high curvature Extraordinary point in center. Patches using technique are in blue. Derivative information is computed and displayed in model on right.

  37. MAPS: Multiresolution Adaptive Parameterization of Surfaces [Lee98]

  38. MAPS: Multiresolution Adaptive Parameterization of Surfaces [Lee98] Note: Great computational geometry paper!!

  39. Step 1:A scanned input mesh • Acquired via laser range scanning or MRI volumetric imaging followed by isosurface extraction • Arbitrary topology • Irregular structure • Tremendous size

  40. Step 2: Via mesh simplification, obtain the parameter or base domain • During simplification, building a topological representation for O(nlgn) multiresolution representation.

  41. Step 2: Via mesh simplification, obtain the parameter or base domain

  42. Step 3: Assign triangles in original mesh to their base domain triangle (during 1->2) + =

  43. Step 4: Adaptive Remeshing with subdivision connectivity (epsilon = 1%) Uniform mesh obtained via Loop scheme Interested insmooth parameterizations, not simplification!!

  44. Step 4 (detail)Motivation • Assume a smooth parameterization within each subdomain (see paper for details) • One way to obtain global smoothness would be to minimize a global smoothness functional. • Requires PDE solver. • Found that this is needlessly cumbersome. • Instead, use simpler and cheaper smoothing technique based on Loop subdivision.

  45. Step 4 (detail)Modified Loop Scheme • If all points of stencil needed for computing new point or smoothing old point are inside same triangle of base domain, add Loop weights and new points will be in the same face • If stencil stretches across 2 faces, flatten using hinge map at common edge. • If stencil stretches across multiple faces, use a conformal flattening strategy (see paper).

  46. Step 4 (details) Smoothed mesh using modified Loop simplification scheme

  47. Step 5: Multiresolution editing Smooth parameterization allows efficient mesh modification. Texture coordinates and polygons nicely behaved.

  48. Summary • Who developed them? • Catmull-Clark • Doo-Sabin • Loop • Dyn (butterfly) • Recent work • DeRose, Sederberg, Lee, Stam

  49. Summary • What are they? • Mesh based representation of geometry • Defined recursively • Many levels of fidelity

  50. Summary • Where can they be used? • Animation • CAD modeling • Game engines • more?

More Related