subdivision surfaces - technioncs236716/grad-slides/spring... · a butterfly subdivision scheme for...
TRANSCRIPT
1
Subdivision Surfaces
CAGD
Ofir Weber
2
Spline SurfacesSpline Surfaces
Why use them?
Smooth
Good for modeling - easy to controlCompact (complex objects are represented by less numbers)
Flexibility (different tessellation-parameters produce different level-of-details from the same surface)
3
Disadvantages of Splines
Grid should be regular
Resolution is not adaptive
Problems along seams of patchwork
Not well suited for animation – deformable models
Topology is not arbitrary (Holes, trim curves)
Less easy to add “features” such as crease.
4
Subdivision Surfaces – The Alternative
5
Applications: Mainly Computer Graphics / animation
6
The basic idea
In each iteration
Refine a control net (mesh)
Increases the number of vertices / faces
The mesh vertices converges to a limit surface
Each subdivision scheme has:
Rules to calculate the locations of new vertices.
A method to generate the new net topology.
0 1 2V V V V ∞
7
Subdivision schemes”Subdivision Zoo”
Catmul ClarkDoo SabinLoopButterfly – Nira Dyn…many more
Classification:
Mesh types: tris, quads, hex…, combinationFace / vertex splitInterpolating / ApproximatingSmoothness(Non)Linear…
8
Uniform Cubic Bi-variant Tensor product B-spline Patch Splitting
We can express the bicubic B-spline patch by:where
M - B-Spline basis matrixG - set of control pointsU,V - are the primitive basis vectors.
3 2
3 2
1
1
U u u u
V v v v
⎡ ⎤= ⎣ ⎦⎡ ⎤= ⎣ ⎦
( , ) t tS u v UMGM V=1 3 3 1
3 6 3 013 0 3 06
1 4 1 0
M
− −⎡ ⎤⎢ ⎥−⎢ ⎥=⎢ ⎥−⎢ ⎥⎣ ⎦
11 12 13 14
21 22 23 24
31 32 33 34
41 42 43 44
P P P PP P P P
GP P P PP P P P
⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦
9
B-Spline Splitting (cont’)
We will limit our discussion to one quadrant of the patch in which 0<u,v<½ , as it is identical to the others, due to symmetry.
This is the sub-patch where We can now combine the two last expressions into:
where:
1 1( , ) t t tS u v USMGM S V=
1 0 0 08
10 0 04
10 0 02
0 0 0 1
S
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
),( 11 vuS 2/ ,2/ 11 vvuu ==
10
B-Spline Splitting (cont’)
Notice that the new patch must still be a bicubic B-spline surface and therefore must satisfy:
Thus it must uphold:M is invertible so we can write it as:
Where
1 1 1( , ) t tS u v UMG M V=
1t t tMG M SMGM S=
( ) ( )11 1 1 t t t tG M SM G M S M H GH− −= =
11
4 4 0 01 6 1 010 4 4 080 1 6 1
H M SM−
⎡ ⎤⎢ ⎥⎢ ⎥= =⎢ ⎥⎢ ⎥⎣ ⎦
11
B-Spline Splitting (cont’)
And for individual points noted as qij:
Face point:
Edge point:
Vertex point:
( )11 12 21 2211
11 13 12 22
12
2222
4
2 22
4 2 4
p p p pq
q q p p
q
pQ Rq
+ + +=
+ +⎛ ⎞ ⎛ ⎞+ ⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠=
= + +
( )
( ) ( ) ( ) ( )
11 13 31 33
22 12 22 21 22 32 22 23
414 2 2 2 2
q q q qQ
p p p p p p p pR
+ + +=
⎡ ⎤+ + + += + + +⎢ ⎥
⎣ ⎦
12
Catmull-Clark scheme ’78Face Point
1
1 m
ii
f pm =
= ∑Edge Point
1 2 1 2
4p p f fe + + +
=
Vertex Point
( 3)2 p nQ Rvn n n
−= + +
Q – Average of face points
R – Average of midpoints
P – old vertex2 21 1
1 1 2n n
i ii i
nv f e pn n n= =
−= + +∑ ∑
13
Keep subdividing…
After 1 iteration, Every new face is a rectangular.
Extraordinary vertices are forever. Valence is retained.
Ultimately, at the limit, the surface will be a standard bicubic B-spline surface at every point except at these “extraordinary points”, and therefore at all but extraordinary points.
Catmull & Clark did not prove or guarantee continuity at the extraordinary points but note that trials indicate this much.
Later on it was proven to be C1
)2(C
14
Catmull-Clark, special rulesCrease/body masks
Piecewise smoothsurface
86
81
81
212
1
15
Catmull-Clark - Summary
Any topology – better use quad faces and vertices with valence 4ApproximationGeneralization of cubic B-SplineFace SplitC2 everywhere. C1 on extraordinary verticesLinear
16
Behavior near Extraordinary Points -Doo Sabin 78’
Extraordinary faces turns into extraordinary points after the first iteration
After that, the number of extraordinary points stays constant
The distance between extraordinary points remains, more or less ,fixed, And the number of faces between them grows with every step
Hence, we can treat each extraordinary point as an isolated phenomenon on a regular lattice
17
Matrix Form
( )( )
1
1
/ 4
/ 4
2 / 4
i i i i
i i i i
i i
i i
q Q R R S
r q q R S
q Rs Sn n
+
−
= + + +
= + + +
⎛ ⎞= + +⎜ ⎟⎝ ⎠∑ ∑
1 1
1 1 n n
n n
q Q
q Qr M R
r Rs S
⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⋅ ⋅⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⋅ ⋅⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥=⎢ ⎥ ⎢ ⎥ ⎢ ⎥⋅ ⋅⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥⋅ ⋅⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦
18
Matrix form for n=4
1
2
3
4
1
2
3
4
1 1 1 10 0 0 0 04 4 4 4
1 1 1 10 0 0 0 04 4 4 4
1 1 1 10 0 0 0 04 4 4 4
1 1 1 10 0 0 0 04 4 4 4
1 1 6 1 1 60 0 016 16 16 16 16 161 1 1 6 1 60 0 0
16 16 16 16 16 161 1 1 6 1 60 0 0
16 16 16 16 16 161 1 1 1 6 60 0 0
16 16 16 16 16 161 1 1 164 64 64 64
qqqqrrrrs
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟ =⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
1
2
3
4
1
2
3
4
3 3 3 3 932 32 32 32 16
QQQQRRRRS
⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟ ⎛ ⎞⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟⎜ ⎟⎜ ⎟ ⎝ ⎠⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
i
Matrix is large
We want to analyze for all possible n
We want analytic solution
19
Analyzing matrix MAnalyze the eigenvalues and eigenvectors of M.
M has cyclic symmetry - we can apply a Discrete Fourier Transform to Q, R and S, and then separate the terms of different frequencies.
Define in a similar way.
/ 22 /
0 1
nij n
iQ Q e jπ ωω
ω=
= = −∑
, , , i i iS R q r
20
DFTThe equations can be rewritten as a set of equations for each value of ω:
In matrix form:
*
0 0 0 0
( (1 ) ) / 4
((1 ) ) / 4( 2 ) / 4
q Q a R S
r a q R Ss q r s
ω ω ω ω ω
ω ω ω ω ω
= + + +
= + + +
= + +
0 0
0 0
0 0
4 / 1 6 8 / 1 6 4 / 1 62 / 1 6 8 / 1 6 6 / 1 6 01 / 1 6 6 / 1 6 9 / 1 6
q Qr Rs S
ω⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦
* *
4 /16 4(1 ) /16 0
(1 ) /16 ((1 )(1 ) 4) /16q a Qr a a a Rω ω ω
ω ω ω ω ω
ω+⎡ ⎤ ⎡ ⎤ ⎡ ⎤
= ≠⎢ ⎥ ⎢ ⎥ ⎢ ⎥+ + + +⎣ ⎦ ⎣ ⎦ ⎣ ⎦
2 /j na eω π ω=
21
DFT (cont’)Finding the eigenvalues is easy nowThe fact that the largest eigenvalue is 1 indicates that the surface will converge to some limit surface as iterations proceed.Since each row sums to one, is eigenvalue for (1, 1, .. , 1)
0
0
0
1
1 1
0 0
k
i ii
i i im
i i
k k m
i i i ii i
mi
m mi
q vv vMv vMq v vM M
vα
α
α
αλλ
α αλ
α
=
= =
= ⋅
⋅ = ⋅
⋅ = ⋅
⋅ = ⋅ = ⋅ ⋅ =
⎛ ⎞⎜ ⎟
= ⋅ = ⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠
∑
∑ ∑
1λ =
limm→∞
22
ContinuityDefine for the dominant eigenvalue at frequency ω
The limit of the first derivative depends on the ratio
If this ratio is less or equal than 1, the surface is slope continuous.
For the second derivative, we examine the ratio If this ratio is exactly 1, the curvature will converge to some finite nonzero value. Less than 1 means that there is a local flat point on the surface.
Based on this, Doo & Sabin improved the quadratic scheme of Catmull & Clark to be C1 everywhere
They couldn’t find similar formula for the cubic scheme
ωλ
1/ λλω
21/ λλω
23
Doo-Sabin quadratic scheme
Masks:
α0
α1
α2
α3
α49/16 3/16
3/16 1/16
( ),0 3 2cos 2 /4 4i
i
i nn
δ πα
+= +
24
Doo-Sabin quadratic scheme – cont’
Which resulted in which give discontinuity of exactly the second derivative under all circumstances.
0 11/ 4, 1/ 2, 1/ 4 1ωλ λ λ ω= = = >
25
Doo-Sabin Scheme - Summary
Any topology – built for quad facesApproximationVertex Split
C1 everywhere, even on extraordinary verticesGeneralization of quadratic B-SplineLinear
26
Loop’s scheme (‘87)
Edge
Vertex
83
81
83
81
21 5 3 2 2cos
8 8 8n nπβ
⎛ ⎞⎛ ⎞⎛ ⎞⎜ ⎟= − + ⎜ ⎟⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠⎝ ⎠
1 nβ−
β β
β
β β
β
27
Loop’s scheme - Boundary
12
12
18
34
18
Edge point Vertex point
The boundary is a cubic B-Spline curveThe curve only depends on the control points on the boundaryGood for connecting 2 meshesC0 for irregularities near boundary
28
Loop’s scheme - Summary
Triangles – better use valence 6ApproximationFace SplitC2 on regular meshesOnly C1 on extraordinary pointsC0 for irregularities near boundaryThe scheme is based on three directional box SplineLinear
29
Butterfly scheme (‘90)-Nira Dyn
81
81
116
−
12
116
−
12
116
−
116
−
Original points (Stays)New edge point
30
Modified Butterfly scheme – Zorin(’96)
a a
b
b cc
c c
dd
wd
wc
wb
wa
:161:
281:
21:
:Weights
−−
+
−
Multiply each vertex by its weight and sum them upw is a control parameter – determines how closely the shape conforms to the original mesh
31
Modified Butterfly Scheme –Cont’
⎭⎬⎫
⎩⎨⎧
⎥⎦
⎤⎢⎣
⎡⎟⎠⎞
⎜⎝⎛+⎟
⎠⎞
⎜⎝⎛+≥
⎭⎬⎫
⎩⎨⎧ −=
⎭⎬⎫
⎩⎨⎧ −−=
Nj
Nj
NevN
eeeevN
eeevN
jππ 4cos
212cos
411:,
43::5
0:,81:,0:,
83:,
43::4
121:,
121:,
125:,
43::3
:Weights
3210
210
v e0
e1
e2e3
eN-1eN-2
eN-3
Extraordinary Vertex
New Edge vertex
1 ring neighborhood
1. (Valence 6) X (valence 6)
2. (Valence 6) X (valence != 6)
3. (Valence != 6) X (valence != 6)
32
Modified Butterfly Scheme - SummaryTriangles – use any valenceInterpolationFace SplitC1 everywhereNot C2 even on regular meshesLinear
33
Visual Comparison
34
Visual Comparison – Cont’
35
Visual Comparison – Cont’
36
Subdivision: pros and consPros:
Many of the pros of splinesFlexible wrt. topology/meshNo gaps or seams!Features are ”easy”Simple to implementEfficient to visualizeSimple/intuitive to manipulate –modelingHierarchical modeling with offsetsGood for deformation – animationBuilt-in LOD for rendering
Cons:Ck , k>1 is hard (not good for CAD)Evaluation not straight forward (but…)Artefacts (ripples etc.) Geri’s Game (Pixar studios)
Splines in Toy Story 1
37
References"Recursively generated B-Spline surfaces on arbitrary topological meshes", by E Catmull and J Clark. Computer Aided Design, Vol. 10, No. 6, pp 350-355, November 1978.
"Behavior of recursive division surfaces near extraordinary points", by D Doo and M Sabin. Computer Aided Design, Vol. 10, No. 6, pp 356-360, November 1978.
"Geometric Modeling with Splines, An Introduction" by Cohen, Riesenfeld, Elber: Section 7.2.1, Section 13.4, Chapter 20.
ZORIN, D., SCHR ¨ODER, P., AND SWELDENS, W. Interpolating Subdivision for Meshes with Arbitrary Topology. Computer Graphics Proceedings (SIGGRAPH 96) (1996), 189–192.
DYN, N., LEVIN, D., AND GREGORY, J. A. A Butterfly Subdivision Scheme for Surface Interpolation with Tension Control. ACM Trans. Gr. 9, 2 (April 1990), 160–169.
LOOP, C. Smooth Subdivision Surfaces Based on Triangles. Master’s thesis, University of Utah, Department of Mathematics, 1987.
Subdivision for Modeling and Animation – Siggraph 2000 course notes
38
Thank you