bounding the distance between a loop subdivision surface
TRANSCRIPT
Bounding the Distance between a Loop Subdivision Surface and
Its Limit Mesh
Zhangjin HuangGuoping Wang
HCI & Multimedia LabPeking University, P.R. China
Loop subdivision surfaceLoop subdivision surface (Loop 1987)
a generalization of quartic three-directional box splinesurface to triangular meshes of arbitrary topology
continuous except at extraordinary points
the limit of a sequence of recursively refined (triangular) control meshes
2C
initial mesh step 1 limit surface
Linear approximationsLinear approximations of a Loop
surface are used in surface rendering, numerical control tool-path generation, etc
Two linear approximations:(refined) control meshlimit mesh: obtained by pushing the control points of a control mesh to their limit positions
It inscribes the limit surface
control mesh
limit mesh
Problems of limit mesh approx.Approximation error
How to estimate the error (distance) between a Loop surface and its limit mesh?
Subdivision depth estimationHow many steps of subdivision would be necessary to satisfy a user-specified error tolerance?
Distance (error)Each surface patch corresponds to a limit triangle
in its limit meshis formed by connecting the three corners of
Distance (error) between a patch and the limit mesh is defined as
: Stam’s parameterization of: linear parameterization of : the unit triangle
( , )v wS
Ω
{ }( , ) [0,1], [0,1 ]v w v vΩ = ∈ ω∈ −
( , )v wFSF
( , )max ( , ) ( , )v w
v w v w∈Ω
−S F
SF
F S
S
S
_F
Control mesh of a Loop patchAssume: the initial control
mesh has been subdivided at least once
Each triangle face contains at most one extraordinary point
The control mesh of a Loop patch of valence consists of n+6 control points
P1: the only extraordinary point of valence n
S
Control mesh of a Loop patch of valence n
{ }: 1,2, , 6i i n = +P …
n
Second order normEach interior edge in the control
mesh can be associated with a mixed second difference (MSD):
The second order norm of the control mesh of Loop patch is defined as the maximum norm of n+9 MSDs:
M
i j k m+ − − P P P P
S
i jPP
Our goalTo derive a bound on the distance between
a Loop patch and its limit triangle as
: the second order norm of the control mesh of
: a constant only depends on valence n
( , )v wS ( , )v wF
( , )max ( , ) ( , ) ( )v w
v w v w n Mβ∈Ω
− ≤S F
MS
( )nβ
Regular patchis a quartic box spline
patch defined by 12 control points:
: quartic box splinebasis functions
is also a quartic tri-angular Bézier patch:
: quartic Bernstein polynomials
: Bézier points of
( , )v wS
12
1( , ) ( , ), ( , )i i
iv w N v w v w
=
= ∈Ω∑S p
( , )v wS
15
1( , ) ( , ), ( , )i i
iv w B v w v w
=
= ∈Ω∑S b
Bézier points of a quartic triangular Bézierpatch and Bernstein polynomials
Control points of a quartic box splinepatch
( , )iN v w
( , )iB v w
ib S
Regular patchLimit triangle is , and its linear
parameterization is
: barycentric system of coordinates for the unit triangle,
By the linear precision property of the Bernstein polynomials, can be expressed into the quartic Bézier form:
Here,
1 11 15{ , , }= F b b b
1u v w= − −
1 11 15( , ) , ( , )v w u v w v w= + + ∈ΩF b b b( , , )u v w
15
1( , ) ( , ), ( , )i i
iv w B v w v w
=
= ∈Ω∑F b
( , )v wF
( )( 1)2 1 4 4( , )j k j k j k
k+ + + + + = b F
Regular patchFor ,
By solving some constrained minimization problems, can be bounded as
Here, is the second order norm of , and
( , )u v ∈Ω15
1
( , ) ( , ) ( ) ( , )ii ii
v w v w B v w=
− = −∑S F b b
15
1( , )ii i
iB v w
=
≤ −∑ b b
ii −b b
,1 15ii iM iδ− ≤ ≤ ≤b b
1 11 15 0δ δ δ= = = 12 3 7 10 12 14 4δ δ δ δ δ δ= = = = = =
M S
14 6 13 3δ δ δ= = = 5
5 8 9 12δ δ δ= = =
Regular patchThus,
Here, is called thedistance bound function of with respect to .
Since , we have
15
1( , ) ( , ) ( , ) ( , )i i
iv w v w B v w M D v w Mδ
=
− ≤ =∑S F
152 2
1( , ) ( , )i i
iD v w B v w v w v vw wδ
=
= = + − − −∑( , )v wS
( , )v wF
1 1 13 3 3( , )
max ( , ) ( , )v w
D v w D∈Ω
= =
13( , ) ( , )v w v w M− ≤S F
Extraordinary patchcan be partitioned into an infinite sequence of regular triangular sub-patchs:
corresponding to tilesis partitioned into sub-triangles accordingly.
For each subpatch ,
: distance bound function
{ : 1, 1,2,3}km k m ≥ =S
S
kmS
( , )kmD v w
( , )( ) max ( , )k k
m mv wn D v wβ
∈Ω=
( , ) ( , ) ( , ) ( )kk k kmm m mv w v w D v w M n Mβ− ≤ ≤S F
, 1, 1,2,3km k m ≥ =FF
, 1, 1,2,3km k mΩ ≥ =
Extraordinary patchLet , we have
For , the following fact is found:Maximum of appears in the domain
To compute the values of , only four subpatchs are needed to be analyzed.
1, 1,2,3( ) max ( )k
mk mn nβ β
≥ ==
( , )max ( , ) ( , ) ( )v w
v w v w n Mβ∈Ω
− ≤S F
3 50n ≤ ≤( ), 1, 1,2,3k
m n k mβ ≥ =14{( , ) }v w v wΩ = Ω ∩ + ≥
( )nβ1 1 2 21 2 1 2, , ,S S S S
Subdivision depth estimationTheorem Given an error tolerance , after
steps of subdivision on the control mesh of a patch , the distance between and its level-k control mesh is smaller than . Here
and is the j-step convergence rate of second order norm.
For regular Loop patches,
0ε >
ε
min0 1
k l jjjλ
λ= +
≤ ≤ −
SS
13
1/ ( )
( )max{ ( ), }log , 0 1, 1j
j r n
r n n Ml j
λ
βλ λ
ε ⎡ ⎤
= ≤ ≤ − ≥⎢ ⎥⎢ ⎥( )jr n
4log3Mkε
⎡ ⎤= ⎢ ⎥⎢ ⎥
ComparisonThe distance between a Loop patch and its control
mesh can be bounded as:
A limit mesh approximates a Loop surface better than the corresponding control mesh in general.
( , )max ( , ) ( , ) ( ) , 1u v
v w v w C n Mλ λ∈Ω
− ≤ ≥S F
Comparison results of C3(n) and β(n), 3≤n≤10
S
ComparisonSet , error tolerance . Comparison
results of subdivision depths for control mesh and limit mesh approximations are as follows:
Limit mesh approximation has a 20% improvement over control mesh approximation in most of the cases.
1M = 0.0001ε =
Conclusion and remarkWe propose an approach to estimate the bound on the distance between a Loop surface and its limit mesh.A subdivision depth estimation formula for limit mesh approximation is derived.
The upper bounds derived here are optimal for regular patches, but not optimal for extraordinary patches.