Bounding the Distance between a Loop Subdivision Surface and Its Limit Mesh Zhangjin Huang Guoping Wang HCI & Multimedia Lab Peking University, P.R. China
Loop subdivision surface Loop subdivision surface (Loop 1987)
a generalization of quartic three-directional box spline surface to triangular meshes of arbitrary topology
C 2 continuous except at extraordinary points
the limit of a sequence of recursively refined (triangular) control meshes
initial mesh
step 1
limit surface
Linear approximations Linear approximations of a Loop surface are used in surface rendering, numerical control tool-path generation, etc Two linear approximations:
control mesh
(refined) control mesh limit mesh: obtained by pushing the control points of a control mesh to their limit positions
It inscribes the limit surface limit mesh
Problems of limit mesh approx. Approximation
How to estimate the error (distance) between a Loop surface and its limit mesh?
Subdivision
error
depth estimation
How many steps of subdivision would be necessary to satisfy a user-specified error tolerance?
Distance (error) Each surface patch S corresponds to a limit triangle F in its limit mesh
F is formed by connecting the three corners of S
Distance (error) between a patch S and the limit mesh is defined as max S(v, w) − F (v, w)
( v , w )∈Ω
S (v, w) : Stam’s parameterization of S F (v, w) : linear parameterization of F Ω : the unit triangle
Ω = {(v, w) v ∈ [0,1], ω∈ [0,1 − v]}
S _ F
Control mesh of a Loop patch Assume: 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 S of valence n consists of n+6 control points
{Pi : i = 1, 2,…, n + 6}
P1: the only extraordinary point of valence n
Control mesh of a Loop patch of valence n
Second order norm Each interior edge Pi P j in the control mesh can be associated with a mixed second difference (MSD): Pi + P j − Pk − Pm
The second order norm M of the control mesh of Loop patch S is defined as the maximum norm of n+9 MSDs:
Our goal To derive a bound on the distance between a Loop patch S(v, w) and its limit triangle F(v, w) as max S(v, w) − F (v, w) ≤ β ( n) M
( v , w )∈Ω
: the second order norm of the control mesh of S β ( n) : a constant only depends on valence n
M
Regular patch S (v, w) is a quartic box spline
patch defined by 12 control points: 12
S(v, w) = ∑ pi N i (v, w), (v, w) ∈ Ω i =1
N i (v, w) : quartic box spline
basis functions
S (v, w) is also a quartic tri-
Control points of a quartic box spline patch
angular Bézier patch: 15
S(v, w) = ∑ bi Bi (v, w), (v, w) ∈ Ω i =1
Bi (v, w) : quartic Bernstein
polynomials b i : Bézier points of S
Bézier points of a quartic triangular Bézier patch and Bernstein polynomials
Regular patch Limit triangle is F = {b1 , b11 , b15 } , and its linear parameterization is F (v, w) = ub1 + v b11 + wb15 , (v, w) ∈ Ω
(u , v, w) : barycentric system of coordinates for the unit triangle, u = 1 − v − w
By the linear precision property of the Bernstein polynomials, F (v, w) can be expressed into the quartic Bézier form: 15
F(v, w) = ∑ bi Bi (v, w), (v, w) ∈ Ω
Here,
i =1
b ( j+k )(2j+k +1) +k +1 = F( 4j , k4 )
Regular patch For (u , v) ∈ Ω , S(v, w) − F (v, w) =
15
∑ (b i =1 15
i
− b i ) Bi (v, w)
≤ ∑ bi − bi Bi (v, w) i =1
By solving some constrained minimization problems, bi − bi can be bounded as bi − bi ≤ δ i M ,1 ≤ i ≤ 15
Here, M is the second order norm of S , and
δ1 = δ11 = δ15 = 0
δ 2 = δ 3 = δ 7 = δ10 = δ12 = δ14 = 14
δ 4 = δ 6 = δ13 = 13
δ 5 = δ 8 = δ 9 = 125
Regular patch Thus,
15
S(v, w) − F(v, w) ≤ ∑ δ i Bi (v, w)M = D(v, w) M i =1
15
2 2 Here, D(v, w) = ∑ δ i Bi (v, w) = v + w − v − vw − w is called the i =1 distance bound function of S(v, w) with respect to F (v, w) .
D (v, w) = 13 = D ( 13 , 13 ) , we have Since (max v , w )∈Ω
S(v, w) − F (v, w) ≤ 13 M
Extraordinary patch S can be partitioned into an infinite
sequence of regular triangular subpatchs: {S km : k ≥ 1, m = 1, 2,3}
corresponding to tiles Ω km , k ≥ 1, m = 1, 2,3 k F is partitioned into sub-triangles F m , k ≥ 1, m = 1, 2,3 accordingly. k For each subpatch S m , k m
S (v, w) − F (v, w) ≤ Dmk (v, w) M ≤ β mk (n) M k m
Dmk (v, w) : distance bound function k k β m ( n) = max Dm (v, w)
( v , w )∈Ω
Extraordinary patch k β ( n ) = max β Let m ( n ) , we have k ≥1, m =1,2,3
max S(v, w) − F (v, w) ≤ β ( n) M
( v , w )∈Ω
For 3 ≤ n ≤ 50, the following fact is found: k Maximum of β m ( n), k ≥ 1, m = 1, 2,3 appears in the domain Ω = Ω ∩ {(v, w) v + w ≥ 14 }
To compute the values of β (n) , only four subpatchs S11 , S12 , S12 , S 22 are needed to be analyzed.
Subdivision depth estimation Theorem Given an error tolerance ε > 0, after k=
min λl + j 0 ≤ j ≤ λ −1 j
steps of subdivision on the control mesh of a patch S , the distance between S and its level-k control mesh is smaller than ε . Here rj (n) max{β (n), 13}M ⎤ ⎡ l j = ⎢log1/ rλ ( n ) , 0 ≤ j ≤ λ − 1, λ ≥ 1 ⎥ ε ⎢ ⎥ and rj (n) is the j-step convergence rate of
second order norm.
For regular Loop patches,
M⎤ ⎡ k = ⎢log 4 ⎥ 3ε ⎥ ⎢
Comparison The distance between a Loop patch S and its control mesh can be bounded as: max S(v, w) − F (v, w) ≤ Cλ (n) M , λ ≥ 1
( u ,v )∈Ω
Comparison results of C3(n) and β(n), 3≤n≤10
A limit mesh approximates a Loop surface better than the corresponding control mesh in general.
Comparison Set M = 1 , error tolerance ε = 0.0001 . 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.
Conclusion and remark
We 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.
Thank you!