Subdivision Depth Computation for Extra-Ordinary Catmull-Clark Subdivision Surface Patches

Similar documents
Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

G 2 Interpolation for Polar Surfaces

12.3 Subdivision Surfaces. What is subdivision based representation? Subdivision Surfaces

FINAL REPORT. Tessellation, Fairing, Shape Design, and Trimming Techniques for Subdivision Surface based Modeling

Subdivision based Interpolation with Shape Control

Parametrization of General Catmull-Clark Subdivision Surfaces and its Applications

Normals of subdivision surfaces and their control polyhedra

Local Modification of Subdivision Surfaces Based on Curved Mesh

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Polar Embedded Catmull-Clark Subdivision Surface

Normals of subdivision surfaces and their control polyhedra

Approximate Geodesics on Smooth Surfaces of Arbitrary Topology

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes)

G 2 Bezier Crust on Quad Subdivision Surfaces

On Smooth Bicubic Surfaces from Quad Meshes

Robustness of Boolean operations on subdivision-surface models

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

Evaluation of Loop Subdivision Surfaces

Subdivision Curves and Surfaces: An Introduction

Subdivision overview

Honeycomb Subdivision

Surface Quality Assessment of Subdivision Surfaces on Programmable Graphics Hardware

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?

Subdivision Surfaces. Homework 1: Questions/Comments?

Non-Uniform Recursive Doo-Sabin Surfaces

Smooth Surfaces from 4-sided Facets

Trimming for Subdivision Surfaces

Generalizing the C 4 Four-directional Box Spline to Surfaces of Arbitrary Topology Luiz Velho Abstract. In this paper we introduce a new scheme that g

Smooth Surface Reconstruction using Doo-Sabin Subdivision Surfaces

Subdivision surfaces for CAD: integration through parameterization and local correction

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin.

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

Example: Loop Scheme. Example: Loop Scheme. What makes a good scheme? recursive application leads to a smooth surface.

Subdivision Curves and Surfaces

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

u 0+u 2 new boundary vertex

A Continuous 3-D Medial Shape Model with Branching

Curve Corner Cutting

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

Modified Catmull-Clark Methods for Modelling, Reparameterization and Grid Generation

Curves and Surfaces 2

Recursive Subdivision Surfaces for Geometric Modeling

Computergrafik. Matthias Zwicker. Herbst 2010

UNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati

A Heuristic Offsetting Scheme for Catmull-Clark Subdivision Surfaces

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Removing Polar Rendering Artifacts in Subdivision Surfaces

Subdivision Surfaces

Subdivision surfaces. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Subdivision Surfaces

To appear in Computer-Aided Design Revised June 18, J-splines

Subdivision Surfaces

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015

A Simple Manifold-Based Construction of Surfaces of Arbitrary Smoothness

Advanced Graphics. Subdivision Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Study on Improving the Quality of Reconstructed NURBS Surfaces

An Efficient Data Structure for Representing Trilateral/Quadrilateral Subdivision Surfaces

Exact Evaluation Of Catmull-Clark Subdivision Surfaces At Arbitrary Parameter Values

Advanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t)

Efficient GPU Rendering of Subdivision Surfaces. Tim Foley,

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

852 QIN Kaihuai, CHANG Zhengyi et al Vol7 are generated by the recursive subdivision Each subdivision step will bring new vertices, new edges, as well

Refinable bivariate quartic and quintic C 2 -splines for quadrilateral subdivisions

Interpolating and approximating scattered 3D-data with hierarchical tensor product B-splines

Pairs of Bi-Cubic Surface Constructions Supporting Polar Connectivity

Iterative Process to Improve Simple Adaptive Subdivision Surfaces Method with Butterfly Scheme

Smooth Multi-Sided Blending of bi-2 Splines

Approximate Catmull-Clark Patches. Scott Schaefer Charles Loop

Joe Warren, Scott Schaefer Rice University

