Subdivision Surfaces 1 Geometric Modeling Geometric Modeling - - PDF document

subdivision surfaces
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Subdivision Surfaces

1

slide-2
SLIDE 2

Geometric Modeling Geometric Modeling

  • Sometimes need more than polygon meshes
  • Sometimes need more than polygon meshes

– Smooth surfaces

  • Traditional geometric modeling used NURBS

N if ti l B S li – Non uniform rational B-Spline – Demo

2

slide-3
SLIDE 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

slide-4
SLIDE 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

slide-5
SLIDE 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

slide-6
SLIDE 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

slide-7
SLIDE 7

Example: Geri’s Game (Pixar)

  • Subdivision used for

Example: Geri s Game (Pixar)

  • Subdivision used for

– Geri’s hands and head – Clothing – Tie and shoes

7

slide-8
SLIDE 8

Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar)

Woody’s hand (NURBS) Geri’s hand (subdivision)

8

slide-9
SLIDE 9

Example: Geri’s Game (Pixar) Example: Geri s Game (Pixar)

  • Sharp and semi sharp features
  • Sharp and semi-sharp features

9

slide-10
SLIDE 10

Example: Games Example: Games

Supported in hardware in DirectX 11 Supported in hardware in DirectX 11

10

slide-11
SLIDE 11

Subdivision Curves Subdivision Curves

Given a control polygon... Given a control polygon... ...find a smooth curve related to that polygon.

11

slide-12
SLIDE 12

Subdivision Curve Types Subdivision Curve Types

  • Approximating
  • Interpolating
  • Interpolating
  • Corner Cutting

12

slide-13
SLIDE 13

Approximating Approximating

13

slide-14
SLIDE 14

Approximating Approximating

Splitting step: split each edge in two

14

slide-15
SLIDE 15

Approximating Approximating

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

15

slide-16
SLIDE 16

Approximating Approximating

Start over ... Start over ...

16

slide-17
SLIDE 17

Approximating Approximating

...splitting... ...splitting...

17

slide-18
SLIDE 18

Approximating Approximating

...averaging... ...averaging...

18

slide-19
SLIDE 19

Approximating Approximating

...and so on... ...and so on...

19

slide-20
SLIDE 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

slide-21
SLIDE 21

Equivalent to …

  • Insert single new point at mid edge

Equivalent to …

  • 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

slide-22
SLIDE 22

Corner Cutting

  • Subdivision rule:

Corner Cutting

  • Subdivision rule:

– Insert two new vertices at ¼ and ¾ of each edge – Remove the old vertices – Connect the new vertices

22

slide-23
SLIDE 23

B-Spline Curves B Spline Curves

  • Piecewise polynomial of degree n
  • Piecewise polynomial of degree n

control points B spline curve control points B-spline curve parameter value basis functions parameter value

23

slide-24
SLIDE 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

slide-25
SLIDE 25

B-Spline Curves

  • Quadratic B Spline (Chaikin)

B Spline Curves

  • 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

slide-26
SLIDE 26

Cubic B-Spline Cubic B Spline

even

  • dd

26

slide-27
SLIDE 27

Cubic B-Spline Cubic B Spline

even

  • dd

27

slide-28
SLIDE 28

Cubic B-Spline Cubic B Spline

even

  • dd

28

slide-29
SLIDE 29

Cubic B-Spline Cubic B Spline

even

  • dd

29

slide-30
SLIDE 30

Cubic B-Spline Cubic B Spline

even

  • dd

30

slide-31
SLIDE 31

Cubic B-Spline Cubic B Spline

even

  • dd

31

slide-32
SLIDE 32

Cubic B-Spline Cubic B Spline

even

  • dd

32

slide-33
SLIDE 33

Cubic B-Spline Cubic B Spline

even

  • dd

33

slide-34
SLIDE 34

Cubic B-Spline Cubic B Spline

even

  • dd

34

slide-35
SLIDE 35

Cubic B-Spline Cubic B Spline

even

  • dd

35

slide-36
SLIDE 36

Cubic B-Spline Cubic B Spline

even

  • dd

36

slide-37
SLIDE 37

Cubic B-Spline Cubic B Spline

even

  • dd

37

slide-38
SLIDE 38

Cubic B-Spline Cubic B Spline

even

  • dd

38

slide-39
SLIDE 39

Cubic B-Spline Cubic B Spline

even

  • dd

39

slide-40
SLIDE 40

B-Spline Curves B Spline Curves

  • Subdivision rules for control polygon
  • Subdivision rules for control polygon
  • Mask of size n yields Cn-1 curve

40

slide-41
SLIDE 41

Interpolating (4-point Scheme)

  • Keep old vertices

Interpolating (4 point Scheme)

  • Keep old vertices
  • Generate new vertices by fitting cubic curve to

y g

  • ld vertices

C1 ti li it

  • C1 continuous limit curve

41

slide-42
SLIDE 42

Interpolating Interpolating

42

slide-43
SLIDE 43

