subdivision surfaces
play

Subdivision Surfaces 1 Geometric Modeling Geometric Modeling - PDF document

Subdivision Surfaces 1 Geometric Modeling Geometric Modeling Sometimes need more than polygon meshes Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational


  1. Subdivision Surfaces 1

  2. Geometric Modeling Geometric Modeling • Sometimes need more than polygon meshes • Sometimes need more than polygon meshes – Smooth surfaces • Traditional geometric modeling used NURBS – Non uniform rational B-Spline N if ti l B S li – Demo 2

  3. Problems with NURBS Problems with NURBS • A single NURBS patch is either a topological • A single NURBS patch is either a topological disk, a tube or a torus • Must use many NURBS patches to model complex geometry • When deforming a surface made of NURBS • When deforming a surface made of NURBS patches, cracks arise at the seams 3

  4. Subdivision Subdivision “Subdivision defines a smooth curve or surface as Subdivision defines a smooth curve or surface as the limit of a sequence of successive refinements” refinements 4

  5. Subdivision Surfaces Subdivision Surfaces • Generalization of spline curves / surfaces • Generalization of spline curves / surfaces – Arbitrary control meshes – Successive refinement (subdivision) – Converges to smooth limit surface g – Connection between splines and meshes 5

  6. Subdivision Surfaces Subdivision Surfaces • Generalization of spline curves / surfaces • Generalization of spline curves / surfaces – Arbitrary control meshes – Successive refinement (subdivision) – Converges to smooth limit surface g – Connection between splines and meshes 6

  7. Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar) • Subdivision used for • Subdivision used for – Geri’s hands and head – Clothing – Tie and shoes 7

  8. Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar) Woody’s hand (NURBS) Geri’s hand (subdivision) 8

  9. Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar) • Sharp and semi sharp features • Sharp and semi-sharp features 9

  10. Example: Games Example: Games Supported in hardware in DirectX 11 Supported in hardware in DirectX 11 10

  11. Subdivision Curves Subdivision Curves Given a control polygon... Given a control polygon... ...find a smooth curve related to that polygon. 11

  12. Subdivision Curve Types Subdivision Curve Types • Approximating • Interpolating • Interpolating • Corner Cutting 12

  13. 13 Approximating Approximating

  14. Splitting step: split each edge in two 14 Approximating Approximating

  15. Approximating Approximating Averaging step: relocate each (original) vertex according to some (simple) rule... 15

  16. 16 Approximating Approximating Start over ... Start over ...

  17. 17 Approximating Approximating ...splitting... ...splitting...

  18. 18 Approximating Approximating ...averaging... ...averaging...

  19. 19 Approximating Approximating ...and so on... ...and so on...

  20. Approximating Approximating If the rule is designed carefully... If the rule is designed carefully... ... the control polygons will converge to a smooth limit curve! smooth limit curve! 20

  21. Equivalent to … Equivalent to … • Insert single new point at mid edge • Insert single new point at mid-edge • Filter entire set of points. p Catmull-Clark rule: Filter with (1/8, 6/8, 1/8) 21

  22. Corner Cutting Corner Cutting • Subdivision rule: • Subdivision rule: – Insert two new vertices at ¼ and ¾ of each edge – Remove the old vertices – Connect the new vertices 22

  23. B-Spline Curves B Spline Curves • Piecewise polynomial of degree n • Piecewise polynomial of degree n B spline curve B-spline curve control points control points parameter value parameter value basis functions 23

  24. B-Spline Curves B Spline Curves • Distinguish between odd and even points • Distinguish between odd and even points • Linear B spline • Linear B-spline – Odd coefficients (1/2, 1/2) – Even coefficient (1) 24

  25. B-Spline Curves B Spline Curves • Quadratic B Spline (Chaikin) • Quadratic B-Spline (Chaikin) – Odd coefficients (¼, ¾) demo – Even coefficients (¾ , ¼) • Cubic B-Spline (Catmull-Clark) – Odd coefficients (4/8, 4/8) – Even coefficients (1/8, 6/8, 1/8) Even coefficients (1/8, 6/8, 1/8) 25

  26. 26 Cubic B-Spline Cubic B Spline odd even

  27. 27 Cubic B-Spline Cubic B Spline even odd

  28. 28 Cubic B-Spline Cubic B Spline even odd

  29. 29 Cubic B-Spline Cubic B Spline even odd

  30. 30 Cubic B-Spline Cubic B Spline even odd

  31. 31 Cubic B-Spline Cubic B Spline even odd

  32. 32 Cubic B-Spline Cubic B Spline even odd

  33. 33 Cubic B-Spline Cubic B Spline even odd

  34. 34 Cubic B-Spline Cubic B Spline even odd

  35. 35 Cubic B-Spline Cubic B Spline even odd

  36. 36 Cubic B-Spline Cubic B Spline even odd

  37. 37 Cubic B-Spline Cubic B Spline even odd

  38. 38 Cubic B-Spline Cubic B Spline even odd

  39. 39 Cubic B-Spline Cubic B Spline even odd

  40. B-Spline Curves B Spline Curves • Subdivision rules for control polygon • Subdivision rules for control polygon • Mask of size n yields C n -1 curve 40

  41. Interpolating (4-point Scheme) Interpolating (4 point Scheme) • Keep old vertices • Keep old vertices • Generate new vertices by fitting cubic curve to y g old vertices • C 1 continuous limit curve C 1 ti li it 41

  42. 42 Interpolating Interpolating

  43. 43 Interpolating Interpolating

  44. 44 Interpolating Interpolating

  45. 45 Interpolating Interpolating

  46. demo 46 Interpolating Interpolating

  47. Subdivision Surfaces Subdivision Surfaces • No regular structure as for curves • No regular structure as for curves – Arbitrary number of edge-neighbors – Different subdivision rules for each valence 47

  48. Subdivision Rules Subdivision Rules • How the connectivity changes • How the connectivity changes • How the geometry changes – Old points – New points e po ts

  49. Subdivision Zoo Subdivision Zoo • Classification of subdivision schemes • Classification of subdivision schemes Primal Faces are split into sub-faces Dual D l V Vertices are split into multiple vertices ti lit i t lti l ti Approximating Control points are not interpolated Interpolating Interpolating Control points are interpolated Control points are interpolated 49

  50. Subdivision Zoo Subdivision Zoo • Classification of subdivision schemes • Classification of subdivision schemes Primal (face split) T i Triangular meshes l h Q Quad Meshes d M h Loop(C 2 ) Catmull ‐ Clark(C 2 ) Approximating Mod Butterfly (C 1 ) Mod. Butterfly (C 1 ) Kobbelt (C 1 ) Kobbelt (C 1 ) Interpolating Interpolating Dual (vertex split) Doo ‐ Sabin, Midedge(C 1 ) Biquartic (C 2 ) Biquartic (C ) • Many more... 50

  51. Subdivision Zoo Subdivision Zoo • Classification of subdivision schemes • Classification of subdivision schemes Primal Dual Triangles Triangles Rectangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt 51

  52. Catmull Clark Subdivision Catmull-Clark Subdivision • Generalization of bi cubic B Splines • Generalization of bi-cubic B-Splines • Primal, approximation subdivision scheme • Applied to polygonal meshes • Generates G 2 continuous limit surfaces: G 2 G t ti li it f – C 1 for the set of finite extraordinary points • Vertices with valence ≠ 4 – C 2 continuous everywhere else C co t uous e e y e e e se 52

  53. Catmull Clark Subdivision Catmull-Clark Subdivision 53

  54. Catmull Clark Subdivision Catmull-Clark Subdivision 54

  55. Classic Subdivision Operators Classic Subdivision Operators • Classification of subdivision schemes • Classification of subdivision schemes Primal Dual Triangles Triangles Rectangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt 55

  56. Loop Subdivision Loop Subdivision • Generalization of box splines • Generalization of box splines • Primal, approximating subdivision scheme • Applied to triangle meshes • Generates G 2 continuous limit surfaces: G 2 G t ti li it f – C 1 for the set of finite extraordinary points • Vertices with valence ≠ 6 – C 2 continuous everywhere else C co t uous e e y e e e se 56

  57. Loop Subdivision Loop Subdivision 57

  58. Loop Subdivision Loop Subdivision 58

  59. Subdivision Zoo Subdivision Zoo • Classification of subdivision schemes • Classification of subdivision schemes Primal Dual Triangles Triangles Rectangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt 59

  60. Doo Sabin Subdivision Doo-Sabin Subdivision • Generalization of bi quadratic B Splines • Generalization of bi-quadratic B-Splines • Dual, approximating subdivision scheme • Applied to polygonal meshes • Generates G 1 continuous limit surfaces: G 1 G t ti li it f – C 0 for the set of finite extraordinary points • Center of irregular polygons after 1 subdivision step – C 1 continuous everywhere else C co t uous e e y e e e se 60

  61. Doo-Sabin Subdivision Doo Sabin Subdivision 61

  62. Doo-Sabin Subdivision Doo Sabin Subdivision 62

Recommend


More recommend