Refinable Polycube G-Splines Martin Sarov
¨ Peters Jorg
University of Florida
NSF CCF-0728797
M. Sarov, J. Peters (UF)
SMI 2016
1 / 21
Background
Quest Surfaces with rational linear reparameterization = ‘as close as possible’ to regular splines
M. Sarov, J. Peters (UF)
SMI 2016
2 / 21
Geometric Continuity I
Geometric Continuity G1 = C 1 continuity after change of variables
M. Sarov, J. Peters (UF)
SMI 2016
3 / 21
Geometric Continuity I
Geometric Continuity G1 = C 1 continuity after change of variables
I
Simplest non-affine change of variables: rational linear q = p(ρ)
M. Sarov, J. Peters (UF)
SMI 2016
3 / 21
Geometric Continuity I
Geometric Continuity G1 = C 1 continuity after change of variables
I
Simplest non-affine change of variables: rational linear q = p(ρ)
I
Implies linear scaling by ω:
p(t, 0) = q(0, t),
(
ω(t) ∂1 p (t, 0) = ∂2 p (t, 0) + ∂1 q (0, t), ω(t) := (1 − t)ω0 + tω1 ,
M. Sarov, J. Peters (UF)
SMI 2016
ω0 , ω1 ∈ R,
3 / 21
Geometric Continuity I
Geometric Continuity G1 = C 1 continuity after change of variables
I
Simplest non-affine change of variables: rational linear q = p(ρ)
I
Implies linear scaling by ω:
p(t, 0) = q(0, t),
(
ω(t) ∂1 p (t, 0) = ∂2 p (t, 0) + ∂1 q (0, t), ω(t) := (1 − t)ω0 + tω1 , I
ω0 , ω1 ∈ R,
,: rational linear = closest to regular spline (ω = const) ,: maximizes the number of control handles
M. Sarov, J. Peters (UF)
SMI 2016
3 / 21
Geometric Continuity I
Geometric Continuity G1 = C 1 continuity after change of variables
I
Simplest non-affine change of variables: rational linear q = p(ρ)
I
Implies linear scaling by ω:
p(t, 0) = q(0, t),
(
ω(t) ∂1 p (t, 0) = ∂2 p (t, 0) + ∂1 q (0, t), ω(t) := (1 − t)ω0 + tω1 , I
I
ω0 , ω1 ∈ R,
,: rational linear = closest to regular spline (ω = const) ,: maximizes the number of control handles /: ω0 = ω1 or p(0, 0) and p(1, 0) have the same valence
M. Sarov, J. Peters (UF)
SMI 2016
3 / 21
Geometric Continuity I
Geometric Continuity G1 = C 1 continuity after change of variables
I
Simplest non-affine change of variables: rational linear q = p(ρ)
I
Implies linear scaling by ω:
p(t, 0) = q(0, t),
(
ω(t) ∂1 p (t, 0) = ∂2 p (t, 0) + ∂1 q (0, t), ω(t) := (1 − t)ω0 + tω1 , I
I
I
ω0 , ω1 ∈ R,
,: rational linear = closest to regular spline (ω = const) ,: maximizes the number of control handles /: ω0 = ω1 or p(0, 0) and p(1, 0) have the same valence [PS15]: valence restricted to 3, 6 M. Sarov, J. Peters (UF)
SMI 2016
3 / 21
Polycube connectivity and control handles
Outline
1
Polycube connectivity and control handles
2
Surface Construction
3
Multi-resolution
M. Sarov, J. Peters (UF)
SMI 2016
4 / 21
Polycube connectivity and control handles
Restricted Connectivity: Polycube Configurations n ∈ {3, 4, 5, 6}:
M. Sarov, J. Peters (UF)
SMI 2016
5 / 21
Polycube connectivity and control handles
2x2 split: Control Handles ci
M. Sarov, J. Peters (UF)
SMI 2016
6 / 21
Polycube connectivity and control handles
2x2 split: Control Handles ci
Control handles ci ´ Boundary points bi (Bezier)
M. Sarov, J. Peters (UF)
SMI 2016
6 / 21
Polycube connectivity and control handles
2x2 split: Control Handles ci
Edge Recovery: ci →bi
M. Sarov, J. Peters (UF)
SMI 2016
6 / 21
Polycube connectivity and control handles
2x2 split: Control Handles ci
Edge Recovery: ci →bi smooth ?
M. Sarov, J. Peters (UF)
SMI 2016
6 / 21
Polycube connectivity and control handles
2x2 split: Control Handles ci
M. Sarov, J. Peters (UF)
SMI 2016
6 / 21
Surface Construction
Outline
1
Polycube connectivity and control handles
2
Surface Construction
3
Multi-resolution
M. Sarov, J. Peters (UF)
SMI 2016
7 / 21
Surface Construction
PGS: G1 construction for vertex valences 3, 4, 5, 6 I
G1 constraints on BB-coefficients (technical)
.
M. Sarov, J. Peters (UF)
SMI 2016
8 / 21
Surface Construction
PGS: G1 construction for vertex valences 3, 4, 5, 6 I I
G1 constraints on BB-coefficients Apparent valence (mimic 3–6)
α+1,11 2cp bα,11 + bα−1,11 , 10 = b10 10
cp := cos
2π . p
.
M. Sarov, J. Peters (UF)
SMI 2016
9 / 21
Surface Construction
PGS: G1 construction for vertex valences 3, 4, 5, 6 I I I
G1 constraints on BB-coefficients Apparent valence Assign labels: hn, mi edge
.
M. Sarov, J. Peters (UF)
SMI 2016
10 / 21
Surface Construction
PGS: G1 construction for vertex valences 3, 4, 5, 6 I I I I
G1 constraints on BB-coefficients Apparent valence Assign labels: hn, mi edge Simple G1 constraints work for n, m ∈ {3, 4, 5, 6} except hn, 4i, h4, mi with n 6= m.
M. Sarov, J. Peters (UF)
SMI 2016
11 / 21
Surface Construction
PGS: G1 construction for vertex valences 3, 4, 5, 6 I I I I
I
G1 constraints on BB-coefficients Apparent valence Assign labels: hn, mi edge Simple G1 constraints work for n, m ∈ {3, 4, 5, 6} except hn, 4i, h4, mi with n 6= m. Construction steps:
.
M. Sarov, J. Peters (UF)
SMI 2016
11 / 21
Surface Construction
PGS: G1 construction for vertex valences 3, 4, 5, 6 I I I I
G1 constraints on BB-coefficients Apparent valence Assign labels: hn, mi edge Simple G1 constraints work for n, m ∈ {3, 4, 5, 6} except hn, 4i, h4, mi with n 6= m.
M. Sarov, J. Peters (UF)
SMI 2016
11 / 21
Surface Construction
Smooth PGS surfaces
M. Sarov, J. Peters (UF)
SMI 2016
12 / 21
Surface Construction
Smooth PGS surfaces
M. Sarov, J. Peters (UF)
SMI 2016
13 / 21
Multi-resolution
Outline
1
Polycube connectivity and control handles
2
Surface Construction
3
Multi-resolution
M. Sarov, J. Peters (UF)
SMI 2016
14 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
M. Sarov, J. Peters (UF)
SMI 2016
15 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
I
How to refine the control handles?
M. Sarov, J. Peters (UF)
SMI 2016
16 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
I
How to refine the control handles? I
/: [PS15] add (refined) surfaces
M. Sarov, J. Peters (UF)
SMI 2016
16 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
I
How to refine the control handles? I I
/: [PS15] add (refined) surfaces /: Catmull-Clark on polycube quad net
M. Sarov, J. Peters (UF)
SMI 2016
16 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
I
How to refine the control handles? I I I
/: [PS15] add (refined) surfaces /: Catmull-Clark on polycube quad net /: C 1 bicubic spline refinement: depends on bi
M. Sarov, J. Peters (UF)
SMI 2016
16 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
I
How to refine the control handles? I I I I
/: [PS15] add (refined) surfaces /: Catmull-Clark on polycube quad net /: C 1 bicubic spline refinement: depends on bi ,: if ci is set by PGS (= satisfies G1) then ci is unchanged by Edge Recovery + PGS.
M. Sarov, J. Peters (UF)
SMI 2016
16 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
I
How to refine the control handles? I I I I
/: [PS15] add (refined) surfaces /: Catmull-Clark on polycube quad net /: C 1 bicubic spline refinement: depends on bi ,: if ci is set by PGS (= satisfies G1) then ci is unchanged by Edge Recovery + PGS.
I
de Casteljau preserves G1 of finer ci
M. Sarov, J. Peters (UF)
SMI 2016
16 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
I
How to refine the control handles? I I I I
/: [PS15] add (refined) surfaces /: Catmull-Clark on polycube quad net /: C 1 bicubic spline refinement: depends on bi ,: if ci is set by PGS (= satisfies G1) then ci is unchanged by Edge Recovery + PGS.
I
de Casteljau preserves G1 of finer ci
Edge Recovery + PGS =⇒ same surface
M. Sarov, J. Peters (UF)
SMI 2016
16 / 21
Multi-resolution
Multi-resolution of Polycube G1 -splines
I
How to refine the control handles? I I I I
/: [PS15] add (refined) surfaces /: Catmull-Clark on polycube quad net /: C 1 bicubic spline refinement: depends on bi ,: if ci is set by PGS (= satisfies G1) then ci is unchanged by Edge Recovery + PGS.
I
de Casteljau preserves G1 of finer ci
Edge Recovery + PGS =⇒ same surface perturb ci =⇒ different smooth surface
M. Sarov, J. Peters (UF)
SMI 2016
16 / 21
Multi-resolution
Summary I
Smooth surface covering irregularities of valence n = 3, 4∗ , 5, 6 in a C 1 bi-3 spline surface
M. Sarov, J. Peters (UF)
SMI 2016
17 / 21
Multi-resolution
Summary I
Smooth surface covering irregularities of valence n = 3, 4∗ , 5, 6 in a C 1 bi-3 spline surface
I
Control Handles = as for C 1 bi-3 spline (larger support)
M. Sarov, J. Peters (UF)
SMI 2016
17 / 21
Multi-resolution
Summary I
Smooth surface covering irregularities of valence n = 3, 4∗ , 5, 6 in a C 1 bi-3 spline surface
I
Control Handles = as for C 1 bi-3 spline (larger support)
I
Refinable – reproduces surfaces at finer level
QUESTIONS ?
M. Sarov, J. Peters (UF)
SMI 2016
17 / 21
Multi-resolution
Summary I
Smooth surface covering irregularities of valence n = 3, 4∗ , 5, 6 in a C 1 bi-3 spline surface
I
Control Handles = as for C 1 bi-3 spline (larger support)
I
Refinable – reproduces surfaces at finer level
QUESTIONS ?
M. Sarov, J. Peters (UF)
SMI 2016
17 / 21
Multi-resolution
Multiresolution: algebraic challenge
I
Challenge: global system, ω(
,: additional constraint
k α;k,1 ) (−bα;k−1,1 + 2bα;k−1,1 − 2bα;k1 10 20 10 + b20 ) = 0. ` {z } 2 | C 2 boundary
/: large support of ci handles ,: decay fast
M. Sarov, J. Peters (UF)
SMI 2016
18 / 21
Multi-resolution
PGSER
M. Sarov, J. Peters (UF)
SMI 2016
19 / 21
Multi-resolution
PGS: G1 construction for vertex valences 3, 4, 5, 6 I
G1 constraints on BB-coefficients: d X d X b(u, v) := bij Bid (u)Bjd (v), i=0 j=0
p01 + q10 = ω0 p10 + (2 − ω0 )p00 , p11 + q11 = ρ(ω0 , ω1 ),
(1)
p21 + q12 = σ (ω0 , ω1 ),
(3)
p31 + q13 = (2 + ω1 )p30 − ω1 p20 . 1 ρ (ω0 , ω1 ) := 2ω0 p20 − ω1 p00 + (6 − 2ω0 + ω1 )p10 3 1 σ (ω0 , ω1 ) := ω0 p30 − 2ω1 p10 + (6 − ω0 + 2ω1 )p20 . 3
(4)
M. Sarov, J. Peters (UF)
SMI 2016
(2)
20 / 21
Multi-resolution
What goes wrong when hn, 4i, h4, mi with n 6= m?
M. Sarov, J. Peters (UF)
SMI 2016
21 / 21