subdivision surfaces - stanford university
TRANSCRIPT
![Page 1: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/1.jpg)
Subdivision Surfaces
1
![Page 2: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/2.jpg)
Geometric ModelingGeometric Modeling
• Sometimes need more than polygon meshes• Sometimes need more than polygon meshes– Smooth surfaces
• Traditional geometric modeling used NURBSN if ti l B S li– Non uniform rational B-Spline
– Demo
2
![Page 3: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/3.jpg)
Problems with NURBSProblems 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
![Page 4: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/4.jpg)
SubdivisionSubdivision “Subdivision defines a smooth curve or surface asSubdivision defines a smooth curve or surface as
the limit of a sequence of successive refinements”refinements
4
![Page 5: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/5.jpg)
Subdivision SurfacesSubdivision Surfaces
• Generalization of spline curves / surfaces• Generalization of spline curves / surfaces– Arbitrary control meshes– Successive refinement (subdivision)– Converges to smooth limit surfaceg– Connection between splines and meshes
5
![Page 6: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/6.jpg)
Subdivision SurfacesSubdivision Surfaces
• Generalization of spline curves / surfaces• Generalization of spline curves / surfaces– Arbitrary control meshes– Successive refinement (subdivision)– Converges to smooth limit surfaceg– Connection between splines and meshes
6
![Page 7: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/7.jpg)
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
![Page 8: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/8.jpg)
Example: Geri’s Game (Pixar)Example: Geri s Game (Pixar)
Woody’s hand (NURBS) Geri’s hand (subdivision)
8
![Page 9: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/9.jpg)
Example: Geri’s Game (Pixar)Example: Geri s Game (Pixar)
• Sharp and semi sharp features• Sharp and semi-sharp features
9
![Page 10: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/10.jpg)
Example: GamesExample: Games
Supported in hardware in DirectX 11Supported in hardware in DirectX 11
10
![Page 11: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/11.jpg)
Subdivision CurvesSubdivision CurvesGiven a control polygon...Given a control polygon...
...find a smooth curve related to that polygon.
11
![Page 12: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/12.jpg)
Subdivision Curve TypesSubdivision Curve Types
• Approximating
• Interpolating• Interpolating
• Corner Cuttingg
12
![Page 13: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/13.jpg)
ApproximatingApproximating
13
![Page 14: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/14.jpg)
ApproximatingApproximatingSplitting step: split each edge in two
14
![Page 15: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/15.jpg)
ApproximatingApproximatingAveraging step: relocate each (original) vertex according to some (simple) rule...
15
![Page 16: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/16.jpg)
ApproximatingApproximatingStart over ...Start over ...
16
![Page 17: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/17.jpg)
ApproximatingApproximating...splitting......splitting...
17
![Page 18: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/18.jpg)
ApproximatingApproximating...averaging......averaging...
18
![Page 19: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/19.jpg)
ApproximatingApproximating...and so on......and so on...
19
![Page 20: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/20.jpg)
ApproximatingApproximatingIf 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
![Page 21: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/21.jpg)
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
![Page 22: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/22.jpg)
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
![Page 23: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/23.jpg)
B-Spline CurvesB Spline Curves
• Piecewise polynomial of degree n• Piecewise polynomial of degree n
control pointsB spline curve control pointsB-spline curve
parameter value basis functionsparameter value
23
![Page 24: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/24.jpg)
B-Spline CurvesB 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
![Page 25: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/25.jpg)
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
![Page 26: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/26.jpg)
Cubic B-SplineCubic B Spline
even odd
26
![Page 27: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/27.jpg)
Cubic B-SplineCubic B Spline
evenodd
27
![Page 28: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/28.jpg)
Cubic B-SplineCubic B Spline
evenodd
28
![Page 29: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/29.jpg)
Cubic B-SplineCubic B Spline
evenodd
29
![Page 30: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/30.jpg)
Cubic B-SplineCubic B Spline
evenodd
30
![Page 31: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/31.jpg)
Cubic B-SplineCubic B Spline
evenodd
31
![Page 32: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/32.jpg)
Cubic B-SplineCubic B Spline
evenodd
32
![Page 33: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/33.jpg)
Cubic B-SplineCubic B Spline
evenodd
33
![Page 34: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/34.jpg)
Cubic B-SplineCubic B Spline
evenodd
34
![Page 35: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/35.jpg)
Cubic B-SplineCubic B Spline
evenodd
35
![Page 36: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/36.jpg)
Cubic B-SplineCubic B Spline
evenodd
36
![Page 37: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/37.jpg)
Cubic B-SplineCubic B Spline
evenodd
37
![Page 38: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/38.jpg)
Cubic B-SplineCubic B Spline
evenodd
38
![Page 39: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/39.jpg)
Cubic B-SplineCubic B Spline
evenodd
39
![Page 40: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/40.jpg)
B-Spline CurvesB Spline Curves
• Subdivision rules for control polygon• Subdivision rules for control polygon
• Mask of size n yields Cn-1 curve
40
![Page 41: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/41.jpg)
Interpolating (4-point Scheme)
• Keep old vertices
Interpolating (4 point Scheme)
• Keep old vertices
• Generate new vertices by fitting cubic curve to y gold vertices
C1 ti li it• C1 continuous limit curve
41
![Page 42: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/42.jpg)
InterpolatingInterpolating
42
![Page 43: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/43.jpg)
InterpolatingInterpolating
43
![Page 44: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/44.jpg)
InterpolatingInterpolating
44
![Page 45: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/45.jpg)
InterpolatingInterpolating
45
![Page 46: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/46.jpg)
InterpolatingInterpolating
demo
46
![Page 47: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/47.jpg)
Subdivision SurfacesSubdivision 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
![Page 48: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/48.jpg)
Subdivision RulesSubdivision Rules
• How the connectivity changes• How the connectivity changes
• How the geometry changes– Old points– New pointse po ts
![Page 49: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/49.jpg)
Subdivision ZooSubdivision 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 tiDual Vertices are split into multiple vertices
Approximating Control points are not interpolated
Interpolating Control points are interpolatedInterpolating Control points are interpolated
49
![Page 50: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/50.jpg)
Subdivision ZooSubdivision Zoo
• Classification of subdivision schemes• Classification of subdivision schemesPrimal (face split)
T i l h Q d M hTriangular 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
![Page 51: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/51.jpg)
Subdivision ZooSubdivision Zoo
• Classification of subdivision schemes• Classification of subdivision schemes
PrimalDual
Triangles RectanglesTriangles Rectangles
Approximating Loop Catmull-ClarkDoo-SabinDoo-SabinMidedgeInterpolating Butterfly Kobbelt
51
![Page 52: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/52.jpg)
Catmull-Clark SubdivisionCatmull 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 elseC co t uous e e y e e e se
52
![Page 53: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/53.jpg)
Catmull-Clark SubdivisionCatmull Clark Subdivision
53
![Page 54: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/54.jpg)
Catmull-Clark SubdivisionCatmull Clark Subdivision
54
![Page 55: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/55.jpg)
Classic Subdivision OperatorsClassic Subdivision Operators
• Classification of subdivision schemes• Classification of subdivision schemes
PrimalDual
Triangles RectanglesTriangles Rectangles
Approximating Loop Catmull-ClarkDoo-SabinDoo-SabinMidedgeInterpolating Butterfly Kobbelt
55
![Page 56: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/56.jpg)
Loop SubdivisionLoop 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 elseC co t uous e e y e e e se
56
![Page 57: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/57.jpg)
Loop SubdivisionLoop Subdivision
57
![Page 58: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/58.jpg)
Loop SubdivisionLoop Subdivision
58
![Page 59: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/59.jpg)
Subdivision ZooSubdivision Zoo
• Classification of subdivision schemes• Classification of subdivision schemes
PrimalDual
Triangles RectanglesTriangles Rectangles
Approximating Loop Catmull-ClarkDoo-SabinDoo-SabinMidedgeInterpolating Butterfly Kobbelt
59
![Page 60: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/60.jpg)
Doo-Sabin SubdivisionDoo 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 elseC co t uous e e y e e e se
60
![Page 61: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/61.jpg)
Doo-Sabin SubdivisionDoo Sabin Subdivision
61
![Page 62: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/62.jpg)
Doo-Sabin SubdivisionDoo Sabin Subdivision
62
![Page 63: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/63.jpg)
Classic Subdivision OperatorsClassic Subdivision Operators
• Classification of subdivision schemes• Classification of subdivision schemes
PrimalDual
Triangles RectanglesTriangles Rectangles
Approximating Loop Catmull-ClarkDoo-SabinDoo-SabinMidedgeInterpolating Butterfly Kobbelt
63
![Page 64: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/64.jpg)
Butterfly SubdivisionButterfly 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
![Page 65: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/65.jpg)
Butterfly SubdivisionButterfly Subdivision
65
![Page 66: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/66.jpg)
Butterfly SubdivisionButterfly Subdivision
66
![Page 67: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/67.jpg)
RemarkRemark
• Different masks apply on the boundary• Different masks apply on the boundary
• Example: Loopp p
67
![Page 68: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/68.jpg)
ComparisonComparisonDoo-Sabin Catmull-ClarkDoo Sabin Catmull Clark
Loop ButterflyLoop Butterfly
68
![Page 69: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/69.jpg)
ComparisonComparison
S bdi idi b• Subdividing a cube– Loop result is assymetric, because cube was triangulated
firstfirst– Both Loop and Catmull-Clark are better then Butterfly (C2
vs. C1 )– Interpolation vs. smoothness
69
![Page 70: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/70.jpg)
ComparisonComparison
• Subdividing a tetrahedron• Subdividing a tetrahedron– Same insights– Severe shrinking for approximating schemes
70
![Page 71: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/71.jpg)
ComparisonComparison
S t th diff ?• Spot the difference?
• For smooth meshes with uniform triangle size, different schemes provide very similar resultsprovide very similar results
• Beware of interpolating schemes for control polygons with sharp features
71
![Page 72: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/72.jpg)
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
![Page 73: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/73.jpg)
Analysis of SubdivisionAnalysis of Subdivision
• Invariant neighborhoodsInvariant 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
![Page 74: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/74.jpg)
Local Subdivision MatrixLocal Subdivision Matrix
• Example: Cubic B-SplinesExample: Cubic B-Splines
• Invariant neighborhood size: 5Invariant neighborhood size: 5
74
![Page 75: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/75.jpg)
Analysis of SubdivisionAnalysis 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
![Page 76: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/76.jpg)
Analysis of SubdivisionAnalysis of Subdivision
• Invariance under affine transformations• Invariance under affine transformations– transform(subdivide(P)) = subdivide(transform(P))
76
![Page 77: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/77.jpg)
Analysis of SubdivisionAnalysis 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
![Page 78: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/78.jpg)
Analysis of SubdivisionAnalysis of Subdivision
• Invariance under reversion of point ordering• Invariance under reversion of point ordering
• Subdivision rules (matrix rows) have to be ( )symmetric
78
![Page 79: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/79.jpg)
Analysis of SubdivisionAnalysis of Subdivision
Conclusion: 1 has to be eigenvector of S with i l λ 1eigenvalue λ0=1
79
![Page 80: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/80.jpg)
Limit Behavior - PositionLimit Behavior Position
• Any vector is linear combination of eigenvectors:• Any vector is linear combination of eigenvectors:
rows of X-1
• Apply subdivision matrix:
80
![Page 81: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/81.jpg)
Limit Behavior - PositionLimit Behavior Position
• For convergence we need• For convergence we need
• Limit vector:
independent of j !independent of j !
81
![Page 82: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/82.jpg)
Limit Behavior - TangentLimit Behavior Tangent
• Set origin at a :• Set origin at a0:
• Divide by λ1j
y
• Limit tangent given by:• Limit tangent given by:
82
![Page 83: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/83.jpg)
Limit Behavior - TangentLimit 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 λ2Tangents determined by λ1 and λ2
83
![Page 84: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/84.jpg)
Example: Cubic Splines
• Subdivision matrix & rules
Example: Cubic Splines
• Subdivision matrix & rules
Eigen al es• Eigenvalues
84
![Page 85: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/85.jpg)
Example: Cubic Splines
• Eigenvectors
Example: Cubic Splines
• Eigenvectors
• Limit position and tangent
85
![Page 86: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/86.jpg)
Properties of SubdivisionProperties 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
![Page 87: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/87.jpg)
Beyond Subdivision SurfacesBeyond 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
![Page 88: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/88.jpg)
Beyond Subdivision SurfacesBeyond 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 surfacep g g
NURBS T-Splines
NURBS T-Splines88
![Page 89: Subdivision Surfaces - Stanford University](https://reader031.vdocuments.site/reader031/viewer/2022012501/617b32e1d88a85035d62b649/html5/thumbnails/89.jpg)
Beyond Subdivision SurfacesBeyond Subdivision Surfaces
• How do you subdivide a teapot?• How do you subdivide a teapot?
89