21
Distance Between a C atmull-Clark Subdivi sion Surface and Its Limit Mesh Zhangjin Huang, Guoping Wang Peking University, China

Distance Between a Catmull- Clark Subdivision Surface and Its Limit Mesh Zhangjin Huang, Guoping Wang Peking University, China

Embed Size (px)

Citation preview

Distance Between a Catmull-Clark Subdivision Surf

ace and Its Limit Mesh

Zhangjin Huang, Guoping Wang

Peking University, China

Generalization of uniform bicubic B-spline surface continuous except at extraordinary points

The limit of a sequence of recursively refined control meshes

Catmull-Clark subdivision surface (CCSS)

initial mesh step 1 limit surface

2C

CCSS patch: regular vs. extraordinary

Assume each mesh face in the control mesh a quadrilateral at most one extraordinary point (valence n is not 4)

An interior mesh face in the control mesh → a surface patch in the limit surface Regular patch: bicubic B-spline patches, 16 control points Extraordinary patch: not B-spline patches, 2n+8 control points

Control mesh Limit surface

SF

Blue: regular

Red: extraordinary

Control mesh approximation and error Control mesh is a piecewise linear app

roximation to a CCSS

Approximation error: the maximal distance between a CCSS and the control mesh

Distance between a CCSS patch and its mesh face (or control mesh) is defined as

is unit square is Stam’s parametrization of over is bilinear parametrization of over ( , )u vS

S

( , )u vFS

F

F

( , )max ( , ) ( , )u v

u v u v

S F

[0,1] [0,1]

Distance bound for control mesh approximation The distance between a CCSS patch and its control

mesh is bounded as [Cheng et al. 2006]

is a constant that only depends on valence n is the the second order norm of 2n+8 control points of For regular patches,

S

( )C nM

S

1(4)3

C

( , )max ( , ) ( , ) ( )u v

u v u v C n M

S F

Limit mesh approximation

An interior mesh face → a limit face → a surface patch We derive a bound on the distance between a patch and

its limit face (or limit mesh) as

means that the limit mesh approximates a CCSS better than the control mesh

F FS

Limit mesh : push the control points to their limit positions. It inscribes the limit surface

( ) ( )n C n

S

F

( , )max ( , ) ( , ) ( )u v

u v u v n M

S F

Regular patches: how to estimate

Regular patch is a bicubic B-spline patch:

Limit face , then

It is not easy to estimate directly!

S3 3

3 3,

0 0

( , ) ( ) ( ),( , )i j i ji j

u v N u N v u v

S p

( , ) ( , )u v u vS F

1,1 2,1 2,2 1,2{ , , , }F p p p p

1,1 2,1 2,2 1,2( , ) (1 )[(1 ) ] [(1 ) ]u v v u u v u u F p p p p( , ) ( , )u v u vS F

S

F

1,1p

1,2p2,1p

2,2p

1,1p

2,1p1,2p

Transformation into bicubic Bézier forms

Both and can be transformed into bicubic Bézier form:3 3

3 3,

0 0

( , ) ( ) ( )i j i ji j

u v B u B v

S b

S

( , )u vS ( , )u vF

3 33 3

,

0 0

( , ) ( ) ( )i j i ji j

u v B u B v

F b

S

F

Regular patches: distance bound

Core idea: Measure through measuring

S

F

1,2b

1,2b

3 33 3

,,0 0

( , ) ( , ) ( ) ( ) ( )i ji j i ji j

u v u v B u B v

S F b b

3 33 3

,,0 0

( ) ( )i ji j i ji j

B u B v

b b

( , ) ( , )u v u vS F

,, i ji j b b

Regular patches: distance bound (cont.) Bound with the second order norm , it

follows that

Distance bound function of with respect to is

Diagonal By symmetry,

,, i ji j b b M

1( , ) ( , ) ( (1 ) (1 ))

2u v u v u u v v M S F

( , )u vS ( , )u vF

1B( , ) ( (1 ) (1 )),( , )

