Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex...
Transcript of Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex...
![Page 1: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/1.jpg)
Subdivision Surfaces
COS 426
![Page 2: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/2.jpg)
3D Object Representations• Raw data
o Voxelso Point cloudo Range imageo Polygons
• Surfaceso Mesho Subdivision o Parametrico Implicit
• Solidso Octreeo BSP treeo CSGo Sweep
• High-level structureso Scene grapho Application specific
![Page 3: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/3.jpg)
3D Object Representations• Raw data
o Voxelso Point cloudo Range imageo Polygons
• Surfaceso MeshSubdivisiono Parametrico Implicit
• Solidso Octreeo BSP treeo CSGo Sweep
• High-level structureso Scene grapho Application specific
![Page 4: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/4.jpg)
Subdivision Surfaces• What makes a good surface representation?
o Accurateo Conciseo Intuitive specificationo Local supporto Affine invarianto Arbitrary topologyo Guaranteed continuity o Natural parameterizationo Efficient displayo Efficient intersections
Reif & Schroeder 2000
![Page 5: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/5.jpg)
Subdivision Surfaces• What makes a good surface representation?
o Accurateo Conciseo Intuitive specificationo Local supporto Affine invarianto Arbitrary topologyGuaranteed continuityo Natural parameterizationo Efficient displayo Efficient intersections
Reif & Schroeder 2000
![Page 6: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/6.jpg)
Continuity• A curve / surface with Gk continuity
can be differentiated k times
G0
G1 G2
No continuity: “G-1”
![Page 7: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/7.jpg)
Continuity• A curve / surface with Gk continuity
can be differentiated k times
G0
G1 G2
No continuity: “G-1”
![Page 8: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/8.jpg)
Parametric Continuity• Curve x = f(t), y = g(t) is Ck continuous iff
and are continuous
• For surfaces: x = f(s,t), y = g(s,t), z = h(s,t)
Ck requires continuous
• Often easier to check / prove things about
k
k
k
k
dtgd
dtfd
k
k
k
k
k
k
k
k
k
k
k
k
th
sh
tg
sg
tf
sf
∂∂
∂∂
∂∂
∂∂
∂∂
∂∂ ,,,,,
![Page 9: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/9.jpg)
Subdivision• How do you make a curve with guaranteed
continuity?
Zorin & SchroederSIGGRAPH 99
Course Notes
?
![Page 10: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/10.jpg)
Subdivision• How do you make a curve with guaranteed
continuity? …
Zorin & SchroederSIGGRAPH 99
Course Notes
![Page 11: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/11.jpg)
Subdivision• How do you make a surface with guaranteed
continuity?
Zorin & SchroederSIGGRAPH 99
Course Notes
![Page 12: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/12.jpg)
Subdivision Surfaces• Repeated application of
o Topology refinement (splitting faces)o Geometry refinement (weighted averaging)
Zorin & SchroederSIGGRAPH 99
Course Notes
![Page 13: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/13.jpg)
Subdivision Surfaces – Examples• Base mesh
Scott Schaefer
![Page 14: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/14.jpg)
Subdivision Surfaces – Examples• Topology refinement
Scott Schaefer
![Page 15: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/15.jpg)
Subdivision Surfaces – Examples• Geometry refinement
Scott Schaefer
![Page 16: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/16.jpg)
Subdivision Surfaces – Examples• Topology refinement
Scott Schaefer
![Page 17: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/17.jpg)
Subdivision Surfaces – Examples• Geometry refinement
Scott Schaefer
![Page 18: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/18.jpg)
Subdivision Surfaces – Examples• Topology refinement
Scott Schaefer
![Page 19: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/19.jpg)
Subdivision Surfaces – Examples• Geometry refinement
Scott Schaefer
![Page 20: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/20.jpg)
Subdivision Surfaces – Examples• Limit surface
Scott Schaefer
![Page 21: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/21.jpg)
Subdivision Surfaces – Examples• Base mesh +
limit surface
Scott Schaefer
![Page 22: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/22.jpg)
22
Design of Subdivision Rules• What types of input?
o Quad meshes, triangle meshes, etc.
• How to refine topology?o Simple implementations
• How to refine geometry?o Smoothness guarantees in limit surface
» Continuity (C0, C1, C2, …?)o Provable relationships between limit surface
and original control mesh» Interpolation of vertices?
22
![Page 23: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/23.jpg)
23
Linear Subdivision• Type of input
o Quad mesh -- four-sided polygons (quads)o Any number of quads may touch each vertex
• Topology refinement ruleo Split every quad into four at midpoints
• Geometry refinement ruleo Average vertex positions
23
This is a simple example to demonstratehow subdivision schemes work
![Page 24: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/24.jpg)
24
Linear Subdivision
24
![Page 25: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/25.jpg)
25
Linear Subdivision• Topology refinement
25
![Page 26: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/26.jpg)
26
Linear Subdivision• Geometry refinement
26
![Page 27: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/27.jpg)
27
Linear SubdivisionLinearSubivision (F0, V0, k )
for i = 1 …k levels(Fi, Vi) = RefineTopology(Fi-1, Vi-1)RefineGeometry(Fi, Vi)
return (Fk, Vk)
27
![Page 28: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/28.jpg)
28
Linear SubdivisionRefineTopology ( F, V )
newV = VnewF = {}for each face Fi
Insert new vertex c at centroid of Fi into newVfor j = 1 to 4
Insert/lookup in newV new vertex ej atcentroid of each edge ( Fi,j, Fi,j+1)
for j = 1 to 4Insert new face (Fi,j, ej, c, ej-1) into newF
return (newF, newV)28
![Page 29: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/29.jpg)
29
Linear SubdivisionRefineGeometry( F, V )
newV = 0 * Vwt = array of 0 whose size is number of verticesnewF = Ffor each face Fi
cent = centroid for Fi
newV[Fi] += cent // syntax: repeat for all vtx indices in Fi
wt[Fi] += 1 // syntax: repeat for all vtx indices in Fi
for each vertex newV[i]newV[i] /= wt[i]
return (newF, newV)
29
![Page 30: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/30.jpg)
Linear Subdivision• Example
Scott SchaeferInput mesh
![Page 31: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/31.jpg)
Linear Subdivision• Example
Scott SchaeferTopology refinement
![Page 32: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/32.jpg)
Linear Subdivision• Example
Scott SchaeferGeometry refinement
![Page 33: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/33.jpg)
Linear Subdivision• Example
Scott SchaeferTopology refinement
![Page 34: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/34.jpg)
Linear Subdivision• Example
Scott SchaeferGeometry refinement
![Page 35: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/35.jpg)
Linear Subdivision• Example
Scott SchaeferTopology refinement
![Page 36: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/36.jpg)
Linear Subdivision• Example
Scott SchaeferGeometry refinement
![Page 37: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/37.jpg)
Linear Subdivision• Example
Scott SchaeferTopology refinement
![Page 38: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/38.jpg)
Linear Subdivision• Example
Scott SchaeferFinal result
![Page 39: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/39.jpg)
39
Subdivision Schemes• Common subdivision schemes
o Catmull-Clarko Loopo Many others
• Differ in ...o Input topologyo How refine topologyo How refine geometry
… which makes differences in …o Provable properties
39
![Page 40: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/40.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 41: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/41.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 42: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/42.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 43: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/43.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 44: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/44.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 45: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/45.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 46: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/46.jpg)
Catmull-Clark Subdivision
New = (4 * avg of –1 * avg of + (n-3) * ) / n
Scott Schaefer
![Page 47: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/47.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 48: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/48.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 49: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/49.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 50: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/50.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 51: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/51.jpg)
Catmull-Clark Subdivision
RepeatedAveraging
Catmull-Clark Subdivision
Scott Schaefer
![Page 52: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/52.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 53: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/53.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 54: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/54.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 55: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/55.jpg)
Catmull-Clark Subdivision
Scott Schaefer
![Page 56: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/56.jpg)
Catmull-Clark Subdivision• One round of subdivision produces all quads
• Smoothness of limit surfaceo C2 almost everywhereo C1 at vertices with valence 4
• Relationship to control mesho Does not interpolate input verticeso Within convex hull
• Most commonly used subdivisionscheme in the movies…
Pixar
![Page 57: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/57.jpg)
57
Subdivision Schemes• Common subdivision schemes
o Catmull-ClarkLoopo Many others
• Differ in ...o Input topologyo How refine topologyo How refine geometry
… which makes differences in …o Provable properties
57
![Page 58: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/58.jpg)
Loop Subdivision• Operates on pure triangle meshes
• Subdivision ruleso Linear subdivisiono Averaging rules for “even / odd” (white / black) vertices
Zorin & SchroederSIGGRAPH 99
Course Notes
![Page 59: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/59.jpg)
Loop Subdivision• Averaging rules
o Weights for “odd” and “even” vertices
Zorin & SchroederSIGGRAPH 99
Course Notes
Odd: Even:
![Page 60: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/60.jpg)
Loop Subdivision• Rules for extraordinary vertices and boundaries:
Zorin & SchroederSIGGRAPH 99
Course Notes
![Page 61: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/61.jpg)
Loop Subdivision• How to choose β?
o Analyze properties of limit surfaceo Interested in continuity of surface and smoothnesso Involves calculating eigenvalues of matrices
» Original Loop
» Warren
![Page 62: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/62.jpg)
Loop Subdivision• Operates only on triangle meshes
• Smoothness of limit surfaceo C2 almost everywhereo C1 at vertices with valence 6
• Relationship to control mesho Does not interpolate input verticeso Within convex hull
Zorin & SchroederSIGGRAPH 99
Course Notes
![Page 63: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/63.jpg)
Subdivision Schemes
Zorin & SchroederSIGGRAPH 99
Course Notes
Loop Catmull-Clark
![Page 64: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/64.jpg)
Subdivision Schemes
Zorin & SchroederSIGGRAPH 99
Course Notes
Loop Catmull-Clark
![Page 65: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/65.jpg)
65
Subdivision Schemes• Common subdivision schemes
o Catmull-Clarko Loopo Many others
• Differ in ...o Input topologyo How refine topologyo How refine geometry
… which makes differences in …o Provable properties
65
![Page 66: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/66.jpg)
Subdivision Schemes• Other subdivision schemes
Zorin & Schroeder, SIGGRAPH 99 , Course Notes
![Page 67: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/67.jpg)
Other Subdivision Schemes• Butterfly subdivision
Scott Schaefer
![Page 68: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/68.jpg)
Other Subdivision Schemes• Butterfly subdivision
Scott Schaefer
![Page 69: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/69.jpg)
Other Subdivision Schemes• Butterfly subdivision
Scott Schaefer
![Page 70: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/70.jpg)
Other Subdivision Schemes
Zorin & SchroederSIGGRAPH 99
Course Notes
Loop Butterfly Catmull-Clark
![Page 71: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/71.jpg)
Other Subdivision Schemes• Vertex-split subdivision
(Doo-Sabin, Midedge, Biquartic)
One step of Midegde subdivision
![Page 72: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/72.jpg)
Other Subdivision Schemes• Sqrt(3) subdivision
[Kobbelt 2000]
Rotating grid of sqrt(3) subdivision
![Page 73: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/73.jpg)
73
Extensions• Common schemes assume stationary rules
• Locally altering subdivision rules allows for additional effects
• Examples for non-stationary rules:o Edge preservationo Adaptive subdivision
73
![Page 74: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/74.jpg)
74
Edge Preservation• Treat selected control mesh edges as boundary:
74
M0 M1 M2 S=M�
[Loop ‘87]
tagged mesh
[Hoppe et al. ‘94]
![Page 75: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/75.jpg)
75
Adaptive Subdivision• Goal:
o Best possible approximation of smooth limit surfaceo With limited triangle budget
• Quality of approximation can be defined byo Projected (screen) area of final triangleso Local surface curvature
75
![Page 76: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/76.jpg)
76
Adaptive Subdivision• Goal:
o Best possible approximation of smooth limit surfaceo With limited triangle budget
• Quality of approximation can be defined byo Projected (screen) area of final triangleso Local surface curvature
• Solution:o Stop subdivision at different levels across the surfaceo Stop-criterion depending on quality measureo Project each vertex onto limit surface
76
![Page 77: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/77.jpg)
Adaptive Subdivision• Problem:
o Different levels of subdivision may lead to gapsin the surface
[Kobbelt 2000]
![Page 78: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/78.jpg)
Adaptive Subdivision• Solution:
o Replacing incompatible coarse triangles by triangle fano Balanced subdivision: neighboring subdivision levels
must not differ by more than one
Unbalanced Balanced[Kobbelt 2000]
![Page 79: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/79.jpg)
Adaptive Subdivision
10072 Triangles 228654 Triangles
[Kobbelt 2000]
![Page 80: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/80.jpg)
Subdivision Surfaces• Properties:
o Accurateo Conciseo Intuitive specificationo Local supporto Affine invarianto Arbitrary topologyo Guaranteed continuity o Natural parameterizationo Efficient displayo Efficient intersections
Pixar
![Page 81: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/81.jpg)
Subdivision Surfaces• Advantages:
o Simple method for describing complex surfaceso Relatively easy to implemento Arbitrary topologyo Local supporto Guaranteed continuityo Multiresolution
• Difficulties:o Intuitive specification o Parameterizationo Intersections
![Page 82: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/82.jpg)
Subdivision Surfaces• Used in movie and game industries
• Supported by most 3D modeling software
Geri’s Game © Pixar Animation StudiosScott Schaefer
![Page 83: Subdivision Surfaces...Subdivision Surfaces • Advantages: o Simple method for describing complex surfaces o Relatively easy to implement o Arbitrary topology o Local support o Guaranteed](https://reader033.fdocuments.in/reader033/viewer/2022042605/5f57008a78885f0b4b07bfc6/html5/thumbnails/83.jpg)
Summary
Accurate No YesConcise No YesIntuitive specification No NoLocal support Yes YesAffine invariant Yes YesArbitrary topology Yes YesGuaranteed continuity No YesNatural parameterization No NoEfficient display Yes YesEfficient intersections No No
Poly
gona
lM
esh
Subd
ivis
ion
Surf
ace
Feature