Adaptive Surface Modeling Using a Quadtree of Quadratic Finite Elements

3D Modeling techniques

Differentiable Parameterization of Catmull-Clark Subdivision Surfaces

Interpolatory 3-Subdivision

Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives

Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces

Matrix-valued 4-point Spline and 3-point Non-spline Interpolatory Curve Subdivision Schemes

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK

An Algorithm of 3D Mesh Reconstructing Based on the Rendering Pipeline

Note on Industrial Applications of Hu s Surface Extension Algorithm

Finite curvature continuous polar patchworks

A new 8-node quadrilateral spline finite element

consisting of compact sets. A spline subdivision scheme generates from such

Grid Generation and Grid Conversion by Subdivision Schemes

FEM-Based Dynamic Subdivision Splines

3D Modeling Parametric Curves & Surfaces

Subdivision on Arbitrary Meshes: Algorithms and Theory

Refinable C 1 spline elements for irregular quad layout

Refinable Polycube G-Splines

Ternary Butterfly Subdivision

Multiresolution Remeshing Using Weighted Centroidal Voronoi Diagram

B-spline Curves. Smoother than other curve forms

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Free-Form Deformation and Other Deformation Techniques

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Transcription:

Subdivision Depth Computation for Extra-Ordinary Catmull-Clark Subdivision Surface Patches Fuhua Frank Cheng,GangChen, and Jun-Hai Yong University of Kentucky, Lexington, KY, USA Tsinghua University, Beijing, China Abstract. A second order forward differences based subdivision depth computation technique for extra-ordinary Catmull-Clark subdivision surface (CCSS) patches is presented. The new technique improves a previous technique in that the computation of the subdivision depth is based on the patch s curvature distribution, instead of its dimension. Hence, with the new technique, no excessive subdivision is needed for extra-ordinary CCSS patches to meet the precision requirement and, consequently, one can make trimming, finite element mesh generation, boolean operations, and tessellation of CCSSs more efficient. Introduction Research work for subdivision surfaces has been done in several important areas, such as surface parametrization [6][0][][4], surface trimming [7], boolean operations [], mesh editing [], and error estimate/control [][]. For instance, given an error tolerance, [] shows how many times the control mesh of a Catmull- Clark subdivision surface (CCSS) patch should be recursively subdivided so that the distance between the resulting control mesh and the limit surface patch would be less than the error tolerance. This error control technique, called subdivision depth computation, is required in all tessellation based applications of CCSSs. [] s subdivision depth computation technique for regular CCSS patches isoptimum.however,foranextra-ordinaryccsspatch(apatchwithanextraordinary vertex), since the subdivision depth computed by [] depends on first order forward differences of the control points, its value could be bigger than what it actually should be and, consequently, generates excessive mesh elements for regions that are already flat enough. In this paper we will present a new subdivision depth computation technique for extra-ordinary CCSS patches. The new technique is based on the second order forward differences of an extra-ordinary patch s control points.. The computed subdivision depth reflects the patch s curvature distribution, not its dimension. Hence, with the new technique, no excessive subdivision is needed for regions that are already flat enough and, consequently, trimming, finite element mesh generation, boolean operations, and tessellation of CCSSs can be made more efficient. H.-P. Seidel, T. Nishita, and Q. Peng (Eds.): CGI 006, LNCS 405, pp. 404 46, 006. c Springer-erlag Berlin Heidelberg 006