Interpolating Interpolating

43

slide-44
SLIDE 44

Interpolating Interpolating

44

slide-45
SLIDE 45

Interpolating Interpolating

45

slide-46
SLIDE 46

Interpolating Interpolating

demo

46

slide-47
SLIDE 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

slide-48
SLIDE 48

Subdivision Rules Subdivision Rules

  • How the connectivity changes
  • How the connectivity changes
  • How the geometry changes

– Old points – New points e po ts

slide-49
SLIDE 49

Subdivision Zoo Subdivision Zoo

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Faces are split into sub-faces D l V ti lit i t lti l ti Dual Vertices are split into multiple vertices Approximating Control points are not interpolated Interpolating Control points are interpolated Interpolating Control points are interpolated

49

slide-50
SLIDE 50

Subdivision Zoo Subdivision Zoo

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal (face split) T i l h Q d M h Triangular meshes Quad Meshes Approximating Loop(C2) Catmull‐Clark(C2) Interpolating Mod Butterfly (C1) Kobbelt (C1) Interpolating

  • Mod. Butterfly (C1)

Kobbelt (C1) Dual (vertex split) Doo‐Sabin, Midedge(C1) Biquartic (C2)

  • Many more...

Biquartic (C )

50

slide-51
SLIDE 51

Subdivision Zoo Subdivision Zoo

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Dual Triangles Rectangles Triangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt

51

slide-52
SLIDE 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

G t G2 ti li it f

  • Generates G2 continuous limit surfaces:

– C1 for the set of finite extraordinary points

  • Vertices with valence ≠ 4

– C2 continuous everywhere else C co t uous e e y e e e se

52

slide-53
SLIDE 53

Catmull-Clark Subdivision Catmull Clark Subdivision

53

slide-54
SLIDE 54

Catmull-Clark Subdivision Catmull Clark Subdivision

54

slide-55
SLIDE 55

Classic Subdivision Operators Classic Subdivision Operators

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Dual Triangles Rectangles Triangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt

55

slide-56
SLIDE 56

Loop Subdivision Loop Subdivision

  • Generalization of box splines
  • Generalization of box splines
  • Primal, approximating subdivision scheme
  • Applied to triangle meshes

G t G2 ti li it f

  • Generates G2 continuous limit surfaces:

– C1 for the set of finite extraordinary points

  • Vertices with valence ≠ 6

– C2 continuous everywhere else C co t uous e e y e e e se

56

slide-57
SLIDE 57

Loop Subdivision Loop Subdivision

57

slide-58
SLIDE 58

Loop Subdivision Loop Subdivision

58

slide-59
SLIDE 59

Subdivision Zoo Subdivision Zoo

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Dual Triangles Rectangles Triangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt

59

slide-60
SLIDE 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

G t G1 ti li it f

  • Generates G1 continuous limit surfaces:

– C0 for the set of finite extraordinary points

  • Center of irregular polygons after 1 subdivision step

– C1 continuous everywhere else C co t uous e e y e e e se

60

slide-61
SLIDE 61

Doo-Sabin Subdivision Doo Sabin Subdivision

61

slide-62
SLIDE 62

Doo-Sabin Subdivision Doo Sabin Subdivision

62

slide-63
SLIDE 63

Classic Subdivision Operators Classic Subdivision Operators

  • Classification of subdivision schemes
  • Classification of subdivision schemes

Primal Dual Triangles Rectangles Triangles Rectangles Approximating Loop Catmull-Clark Doo-Sabin Doo-Sabin Midedge Interpolating Butterfly Kobbelt

63

slide-64
SLIDE 64

Butterfly Subdivision Butterfly Subdivision

  • Primal interpolating scheme
  • Primal, interpolating scheme
  • Applied to triangle meshes
  • Generates G1 continuous limit surfaces:

Co for the set of finite extraordinary points – Co for the set of finite extraordinary points

  • Vertices of valence = 3 or > 7

– C1 continuous everywhere else

64

slide-65
SLIDE 65

Butterfly Subdivision Butterfly Subdivision

65

slide-66
SLIDE 66

Butterfly Subdivision Butterfly Subdivision

66

slide-67
SLIDE 67

Remark Remark

  • Different masks apply on the boundary
  • Different masks apply on the boundary
  • Example: Loop

p p

67

slide-68
SLIDE 68

Comparison Comparison

Doo-Sabin Catmull-Clark Doo Sabin Catmull Clark Loop Butterfly Loop Butterfly

68

slide-69
SLIDE 69

Comparison Comparison

S bdi idi b

  • Subdividing a cube

– Loop result is assymetric, because cube was triangulated first first – Both Loop and Catmull-Clark are better then Butterfly (C2

  • vs. C1 )

– Interpolation vs. smoothness

69

slide-70
SLIDE 70

Comparison Comparison

  • Subdividing a tetrahedron
  • Subdividing a tetrahedron

– Same insights – Severe shrinking for approximating schemes

70

slide-71
SLIDE 71

