1
Dr. Scott Schaefer
Analysis of Subdivision Surfaces at Extraordinary Vertices
2/50
Structure of Subdivision Surfaces
6
)(31 32 uuu 6
3u
6
364 32 uu 6
)1( 3u6
)1( 3v
6
364 32 vv
6
)(31 32 vvv
6
3v
3/50
Structure of Subdivision Surfaces
4/50
Structure of Subdivision Surfaces
5/50
Structure of Subdivision Surfaces
6/50
Structure of Subdivision Surfaces
7/50
Structure of Subdivision Surfaces
8/50
Structure of Subdivision Surfaces
9/50
Structure of Subdivision Surfaces
10/50
Structure of Subdivision Surfaces
If ordinary case is smooth, then obviously entire surface is smooth except possibly at extraordinary vertices
11/50
Smoothness of Surfaces
A surface is a Ck manifold if locally the surface is the graph of a Ck function
Must develop a local parameterization around extraordinary vertices to analyze smoothness
12/50
Subdivision Matrices
Encode local subdivision rules around extraordinary vertex
13/50
Subdivision Matrix Example
0
12
3 4
56
7 8
9
10
11
12
33 31 31 31 3164 256 256 256 256
3 3 1 18 8 8 8
3 31 18 8 8 8
3 31 18 8 8 8
3 31 18 8 8 8
51 1 1 1 1 116 8 16 16 16 16 16
51 1 1 1 1 116 16 8 16 16 16 16
51 1 1 1 1 116 16 8 16 16 16 16
51 1 1 116 16 16 8 16
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
S
1 116 16
3 31 18 8 8 8
3 31 18 8 8 8
3 31 18 8 8 8
3 31 18 8 8 8
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
14/50
Subdivision Matrix Example
Repeated multiplication by S performs subdivision locally
Only need to analyze S to determine smoothness of the subdivision surface
S0
12
3 4
56
7 8
9
10
11
12
15/50
Smoothness at Extraordinary Vertices
Reif showed that it is necessary for the subdivision matrix S to have eigenvalues of the form where for the surface to be C1 at the extraordinary vertex
A sufficient condition for C1 smoothness is that the characteristic map must be regular and injective
,...,,,1 211 11 j
16/50
The Characteristic Map
Let the eigenvalues of S be of the form
where . The eigenvectors associated with provide a
local parameterization around the extraordinary vertex
,...,,,1 211 11 j
111
111
tt
ss
vSv
vSv
1
17/50
The Characteristic Map
81
83
83
81
81
83
83
81
81
83
83
81
81
83
83
81
161
161
161
85
161
161
161
161
161
161
161
85
161
161
161
161
161
161
85
161
161
161
161
161
161
161
85
161
83
81
81
83
81
83
81
83
81
83
81
83
81
81
83
83
25631
25631
25631
25631
6433
000000000
000000000
000000000
000000000
000000
000000
000000
000000
000000000
000000000
000000000
000000000
00000000
S
18/50
The Characteristic Map
161
161
161
161
81
81
81
81
81
649
83
83 ,,,,,,,,,,,,1
81
83
83
81
81
83
83
81
81
83
83
81
81
83
83
81
161
161
161
85
161
161
161
161
161
161
161
85
161
161
161
161
161
161
85
161
161
161
161
161
161
161
85
161
83
81
81
83
81
83
81
83
81
83
81
83
81
81
83
83
25631
25631
25631
25631
6433
000000000
000000000
000000000
000000000
000000
000000
000000
000000
000000000
000000000
000000000
000000000
00000000
S
19/50
The Characteristic Map
5.75.7
5.75.7
5.75.7
5.75.7
130
013
130
013
50
05
50
05
00
5.75.7
5.75.7
5.75.7
5.75.7
130
013
130
013
50
05
50
05
00
000000000
000000000
000000000
000000000
000000
000000
000000
000000
000000000
000000000
000000000
000000000
00000000
83
81
83
83
81
81
83
83
81
81
83
83
81
81
83
83
81
161
161
161
85
161
161
161
161
161
161
161
85
161
161
161
161
161
161
85
161
161
161
161
161
161
161
85
161
83
81
81
83
81
83
81
83
81
83
81
83
81
81
83
83
25631
25631
25631
25631
6433
20/50
The Characteristic Map
0 1
2
3
4
5
6
7
8
910
11 12
s t
5.75.7
5.75.7
5.75.7
5.75.7
130
013
130
013
50
05
50
05
00
21/50
Analyzing Arbitrary Valence
Matrices become very large, very quickly Must analyze every valence independently
Need tools for somehow analyzing eigenvalues/vectors of arbitrary valence easily
22/50
Structure of Subdivision Matrices
81
83
83
81
81
83
83
81
81
83
83
81
81
83
83
81
161
161
161
85
161
161
161
161
161
161
161
85
161
161
161
161
161
161
85
161
161
161
161
161
161
161
85
161
83
81
81
83
81
83
81
83
81
83
81
83
81
81
83
83
25631
25631
25631
25631
6433
000000000
000000000
000000000
000000000
000000
000000
000000
000000
000000000
000000000
000000000
000000000
00000000
23/50
Structure of Subdivision Matrices
81
83
83
81
81
83
83
81
81
83
83
81
81
83
83
81
161
161
161
85
161
161
161
161
161
161
161
85
161
161
161
161
161
161
85
161
161
161
161
161
161
161
85
161
83
81
81
83
81
83
81
83
81
83
81
83
81
81
83
83
25631
25631
25631
25631
6433
000000000
000000000
000000000
000000000
000000
000000
000000
000000
000000000
000000000
000000000
000000000
00000000
Circulant matrix
24/50
Circulant Matrices
Matrix whose rows are horizontal shifts of a single row
210001
121000
012100
001210
000121
100012
i
iixcxc )(
52)( xxxc
25/50
Eigenvalues/vectors of Circulant Matrices Given an circulant matrix with rows
associated with c(x), its eigenvalues are of the form and has eigenvectors
where and
nn
nij
ewˆ2
132 ,...,,,,1 nwwww
)(wc
1,...,0 nj
210001
121000
012100
001210
000121
100012
26/50
Eigenvalues/vectors of Circulant Matrices Given an circulant matrix with rows
associated with c(x), its eigenvalues are of the form and has eigenvectors
where and
nn
nij
ewˆ2
132 ,...,,,,1 nwwww
)(wc
1,...,0 nj
11
1
)(
1
210001
121000
012100
001210
000121
100012
nn w
w
wc
w
w
27/50
Eigenvalues/vectors of Circulant Matrices Given an circulant matrix with rows
associated with c(x), its eigenvalues are of the form and has eigenvectors
where and
nn
nij
ewˆ2
132 ,...,,,,1 nwwww
)(wc
1,...,0 nj
210001
121000
012100
001210
000121
100012 xxxc 2)( 1
2cos4)( njwc
28/50
Block-Circulant Matrices
Matrix composed of circulant matrices
410001000000
141000000000
014100000000
001410000000
000141000000
100014000000
100000210001
010000121000
001000012100
000100001210
000010000121
000001100012
29/50
Block-Circulant Matrices
Matrix composed of circulant matrices
410001000000
141000000000
014100000000
001410000000
000141000000
100014000000
100000210001
010000121000
001000012100
000100001210
000010000121
000001100012
30/50
Block-Circulant Matrices
Matrix composed of circulant matrices
410001000000
141000000000
014100000000
001410000000
000141000000
100014000000
100000210001
010000121000
001000012100
000100001210
000010000121
000001100012
xx
xx
40
121
1
31/50
Eigenvalues/vectors ofBlock-Circulant Matrices Find eigenvalues/vectors of block matrix
10
1
40
02
10
1
40
12 21
1
121
1
1
xx
xx
xx
xx
eigenvectors eigenvalues inverse of eigenvectors
32/50
Eigenvalues/vectors ofBlock-Circulant Matrices Find eigenvalues/vectors of block matrix Eigenvalues of block matrix are eigenvalues
of expanded matrix evaluated at
10
1
40
02
10
1
40
12 21
1
121
1
1
xx
xx
xx
xx
eigenvectors eigenvalues inverse of eigenvectors
nij
ewˆ2
33/50
Eigenvalues/vectors ofBlock-Circulant Matrices Find eigenvalues/vectors of block matrix Eigenvalues of block matrix are eigenvalues
of expanded matrix evaluated at Eigenvectors of block matrix are multiples of
times eigenvectors of block matrix
10
1
40
02
10
1
40
12 21
1
121
1
1
xx
xx
xx
xx
eigenvectors eigenvalues inverse of eigenvectors
nij
ewˆ2
1,...,,1 nww
34/50
Eigenvalues/vectors ofBlock-Circulant Matrices
10
1
40
02
10
1
40
12 21
1
121
1
1
xx
xx
xx
xx
410001000000
141000000000
014100000000
001410000000
000141000000
100014000000
100000210001
010000121000
001000012100
000100001210
000010000121
000001100012
35/50
Eigenvalues/vectors ofBlock-Circulant Matrices
10
1
40
02
10
1
40
12 21
1
121
1
1
xx
xx
xx
xx
410001000000
141000000000
014100000000
001410000000
000141000000
100014000000
100000210001
010000121000
001000012100
000100001210
000010000121
000001100012 nj
nj 22
cos22,cos4
)6,5,5,4,3,3,3,3,2,1,1,0(
)1,(
)0,1(
21
2
1
v
v
),,,,,1,,,,,,(
)0,0,0,0,0,0,,,,,,1(54325
214
213
212
21
21
21
2
54321
wwwwwwwwwwv
wwwwwv
36/50
Example: Loop Subdivision
81
83
83
81
81
83
83
81
81
83
83
81
81
83
83
81
161
161
161
85
161
161
161
161
161
161
161
85
161
161
161
161
161
161
85
161
161
161
161
161
161
161
85
161
83
81
81
83
81
83
81
83
81
83
81
83
81
81
83
83
25631
25631
25631
25631
6433
000000000
000000000
000000000
000000000
000000
000000
000000
000000
000000000
000000000
000000000
000000000
00000000
81
83
83
81
1611
161
161
161
851
161
161
81
831
81
83
6431
6433
0
00
00
x
xxx
xx
37/50
Example: Loop Subdivision
81
83
83
81
81
83
83
81
81
83
83
81
81
83
83
81
161
161
161
85
161
161
161
161
161
161
161
85
161
161
161
161
161
161
85
161
161
161
161
161
161
161
85
161
83
81
81
83
81
83
81
83
81
83
81
83
81
81
83
83
25631
25631
25631
25631
6433
000000000
000000000
000000000
000000000
000000
000000
000000
000000
000000000
000000000
000000000
000000000
00000000
81
83
83
81
1611
161
161
161
851
161
161
81
831
81
83
6431
6433
0
00
00
x
xxx
xx
Some parts of the matrix are not circulant
38/50
Example: Loop Subdivision
Eigenvectors/values for block-circulant portion are eigenvectors/values for entire matrix except at j=0
vv
x
xxx
xx
81
83
83
1611
161
161
161
851
161
81
831
81
0
00
vv
x
xxx
xx 00
0
00
00
81
83
83
81
1611
161
161
161
851
161
161
81
831
81
83
6431
6433
39/50
Example: Loop Subdivision
81
83
83
1611
161
161
161
851
161
81
831
81
0
00
x
xxx
xx n
j 281
161
81 cos23,, 1,...,2,1 nj
40/50
Example: Loop Subdivision
81
83
83
1611
161
161
161
851
161
81
831
81
0
00
x
xxx
xx n
j 281
161
81 cos23,, 1,...,2,1 nj
81
43
81
81
161
43
161
85
83
6431
6433
0
00
00
161
81
649 ,,,1
41/50
Example: Loop Subdivision
81
83
83
1611
161
161
161
851
161
81
831
81
0
00
x
xxx
xx n
j 281
161
81 cos23,, 1,...,2,1 nj
81
43
81
81
161
43
161
85
83
6431
6433
0
00
00
161
81
649 ,,,1
4for,,,,,,,,,,,,1 161
161
161
161
81
81
81
81
81
649
83
83 n
42/50
Example: Loop Subdivision
Subdominant eigenvalue is Corresponding eigenvector is
n 2
81
1 cos23
nivn
tanˆ33,,1 2
1cos45221
21
1 2
43/50
Example: Loop Subdivision
Subdominant eigenvalue is Corresponding eigenvector is
Plot real/imaginary parts to create char map
n 2
81
1 cos23
nivn
tanˆ33,,1 2
1cos45221
21
1 2
83
1 2
ˆ323
513
1 ,,1 iv
44/50
Example:Loop Subdivision
25.01 375.01 452.01 5.01 531.01
45/50
Application: Exact Evaluation
S
46/50
Application: Exact Evaluation
Subdivide until x is in
ordinary region
xPS i
47/50
Application: Exact Evaluation
x
Subdivide until x is in
ordinary region
PS i
48/50
Application: Exact Evaluation
x
Subdivide until x is in
ordinary region
PS i
49/50
Application: Exact Evaluation
Subdivide until x is in
ordinary region
Extract B-spline control
points and evaluate at x
PS i
x
50/50
Application: Exact Evaluation
Subdivide until x is in
ordinary region
Extract B-spline control
points and evaluate at x
PVV i 1x