Subdivision Depth Computation for Extra-Ordinary CCSS Patches 405 Problem Formulation and Background Giventhecontrolmeshofanextra-ordinaryCCSSpatchandanerrortolerance ɛ, the goal here is to compute an integer d so that if the control mesh is iteratively refined (subdivided) d times, then the distance between the resulting mesh and the surface patch is smaller than ɛ. d is called the subdivision depth of the surface patch with respect to ɛ. Before we show the computation technique, we need to define related terms and review related techniques for regular CCSS patches.. Catmull-Clark Subdivision Surfaces Given a control mesh, a CCSS is generated by iteratively refining (subdividing) the control mesh to form new control meshes []. The refining process consists of defining new vertices (face points, edge points and vertex points) and connecting the new vertices to form new edges and faces of a new control mesh. The limit surface of the iteratively refined control meshes is called a subdivision surface because the mesh refining (subdivision) process is a generalization of the uniform bicubic B-spline surface subdivision technique. Therefore, CCSSs include uniform B-spline surfaces and piecewise Bézier surfaces as special cases. Actually CCSSs include non-uniform B-spline surfaces and NURBS surfaces as special cases as well [9]. The control mesh of a CCSS patch and the new control mesh after a refining (subdivision) process are shown in Figures (a) and (b), respectively. This is a conceptual drawing, the location shown for a new vertex might not be its exact physical location. vertex point F F00 F0 F0 F edge point face point New edge (a) (b) Fig.. (a) Control mesh of an extra-ordinary patch; (b) new vertices and edges generated after a Catmull-Clark subdivision The given control mesh will be referred to as M 0 and the limit surface will be referred to as S. For each positive integer k, M k refers to the control mesh obtained after applying the Catmull-Clark subdivision k times to M 0. The power of CCSSs comes from the way mesh vertices are connected. If the number of edges connected to a mesh vertex is called its valence, then the valence of an interior mesh vertex can be anything, instead of just four. Those mesh vertices whose valences are different from four are called extra-ordinary vertices

406 F.F. Cheng, G. Chen, and J.-H. Yong to distinguish them from the standard or regular mesh vertices. ertex in Figure (a) is an extra-ordinary vertex of valence five. An interior mesh face is called an extra-ordinary mesh face if it has an extra-ordinary vertex. Otherwise, a standard or regular mesh face. MeshfaceF in Figure (a) is an extra-ordinary mesh face. we assume all the mesh faces in M 0 are quadrilaterals and each mesh face of M 0 has at most one extra-ordinary vertex. Otherwise, simply perform the subdivision step twice on the given control mesh. For each interior face F of M k, k 0, there is a corresponding patch S in the limit surface S. F and S can be parametrized on the same parameter space Ω =[0, ] [0, ] [0]. F is a bilinear rule surface. S is a uniform bicubic B-spline surface patch if F is a regular face. However, if F is an extra-ordinary face then S, defined by n + 8 control points where n is the valence of F s extra-ordinary vertex, can not be parametrized as a uniform B-spline patch. In such a case, S is called an extra-ordinary patch. Otherwise,aregular patch or standard patch. The control mesh shown in Figure (a) is the control mesh of an extra-ordinary patch whose extra-ordinary vertex is of valence five.. Distance and Subdivision Depth ForagiveninteriormeshfaceF, lets be the corresponding patch in the limit surface S. The control mesh of S contains F as the center face. If we perform a subdivision step on the control mesh, we get four new mesh faces in the place of F. This is the case no matter F is a regular face or an extra-ordinary face (see Figure (b) for the four new faces F 00, F 0, F 0 and F obtained in the place of the extra-ordinary face F shown in Figure (a)). Since each of these new faces corresponds to a quarter subpatch of S, we shall call these new faces subfaces of F even though they are not pyhsically subsets of F. Therefore, each subdivision step generates four new subfaces for the center face F of the control mesh. Because the correspondence between F and S is one-to-one, sometime, instead of saying performing a subdivision step on S, we shall simply say performing a subdivision step on F. The distance between an interior mesh face F and the corresponding patch S is defined as the maximum of F(u, v) S(u, v) : D F = max (u,v) Ω F(u, v) S(u, v) () where Ω is the unit square parameter space of F and S. D F is also called the distance between S and its control mesh. For a given ɛ>0, the subdivision depth of F with respect to ɛ is a positive integer d such that if F is recursively subdivided d times, the distance between each of the resulting subfaces and the corresponding subpatch is smaller than zero.. Subdivision Depth Computation for Regular Patches A regular patch is a standard uniform bicubic B-spline surface patch. Therefore, the computation process for a regular patch is the same as the computation process for a standard uniform B-spline surface patch. We review the evaluation of the distance between a B-spline patch and its control mesh first.

