Bounding the Distance between a Loop Subdivision Surface and Its ...

Report 2 Downloads 77 Views
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!