Date post: | 14-Dec-2015 |
Category: |
Documents |
Upload: | aden-beldon |
View: | 219 times |
Download: | 0 times |
Bicubic G1 interpolation of arbitrary quad meshes using a 4-split
S. Hahmann G.P. Bonneau B. Caramiaux
CAI Hongjie
Mar. 20, 2008
Geometric Modeling and Processing 2008
Authors
Stefanie Hahmann
• Main Posts Professor at Institut National Polytechnique
de Grenoble (INPG), France
Researcher at Laboratorie Jean Kuntzmann (LJK)
• Research CAGD
Geometry Processing
Scientific Visualization
Authors
Georges-Pierre Bonneau
• Main Posts Professor at Université
Joseph Fourier
Researcher at LJK
• Research CAGD
Visualization
Outline• Applications of surface modeling
• Background Subdivision surface Global tensor product surface Locally constructed surface
• Circulant Matrices
• Vertex Consistency Problem
• Surface Construction by Steps
Applications of Surface Modeling
• Medical imaging
• Geological modeling
• Scientific visualization
• 3D computer graphic animation
A peep of HD 3D Animation
From Appleseed EX Machina (2007)
Subdivision Surface
Doo-Sabin 细分方法
Catmull-Clark 细分方法
Loop 细分方法
Butterfly 细分方法
From PhD thesis of Zhang Jinqiao
Locally Constructed Surface
From S. Hahmann, G.P. Bonneau. Triangular G1 interpolation by 4-splitting domain triangles
Circulant Matrices
• Definition: A circulant matrix M is of the form
• Remark: Circulant matrix is a special case of Toeplitz matrix
0 1 2 2 1
1 0 1 3 2
1 2 3 1 0
n n
n n n
n n n
a a a a a
a a a a aM
a a a a a
Circulant Matrices
• Property: Let f(x)=a0+a1x +…+ an-1xn-1,
then eigenvalues, eigenvectors and determinant of M are
Eigenvalues:
Eigenvectors:
Determinant:
2 /i ne
( ), 0,..., 1.kk f k n
2 ( 1) T(1, , ,..., )k k n kk v
1
0
det( ) ( )n
k
k
f
M
Examples of Circulant Matrices• Determine the singularity of
Solution: f(x)=0.5+0.5xn-1,
0.5 0 0 0.5
0.5 0.5 0 0
0 0 0.5 0
0 0 0.5 0.5n n
T
2 /i ne 2 ( 1) /det( ) 0 ( ) 0.5(1 ) 0, 0,..., 1
2 ( 1) / 2 1,
2 |
k k n i nk f e k n
k n n m m
n
T
Examples of Circulant Matrices• Compute the determinant of
• Compute the rank of
0
0
0
0.5 0 0 0.5
0.5 0.5 0 0
0.5 0 0 0.5n n
A1
0
0
det( ) (cos(2 / ) )n
k
k n
A
1 cos(2 / ) cos(4 / ) cos(2( 1) / )
cos(2 / ) 1 cos(2 / ) cos(2( 2) / )
cos(2( 1) / ) cos(2( 2) / ) cos(2( 3) / ) 1n n
n n n n
n n n n
n n n n n n
A
( ) 2rank A
Vertex Consistency Problem• For C2 surface assembling
If G1 continuity at boundary is satisfied,
then , i i iv scalar functions and such that1
1 1
( ) ( ,0) ( ) ( ,0) ( ) (0, ),
[0,1], 1,..., .
i i i
i i i i i i i i ii i i
i
u u v u u u uu u u
u i n
S S S
Vertex Consistency Problem
• Twist compatibility for C2 surface
then
2 2
1 1
(0,0) (0,0)i i
i i i iu u u u
S S
2 2 1
1 1
2'
1' '
1 1
(0) (0,0) (0) (0,0)
(0) (0,0) (0) (0,0)
(0) (0,0) (0) (0,0)
i i
i ii i i i
i i
i ii i i
i i
i ii i
vu u u u
u u u
vu u
S S
S S
S S
Vertex Consistency Problem
• Matrix form
It is generally unsolvable when n is even
2 111 1
1 2 22 2
2 111 1
1
(0) 0 0 (0)
(0) (0) 0 0
0 (0) (0) 0
0 0 (0) (0)nn n
n n nn
v
u uv
v
v u u
rS
r
rS
r
2 1' ' '
1 1
(0) (0,0) (0) (0,0) (0) (0,0) (0) (0,0)i i i i
i i i i ii i i i i
vu u u u u
S S S S
r
Sketch of the Algorithm• Given a
quad mesh
• To find 4
interpolated bi-cubic
tensor surfaces for
each patch with
G1 continuity at
boundary
Preparation: Simplification
• Simplification of G1 continuity condition1
1 1
( ) ( ,0) ( ) ( ,0) ( ) (0, ),
[0,1], 1,..., .
i i i
i i i i i i i i ii i i
i
u u v u u u uu u u
u i n
S S S
( ) ( ) 1/ 2, [0,1], i i i i iv u u u Let then
1
1 1
1 1( ) ( ,0) ( ,0) (0, ),
2 2
[0,1], 1,..., .
i i i
i i i i ii i i
i
u u u uu u u
u i n
S S S
Choice of
• Let be constant, depended only on n (the order of vertex v)
• Specialize G1 continuity condition at ui=0, then
• Non-trivial solution require
10
10
0
(0,0)0.5 0 0 0.5
0.5 0.5 0 0
(0,0)0.5 0 0 0.5n
n
u
u
0
S
S
( )i iu
0 1 ': (0), : (0)i i
10 0
0
det( ) (cos(2 / ) ) 0, cos(2 / )n
k
k n n
choose
Choice of
• Determine
(1)i
( )i iu
1
1 1
1 1 1 1
2 1 1cos( ) (0,0) (0,0) (0,0),
2 2
1 , ,
i i i
i i i i
i i i i i i
n u u u
u u u u u u
S S S
(1)i
1
1 1
2 1 1cos( ) (1,0) (0,0) (0,0),
2 2
i i i
i i i in u u u
S S S
2(1) cos( )i
in
2 1cos (1 2 ) [0, ]
2 ( )
2 1cos (2 1) [ ,1]
2
i i
i i
i ii
u un
uu u
n
choose
ni is the order of vi
Step 1:Determine Boundary Curve
• Differentiate G1 continuity equation and specialize at ui=0, then
• Matrix form
2 2 1 21 0
21 1
1 ' 0
1 1(0,0) (0,0) (0) (0,0) (0,0)
2 2
(0), (0) cos(2 / )
i i i i
i i i i i i
i i
u u u u u u
n
S S S S
where
1 01 2 Tt d d
1 2
1
, (0,0)i
ii i
n
u u
t
St t
tT T1 2 1 2
1 2 2 21 1(0,0) (0,0)
, n n
n nu u u u
S S S S
d d
Examples of Circulant Matrices• Determine the singularity of
Solution: f(x)=0.5+0.5xn-1,
0.5 0 0 0.5
0.5 0.5 0 0
0 0 0.5 0
0 0 0.5 0.5n n
T
2 /i ne 2 ( 1) /det( ) 0 ( ) 0.5(1 ) 0, 0,..., 1
2 ( 1) / 2 1,
2 |
k k n i nk f e k n
k n n m m
n
T
Step 1:Determine Boundary Curve
• Differentiate G1 continuity equation and specialize at ui=0, then
• Matrix form
2 2 1 21 0
21 1
1 ' 0
1 1(0,0) (0,0) (0) (0,0) (0,0)
2 2
(0), (0) cos(2 / )
i i i i
i i i i i i
i i
u u u u u u
n
S S S S
where
1 01 2 Tt d d
1 2
1
, (0,0)i
ii i
n
u u
t
St t
tT T1 2 1 2
1 2 2 21 1(0,0) (0,0)
, n n
n nu u u u
S S S S
d d
Step 1:Determine Boundary Curve
• Notations
• Selection of d1,d2
T1,0 ,0 , 0,1,2.n
k k k k b b b
T
1 n p v v
33
,00
( ,0) (2 ), [0,0.5].i ii k k i i
k
u B u u
S b
1 11 1 1 0
2 ( )[ (0,0)] 6( ) 6 , cos
ini ij
i
j iB B
u n n
S
d b b p
22 1
2 1 2 1 0 2 02
2[ (0,0)] 24( - 2 ) 24[ ( 2 ) ]
3
ini
i
B Bu
S
d b b b b p
Step 2:Twist Computations
• d1,d2 is in the image of T
• Determine the twist
• Determine
1 1 2 2, d Td d Td
1 01 2 Tt d d
1 01 2 t d d
11ib
2
11 10 01 001
(0,0) 36( )i
i i i ii
i iu u
S
t b b b b
Change of G1 Conditions
• From
• To
1
1 1
1 1( ) ( ,0) ( ,0) (0, )
2 2
i i i
i i i i ii i i
u u u uu u u
S S S
1
1
1
( ,0) ( ) ( ,0) ( ) ( )
( ,0) ( ) ( ,0) ( ) ( )
i i
i i i i i i i ii i
i i
i i i i i i i ii i
u u u u uu u
u u u u uu u
S SV
S SV
( ) ( ) i i i iu u Vand to be determined
Step 3: Edge Computations• Determine
• Determine Vi(ui)
where
V0,V1 are two n×n matrices determined by
G1 condition
( )i iu( ) sin(2 / )(1 ) sin(2 / ) , [0,1]i i i i i iu n u n u u
22
0
( ) (2 ), [0,0.5]ii i j j i i
j
u B u u
V v
1 T 0 1 T 10 0 1 1 2 1 1
1[ ,..., ] , [ ,..., ] , ( )
2n n i i k v v V p v v V p v v v
Step 3: Edge Computations
• Determine 21 31,i ib b
33
,1 ,001
( ,0) 6( ) (2 )
1( ) ( ,0) ( ) ( ), [0, ]
2
ii i
i j j j iji
i
i i i i i i i ii
u B uu
u u u u uu
Sb b
SV
Step 4: Face Computations
• C1 continuity between inner micro faces
• We choose A1,A2,A3,A4 as dof.
1
2i i
i
A A
B
2
1 2 3 4
2
4
i i
B BC
A A A A
Results
Results
Conclusions
• Suited to arbitrary topological quad mesh
• Preserved G1 continuity at boundary
• Given explicit formulas
• Low degrees (bi-cubic)
• Shape parameters control is available
Reference• S. Hahmann, G.P. Bonneau, B. Caramiaux
Bicubic G1 interpolation of arbitrary quad meshes using a 4-split
• S. Hahmann, G.P. Bonneau
Triangular G1 interpolation by 4-splitting domain triangles
• Charles Loop
A G1 triangular spline surface of arbitrary topological type
• S. Mann, C. Loop, M. Lounsbery, et al
A survey of parametric scattered data fitting using triangular interpolants
Thanks!
Q&A