Subdivision Depth Computation for Extra-Ordinary CCSS Patches 407 Distance Evaluation. Let S(u, v) be a uniform bicubic B-spline surface patch defined on the unit square Ω = [0, ] [0, ] with control points i,j,0 i, j, and let L(u, v) be the bilinear parametrization of the center mesh face {,,,,,,, } (see Figure ): 0 L (u) _ L (v) S(u,v) L _ (v) L (u) 00 0 Fig.. Definition of L(u, v) =( v)l (u)+vl (u) =( u) L (v)+u L (v) L(u, v) =( v)[( u), + u, ]+v[( u), + u, ], 0 u, v. The distance between S(u, v) and L(u, v) satisfies the following lemma []. Lemma. The distance between L(u, v) ands(u, v) satisfies the following inequality max L(u, v) S(u, v) 0 u,v M where M is the second order norm of S(u, v) defined as follows M =max i,j { i,j i,j i+,j, i,j i,j i,j+ } () Recurrence Formula for Second Order Norm. Let i,j,0 i, j, be the control points of a uniform bicubic B-spline surface patch S(u, v). We use i,j k to represent the new control points of the surface patch after k levels of recursive subdivision. The indexing of the new control points follows the convention that 0,0 k is always the face point of the mesh face {k 0,0, k,0, k,, k 0, }.The new control points ij k are called the level-k control points of S(u, v) andthe new control mesh will be called the level-k control mesh of S(u, v). If we divide the parameter space of the surface patch, Ω, into4 k regions as follows: Ωmn k =[ m k, m + k ] [ n k, n + k ], 0 m, n k and denote the corresponding subpatches S k mn(u, v), then each S k mn(u, v) isa uniform bicubic B-spline surface patch defined by the level-k control point set

408 F.F. Cheng, G. Chen, and J.-H. Yong {pq k m p m +,n q n +}. Sk mn (u, v) is called a level-k subpatch of S(u, v). Let L k mn (u, v) be the bilinear parametrization of the center face of Sk mn s control mesh, {pq k p = m +,m+;q = n +,n+}. Wesaythedistance between S(u, v) and the level-k control mesh is smaller than ɛ if the distance between each level-k subpatch S k mn(u, v) and the corresponding level-k bilinear plane L k mn(u, v), 0 m, n k, is smaller than ɛ. A technique to compute a subdivision depth k for a given ɛ so that the distance between S(u, v) andthe level-k control mesh is smaller than ɛ is presented in []. The following lemma is needed in the derivation of the computation process. If we use Mmn k to represent the second order norm of S k mn (u, v), i.e., the maximum norm of the second order forward differences of the control points of S k mn(u, v), then the lemma shows the second order norm of S k mn (u, v) converges at a rate of /4 of the level-(k ) second order norm []. Lemma. If Mmn k is the second order norm of Sk mn (u, v) thenwehave M k mn ( ) k M () 4 where M is the second order norm of S(u, v) definedin(). Subdivision Depth Computation. With Lemmas and, it is easy to see that, for any 0 m, n k,wehave max 0 u,v Lk mn(u, v) S k mn(u, v) M k mn ( ) k M (4) 4 where Mmn k and M are the second order norms of Sk mn (u, v) ands(u, v), respectively. Hence, if k is large enough to make the right side of the above inequality smaller than ɛ, wehave max 0 u,v Lk mn (u, v) Sk mn (u, v) ɛ for every 0 m, n k. This leads to the following subdivision depth computation process for a regular CCSS patch []. Theorem. Let ij,0 i, j, be the control points of a uniform bicubic B-spline surface patch S(u, v). For any given ɛ>0, if k log 4 ( M ɛ ) levels of recursive subdivision are performed on the control points of S(u, v) then the distance between S(u, v) and the level-k control mesh is smaller than ɛ where M is the second order norm of S(u, v) definedin().