Comparison Comparison

S t th diff ?

  • Spot the difference?
  • For smooth meshes with uniform triangle size, different schemes

provide very similar results provide very similar results

  • Beware of interpolating schemes for control polygons with sharp

features

71

slide-72
SLIDE 72

So Who Wins? So Who Wins?

L d C t ll Cl k b t h i t l ti i t i d

  • Loop and Catmull-Clark best when interpolation is not required
  • Loop best for triangular meshes
  • Catmull-Clark best for quad meshes

– Don’t triangulate and then use Catmull-Clark

72

slide-73
SLIDE 73

Analysis of Subdivision Analysis of Subdivision

  • Invariant neighborhoods

Invariant neighborhoods

– How many control-points affect a small neighborhood around a point ? neighborhood around a point ?

  • Subdivision scheme can be analyzed by looking

at a local subdivision matrix

73

slide-74
SLIDE 74

Local Subdivision Matrix Local Subdivision Matrix

  • Example: Cubic B-Splines

Example: Cubic B-Splines

  • Invariant neighborhood size: 5

Invariant neighborhood size: 5

74

slide-75
SLIDE 75

Analysis of Subdivision Analysis of Subdivision

  • Analysis via eigen decomposition of matrix S
  • Analysis via eigen-decomposition of matrix S

– Compute the eigenvalues – and eigenvectors – Let be real and X a complete set of eigenvectors

75

slide-76
SLIDE 76

Analysis of Subdivision Analysis of Subdivision

  • Invariance under affine transformations
  • Invariance under affine transformations

– transform(subdivide(P)) = subdivide(transform(P))

76

slide-77
SLIDE 77

Analysis of Subdivision Analysis of Subdivision

  • Invariance under affine transformations
  • Invariance under affine transformations

– transform(subdivide(P)) = subdivide(transform(P))

  • Rules have to be affine combinations

– Even and odd weights each sum to 1

77

slide-78
SLIDE 78

Analysis of Subdivision Analysis of Subdivision

  • Invariance under reversion of point ordering
  • Invariance under reversion of point ordering
  • Subdivision rules (matrix rows) have to be

( ) symmetric

78

slide-79
SLIDE 79

Analysis of Subdivision Analysis of Subdivision

Conclusion: 1 has to be eigenvector of S with i l λ 1 eigenvalue λ0=1

79

slide-80
SLIDE 80

Limit Behavior - Position Limit Behavior Position

  • Any vector is linear combination of eigenvectors:
  • Any vector is linear combination of eigenvectors:

rows of X-1

  • Apply subdivision matrix:

80

slide-81
SLIDE 81

Limit Behavior - Position Limit Behavior Position

  • For convergence we need
  • For convergence we need
  • Limit vector:

independent of j ! independent of j !

81

slide-82
SLIDE 82

Limit Behavior - Tangent Limit Behavior Tangent

  • Set origin at a :
  • Set origin at a0:
  • Divide by λ1

j

y

  • Limit tangent given by:
  • Limit tangent given by:

82

slide-83
SLIDE 83

Limit Behavior - Tangent Limit Behavior Tangent

  • Curves:
  • Curves:

– All eigenvalues of S except λ0=1 should be less than λ1 to ensure existence of a tangent, i.e.

  • Surfaces:

– Tangents determined by λ1 and λ2 Tangents determined by λ1 and λ2

83

slide-84
SLIDE 84

Example: Cubic Splines

  • Subdivision matrix & rules

Example: Cubic Splines

  • Subdivision matrix & rules

Eigen al es

  • Eigenvalues

84

slide-85
SLIDE 85

Example: Cubic Splines

  • Eigenvectors

Example: Cubic Splines

  • Eigenvectors
  • Limit position and tangent

85

slide-86
SLIDE 86

Properties of Subdivision Properties of Subdivision

  • Flexible modeling
  • Flexible modeling

– Handle surfaces of arbitrary topology Provably smooth limit surfaces – Provably smooth limit surfaces – Intuitive control point interaction

S l bilit

  • Scalability

– Level-of-detail rendering – Adaptive approximation

  • Usability

– Compact representation – Simple and efficient code

86

slide-87
SLIDE 87

Beyond Subdivision Surfaces Beyond Subdivision Surfaces

  • Non linear subdivision [S h

f t l 2008]

  • Non-linear subdivision [Schaefer et al. 2008]

Idea: replace arithmetic mean with other function

de Casteljau with de Casteljau with

87

slide-88
SLIDE 88

Beyond Subdivision Surfaces Beyond Subdivision Surfaces

  • T Splines [S d

b t l 2003]

  • T-Splines [Sederberg et al. 2003]

– Allows control points to be T-junctions – Can use less control points – Can model different topologies with single surface p g g

NURBS T-Splines NURBS T-Splines

88

slide-89
SLIDE 89

Beyond Subdivision Surfaces Beyond Subdivision Surfaces

  • How do you subdivide a teapot?
  • How do you subdivide a teapot?

89