Analysis of Subdivision Surfaces at Extraordinary Vertices
description
Transcript of Analysis of Subdivision Surfaces at Extraordinary Vertices
1
Dr. Scott Schaefer
Analysis of Subdivision Surfaces at Extraordinary Vertices
2/50
Structure of Subdivision Surfaces
6)(31 32 uuu
6
3u6
364 32 uu 6
)1( 3u6
)1( 3v
6364 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 2563 3 1 18 8 8 83 31 18 8 8 83 31 18 8 8 83 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 00 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 00 0 0 0 0 0
0 0 0 0 0 00 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 00 0 0 0 0 0 0 0 00 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
000000000000000000000000000000000000
000000000000000000
00000000000000000000000000000000000000000000000000
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
000000000000000000000000000000000000
000000000000000000
00000000000000000000000000000000000000000000000000
S
19/50
The Characteristic Map
5.75.75.75.7
5.75.75.75.7
130013
13001350
05500500
5.75.75.75.7
5.75.75.75.7
130013
13001350
05500500
000000000000000000000000000000000000
000000000000000000
00000000000000000000000000000000000000000000000000
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.75.75.7
5.75.75.75.7
130013
13001350
05500500
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
000000000000000000000000000000000000
000000000000000000
00000000000000000000000000000000000000000000000000
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
000000000000000000000000000000000000
000000000000000000
00000000000000000000000000000000000000000000000000
Circulant matrix
24/50
Circulant Matrices
Matrix whose rows are horizontal shifts of a single row
210001121000012100001210000121100012
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
210001121000012100001210000121100012
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
210001121000012100001210000121100012
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
210001121000012100001210000121100012 xxxc 2)( 1
2cos4)( njwc
28/50
Block-Circulant Matrices
Matrix composed of circulant matrices
410001000000141000000000014100000000001410000000000141000000100014000000100000210001010000121000001000012100000100001210000010000121000001100012
29/50
Block-Circulant Matrices
Matrix composed of circulant matrices
410001000000141000000000014100000000001410000000000141000000100014000000100000210001010000121000001000012100000100001210000010000121000001100012
30/50
Block-Circulant Matrices
Matrix composed of circulant matrices
410001000000141000000000014100000000001410000000000141000000100014000000100000210001010000121000001000012100000100001210000010000121000001100012
xxxx
4012
1
1
31/50
Eigenvalues/vectors ofBlock-Circulant Matrices Find eigenvalues/vectors of block matrix
101
4002
101
4012 2
1
1
121
1
1
xxxx
xxxx
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
101
4002
101
4012 2
1
1
121
1
1
xxxx
xxxx
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
101
4002
101
4012 2
1
1
121
1
1
xxxx
xxxx
eigenvectors eigenvalues inverse of eigenvectors
nij
ewˆ2
1,...,,1 nww
34/50
Eigenvalues/vectors ofBlock-Circulant Matrices
101
4002
101
4012 2
1
1
121
1
1
xxxx
xxxx
410001000000141000000000014100000000001410000000000141000000100014000000100000210001010000121000001000012100000100001210000010000121000001100012
35/50
Eigenvalues/vectors ofBlock-Circulant Matrices
101
4002
101
4012 2
1
1
121
1
1
xxxx
xxxx
410001000000141000000000014100000000001410000000000141000000100014000000100000210001010000121000001000012100000100001210000010000121000001100012 n
jnj 22
cos22,cos4
)6,5,5,4,3,3,3,3,2,1,1,0(
)1,()0,1(
21
2
1
vv
),,,,,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
000000000000000000000000000000000000
000000000000000000
00000000000000000000000000000000000000000000000000
81
83
83
81
1611
161
161
161
851
161
161
81
831
81
83
6431
6433
0
0000
xxxx
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
000000000000000000000000000000000000
000000000000000000
00000000000000000000000000000000000000000000000000
81
83
83
81
1611
161
161
161
851
161
161
81
831
81
83
6431
6433
0
0000
xxxx
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
vvx
xxxxx
81
83
83
1611
161
161
161
851
161
81
831
81
0
00
vvx
xxxxx 00
0
0000
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
xxxx
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
xxxx
xx n
j 281
161
81 cos23,, 1,...,2,1 nj
81
43
81
81
161
43
161
85
83
6431
6433
0
0000
161
81
649 ,,,1
41/50
Example: Loop Subdivision
81
83
83
1611
161
161
161
851
161
81
831
81
0
00
xxxx
xx n
j 281
161
81 cos23,, 1,...,2,1 nj
81
43
81
81
161
43
161
85
83
6431
6433
0
0000
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 ix
50/50
Application: Exact Evaluation
Subdivide until x is in ordinary region
Extract B-spline control points and evaluate at x
PVV i 1x