Subdivision Depth Computation for Extra-Ordinary CCSS Patches 409 Subdivision Depth Computation for Extra-Ordinary Patches In the following, we will define second order forward difference patterns to be used for an extra-ordinary patch and derive a recurrence formula for the corresponding second order norm, like the one used for a regular patch in Section.. Second Order Norm and Recurrence Formula Let i, i =,,..., n + 8, be the control points of an extra-ordinary patch S(u, v) =S 0 0(u, v), with being an extra-ordinary vertex of valence n. The control points are ordered following J. Stam s fashion [0] (Figure (a)). For convenience of subsequent reference, we shall call the control mesh of S(u, v) Π = Π0 0. By performing a subdividion step on Π, onegetsn + 7 new vertices i, i =,..., n + 7 (see Figure (b)). These control points form four control point sets Π0, Π, Π and Π, representing control meshes of the subpatches S 0(u, v), S (u, v), S (u, v) ands (u, v), respectively (see Figure (b)) where Π0 = { i i n +8 }, and the other three control point sets Π, Π and Π are shown in Figure 4. S 0(u, v) is an extra-ordinary patch but S (u, v), S (u, v) ands (u, v) are regular patches. Therefore, second order norm similar to () can be defined for S, S and S. To define a second order norm for S, one needs to choose appropriate second order forward differences from Π. For the second order norm to be recursively defined, second order forward differences that are required in the child control meshes should also appear in the parent control mesh. For instance, 4 8 and 6 should be chosen for Π because these patterns are required for Π and Π, respectively. On the other hand, for a recurrence formula to hold effectively, second order forward differences that are not required in the child control meshes should not be used in the parent control mesh either.. For instance, one should not choose 8 for Π because this pattern is not required in any of Π, Π or Π. Therefore, for those cases that involves the extra-ordinary point as the center point, one should only consider i (i%n+), i n. (5)... 0 9 8 7 n+ S=S 0 0 6 4 5 n+8 n+7 n+6 9 n+... n+8 n+7 0 8 4 n+7 n+6 S 6 0 S 5 7 n+6 n+5 S S n+5 n+4 n+ n+ n+4 n+ n+ n+ n+0 n+9 n+5 n+4 (a) n+ n+ (b) Fig.. (a) Ordering of control points of an extra-ordinary patch. (b) Ordering of new control points (solid dots) after a Catmull-Clark subdivision.

40 F.F. Cheng, G. Chen, and J.-H. Yong Π n+8 n+7 8 4 n+7 n+6 Π 7 6 5 n+6 n+5 n+4 n+ n+ n+5 n+4 n+ n+ n+ n+0 n+9 Π Fig. 4. Control vertices of subpatches S, S and S n+ n+8... 0 9 8 S 4 7 8 6 S 4 5 n+7 n+6 7 6 5 n+5 n+4 n+ n+ (a) (b) Fig. 5. (a) icinity of the extra-ordinary point. (b) The extended remaining part. To ensure the boundary of the vicinity of the extra-ordinary point is covered (Figure 5(a)), one should consider (i%n+) i+ (i%n+)+, i n. (6) One also has to consider second order forward differences that cover the extended remaining part (Figure 5(b)). There are ten of them (actually twelve, but two of them have been used in (6)). So, totally, n +0(n +0 when n = ) second order forward differences should be considered for Π and the second order norm of S, M = M 0, is defined as the maximum norm of these n + 0 second order forward differences: M = max{ { i (i%n+) i n } { (i%n+) i+ (i%n+)+ i n } { n+8, 4 n+7, 5 6 n+6, 5 4 n+, 6 n+4, 7 8 n+5, n+7 n+6 n+8, n+6 n+ n+7, n+ n+ n+4, n+4 n+ n+5 }} (7)