2u v u u v v u v

( , ) 0 1

1max B( , ) maxD( )

4u v tu v t

D( ) B( , ) (1 ),0 1t t t t t t

Regular patch: distance bound (cont.) Theorem 1 The distance between a regular CCSS

patch and the corresponding limit face is bounded by

The distance between a regular patch and its corresponding mesh face is bounded as [Cheng et al 2006]

S F

( , )

1max ( , ) ( , )

4u vu v u v M

S F

S

F

( , )

1max ( , ) ( , )

3u vu v u v M

S F

Extraordinary patches: parametrization

An extraordinary patch can be partitioned into an infinite sequence of uniform bicubic B-spline patches

Partition the unit square into tiles Stam’s parametrization:

Transformation maps the tile onto the unit square

{ }, 1, 1,2,3km k m S

S

{ }, 1, 1,2,3km k m

( , ) ( , ) ( ( , ))km

k k km m mu v u v t u v

S S S

kmt

km

12S

22S

11S

21S

23S

13S

Extraordinary patches: distance bound Limit face can be partitioned into bilinear subfaces defined o

ver :

Similar to the regular case, for

By solving 16 constrained minimization problems, we have

( , )u vFkm

( , ) kmu v

( , ) ( ( , ))km

kk

m mu v u v

F F t

( , ) ( , ) ( , ) ( , )k km mu v u v u v u v S F S F

3 3

3 3,,

0 0

( ) ( )i ji j i ji j

B u B v

b b

0 , 3i j ,, , ,i ji j i jc M b b

Extraordinary patch: distance bound function Thus

is the distance bound function of with respect to :

The distance bound function of with respect to is defined as:

Diagonal

By symmetry,

( , ) ( , ) B ( , ) ,( , )k k km m mu v u v u v M u v S F

B ( , )km u v ( , )k

m u vS ( , )k

m u vF

( , )u vS ( , )u vF

B( , ) B ( ( , )), 1, 1,2,3km

k km mu v u v k m

t

3 33 3

,0 0

B ( , ) ( ) ( )km i j i j

i j

u v c B u B v

D( ) B( , ),0 1t t t t

( , ) 0 1max B( , ) maxD( ) : ( )u v t

u v t n

Extraordinary patches: distance bound Theorem 2 The distance between an extra-ordinary C

CSS patch and the corresponding limit face is bounded by

has the following properties:

, attains its maximum in

, attains its maximum in

Only needed to consider 2 subpatches and

S

F

( , )max ( , ) ( , ) ( )u v

u v u v n M

S F

D( ),0 1t t

3n D( )t1 1,4 2

4n D( )t1,12

12S

22S

Extraordinary patches: bound constant ,

, strictly decreases as n increases

( )n

4n 1( ) (4)

4n

3 48n ( )n

Comparison of bound constants First two lines are for control mesh approx. Last line are for limit mesh approximation , ,

n 3 4 5 6 7 8 9 10

Cheng et al. 06

0.784814 0.333333 0.574890 0.642267 0.527357 0.582436 0.510181 0.678442

Huang et al. 06

0.784314 0.333333 0.574890 0.549020 0.527357 0.424242 0.510181 0.519591

Limit mesh

0.258146 0.25 0.243129 0.237454 0.232761 0.228848 0.225549 0.222738

( )C n

( )n

( ) ( )n C n 3n

4n 1 1( ) (4) (4) ( )

4 3n C C n

Application to adaptive subdivison

Error tolerance

Frog model Car modelControl mesh Limit mesh Control mesh Limit mesh

0.1 25,642 14,527 14,717 8,285

0.05 43,864 26,482 24,905 14,375

0.01 172,159 113,713 97,704 58,805

The number of faces decreases by about 30%

Application to CCSS intersection

Conclusion Propose an approach to derive a bound on the

distance between a CCSS and its limit mesh Our approach can be applied to other spline based

subdivision surfaces Show that a limit mesh may approximate a CC

SS better than the corresponding control mesh

Thank you!