Subdivision Depth Computation for Extra-Ordinary CCSS Patches 4 Following this definition, one can define a similar second order norm, M,for the control mesh of S 0. In general, for any k 0, we can define second order norm similar to (7) for S k 0 and S k+ 0. The second order norms of S k 0 and S k+ 0 are denoted M k and M k+, respectively. We have the following lemma for M k and M k+. The proof is shown in the complete version of the paper [4]. Lemma 4. For any k 0, if M k represents the second order norm of the extraordinary sub-patch S k 0 after k Catmull-Clark subdivision steps, then M k satisfies the following inequality M k, n = M k+ 0.7M k, n =5 ( 4 + 8n 46 4n )M k, n > 5 Actually, the lemma works in a more general sense, i.e., if M k stands for the second order norm of the control mesh M k, instead of Π k 0, the lemma still works. The second order norm of M k is defined as follows: for regions not involving the extra-ordinary point, use standard second order forward differences; for the vicinity of the extra-ordinary point, use second order forward differences defined in (7). The proof is essentially the same.. Distance Evaluation To compute the distance between the extra-ordinary patch S(u, v) and the center face of its control mesh, L(u, v), we need to parameterize the patch S(u, v) first. Note that by iteratively performing Catmull-Clark subdivision on S(u, v), we get a sequence of regular patches { S m b }, m, b =,,, and a sequence of extra-ordinary patches { S m 0 }, m. The extra-ordinary patches converge to a limit point which is the value of S at (0, 0) [5]. This limit point and the regular patches { S m b }, m, b =,,, form a partition of S. Ifweuse Ωb m to represent the parameter space corresponding to S m b then { Ωb m }, m, b =,,, form a partition of the unit square Ω =[0, ] [0, ] (see Figure 6) with Ω m =[, m ] [0, m ], Ω m m =[, m ] [ m, m ], m (8) Ω m =[0, ] [ m, m ]. m v Ω Ω Ω Ω Ω Ω Ω Ω Ω u Fig. 6. Ω-partition of the unit square

4 F.F. Cheng, G. Chen, and J.-H. Yong The parametrization of S(u, v) is done as follows. For any (u, v) Ω but (u, v) (0, 0), first find the Ω m b that contains (u, v). m and b can be computed as follows. m(u, v) =min{ log u, log v }, if m u and m v b(u, v) =, if m u and m v, if m u and m v (9) Then map this Ω m b to the unit square with the mapping: (u, v) (u m,v m )where t m =( m t)% = { m t, if m t m t, if m t>. (0) The value of S(u, v) is equal to the value of S m b at (u m,v m ), i.e., S(u, v) = S m b (u m,v m ).LetL m b (u, v) be the bilinear parametrization of the center face of S m b s control mesh. Since Sm b is a regular patch, following Lemma, we have L m b (u, v) S m b (u, v) M m b where Mb m is the second order norm of the contol mesh of S m b. But the second order norm of S m b is smaller than the second order norm of M m, M m. Hence, the above inequality can be written as L m b (u, v) Sm b (u, v) M m. () So the maximum distance between the original extra-ordinary mesh L(u, v) and the patch S(u, v) can be written as L(u, v) S(u, v) = L(u, v) L m b (u m,v m )+L m b (u m,v m ) S(u, v) L(u, v) L m b (u m,v m ) + L m b (u m,v m ) S m b (u m,v m ) () where 0 u, v andu m and v m are defined in (0). Since the second term on the right hand side can be estimated using (), the only thing we need to work with is L(u, v) L m b (u m,v m ). It is easy to see that if (u, v) Ωb m then (u, v) Ω0 k for any 0 k<mwhere Ω0 k =[0, ] [0, ]. Ω k k k 0 corresponds to the subpatch Sk 0. This means that ( k u, k v) is within the parameter space of S k 0 for 0 k<m, i.e., ( k u, k v)= (u k,v k )whereu k and v k are defined in (0). Consequently, we can consider L k 0 (u k,v k )for0 k<mwhere L k 0 is the bilinear parametrization of the center face of the control mesh of S k 0 (with the understanding that L 0 0 = L). What we want to do here is to write the first term on the right hand side of () as L(u, v) L m b (u m,v m )=L 0 0(u, v) L 0(u,v )+L 0(u,v ) L 0(u,v ) + L 0 (u,v ) L 0 (u,v )+L 0 (u,v ) L 4 0 (u 4,v 4 ) + + L m 0 (u m,v m ) L m b (u m,v m ) ()

Subdivision Depth Computation for Extra-Ordinary CCSS Patches 4 and get an estimate for its norm by estimating the norm of each consecutive pair on the right hand side. We have the following two lemmas. The proofs of these lemmas are shown in the complete version of the paper [4]. Lemma 5. If (u, v) Ωb m 0 k<m wehave where b and m are defined in (9) then for any L k 0 (u k,v k ) L k+ 0 (u k+,v k+ ) min{ n, 8 } M k where M k is the second order norm of M k and L 0 0 = L. Lemma 6. If (u, v) Ω m b where b and m are defined in (9) then we have L m 0 (u m,v m ) L m b (u m,v m ) where M m is the second order norm of M m. { 4 M m, if b = 8 M m, if b =or By applying Lemmas 5 and 6 on () and then using () on (), we have the following lemma. Proof of this lemma is shown in [4]. Lemma 7. The maximum of L(u, v) S(u, v) satisfies the following inequality L(u, v) S(u, v) M 0, n = 5 7 M 0, n =5 4n n 8n+46 M 0, 5 <n 8 n 4(n 8n+46) M 0, n > 8 where M = M 0 is the second order norm of the extra-ordinary patch S(u, v). (4) Since the coefficient in the third case (4n/(n 8n + 46)) is smaller than the coefficient in the second case (5/7), we can combine these two cases into one case (5 n 8) to make the above expression (4) simpler.. Subdivision Depth Computation Lemma 7 is important because it not only provides us with a second order norm based simple mechanism to estimate the distance between an extra-ordinary surface patch and its control mesh, it also allows us to estimate the distance between a level-k control mesh and the surface patch for any k>0. This is because the distance between a level-k control mesh and the surface patch is dominated by the distance between the level-k extra-ordinary subpatch and the corresponding control mesh which, accoriding to Lemma 7, is

44 F.F. Cheng, G. Chen, and J.-H. Yong M k, n = L k (u, v) S(u, v) 0.7M k, 5 n 8 n 4(n 8n+46) M k, n > 8 where M k is the second order norm of S(u, v) s level-k control mesh, M k (see the remark at the end of Section. for the definition of M k ). By combining the above result with Lemma 4, we have the following subdivision depth computation theorem for extra-ordinary surface patches. Theorem 8. Given an extra-ordinary surface patch S(u, v) and an error tolerance ɛ, ifk levels of subdivisions are iteratively performed on the control mesh of S(u, v), where M k = log w zɛ with M being the second order norm of S(u, v) defined in (7), w =, n = 5 8, n =5 4n n +8n 46, n > 5, n = 5 and z = 8, 5 n 8 (n 8n+46) n, n > 8 then the distance between S(u, v) and level-k control mesh is smaller than ɛ. (a) (b) (c) (d) Fig. 7. Examples: (a) an extra-ordinary CCSS mesh face of valence, (b) limit surface of the control mesh shown in (a), (c) an extra-ordinary CCSS mesh face of valence 5, (d) limit surface of the control mesh shown in (c)

4 Examples Subdivision Depth Computation for Extra-Ordinary CCSS Patches 45 Some examples of the presented distance evaluation and subdivision depth computation techniques are given in this section. In Figures 7(a) and 7(c), the distances between the blue mesh faces of the control meshes and the corresponding limit surface patches are 0.6 and 0.8, respectively. For the blue mesh face shown in Figure 7(a), the subdivision depths for the error tolerances 0., 0..0, 0.00, and 0.000 are, 7,, and 9, respectively.. For the blue mesh face shown in Figure 7(c), the subdivision depths for the error tolerances 0., 0.0, 0.00, and 0.000 are 7, 4,, and 8, respectively. Note that in the previous approach [], the subdivision depths for these error tolerances are 9, 4, 40, and 56, respectively. Hence, the new approach presented in this paper indeed improves the previous, first order norm based approach. 5 Conclusions A new subdivision depth computation technique for extra-ordinaryccss patches is presented. The new technique computes the subdivision depth based on norms of the second order forward differences, not the first order forward differences, of the patch s control points. Hence, the computed subdivision depth reflects the curvature distribution of the extra-ordinary patch, not its dimension. Our result also points out that as long as the design objective can be achieved, one should try to use extra-ordinary vertices with smaller valence because, according to Theorem 8, smaller valence gives higher convergence rate and, consequently, smaller subdivision depth for the same precision. Although the new technique improves the previous approach [], it is not clear if the new approach is optimum for extra-ordinary CCSS patches. This will be a study direction in the future. Acknowledgements. Work of the first two authors is supported by NSF under grants DMS-00645 and DMI-046. Work of the third author is supported by NSF of China (605070), NCET(NCET-04-0088) and FANEDD (004). References. Biermann H, Kristjansson D, Zorin D, Approximate Boolean Operations on Free- Form Solids, Proceedings of SIGGRAPH 00, 85-94.. Catmull E, Clark J, Recursively Generated B-spline Surfaces on Arbitrary Topological Meshes, Computer-Aided Design 0, 6, 50-55, 978.. Cheng F, Yong J, Subdivision Depth Computation for Catmull-Clark Subdivision Surfaces, Computer Aided Design & Applications, -4, 006. 4. Cheng F, Chen G, Yong J, Subdivision Depth Computation for Extra- Ordinary Catmull-Clark Subdivision Surface Patches (complete version), www.cs.uky.edu/ cheng/publ/sub depth.pdf 5. Halstead M, Kass M, DeRose T, Efficient, Fair Interpolation Using Catmull-Clark Surfaces, Proceedings of SIGGRAPH 99, 5-44.

46 F.F. Cheng, G. Chen, and J.-H. Yong 6. Lai S, Cheng F, Parametrization of General Catmull-Clark Subdivision Surfaces and its Applications, Computer Aided Design & Applications, -4, 006. 7. Litke N, Levin A, Schröder P, Trimming for Subdivision Surfaces, Computer Aided Geometric Design 8, 5, 46-48, 00. 8. Peters J, Patching Catmull-Clark Meshes, Proceedings of SIGGRAPH 000, 55-58. 9. Sederberg T W, Zheng J, Sewell D, Sabin M, Non-Uniform Recursive Subdivision Surfaces, Proceedings of SIGGRAPH 998, 87-94. 0. Stam J, Exact Evaluation of Catmull-Clark Subdivision Surfaces at Arbitrary Parameter alues, Proceedings of SIGGRAPH 998, 95-404.. Stam J, Evaluation of Loop Subdivision Surfaces, SIGGRAPH 99 Course Notes, 999.. Wu X, Peters J, An Accurate Error Measure for Adaptive Subdivision Surfaces, Proc. Shape Modeling International 005, -6.. Zorin, D., Schröder, P., and Sweldens, W. Interactive Multiresolution Mesh Editing. Proceedings of SIGGRAPH 997, 59-68. 4. Zorin D, Kristjansson D, Evaluation of Piecewise Smooth Subdivision Surfaces, The isual Computer, 8(5/6):99-5, 00.