UFDC Home  myUFDC Home  Help 



Full Text  
EFFICIi T, TIGHT BOUNDING VOLULi L FOR SUBDIVISION SURFACE ' By XIAOBIN WU A Di i k, Z VTION PERF TED TO THE GRADUATE .CiOL OF THE UNIVi i i .' OF FLORIDA IN PARTIAL FLFI i i OF THE REQUIREMENTS FOR TIE DEGRii OF DO(C OR OF Pil i.OSOPi'". UNIVERSITY OF FLORIDA Copyright 2005 by Xiaobin \Vu 1 dedicate this work to :, wife Fangwen Ci and ,: !' :'ents. AC OWLEDGMENTS I wish to thank i : advisor Jorg Peters for his support and mentoring 'I: 1: out : Ph.D. study. I also thank him for introducing me into the field <. !.cs and geometric design. His remarkable dedication and excellence ... research has been a strong i: : : I wish to thank V vice committee chair Meera Sitharam for her guidance. MIany formal .: :: : in seminars and casual talks with Dr. Sitharam have led to expanding and deepening of >. research goals. I also wish to thank ;: Ph.D. committee members: Dr. Baba C. Vemuri, David Groisser and Dr.  Gopalakrishnan for their continuous help and encour agement. I thank my family for always 1:. there for me. Without them, this work will not be possible. TABLE OF CONTENTS ACKNOWLEDGMENTS ....... LIST OF TABLES ........... LIST OF FIGURES .......... KEY TO ABBREVIATIONS ..... KEY TO SYMBOLS .......... ABSTRACT ............. CHAPTER 1 INTRODUCTION ........ 1.1 Subdivision Surfaces .. 1.2 Bounding Volumes .... 1.3 Related work ....... 1.4 Overview .......... 2 SUBDIVISION SCHEMES .... 2.1 BSpline Subdivision .. 2.2 CatmullClark Subdivision 2.3 DooSabin Subdivision . 2.4 Midedge Subdivision .. 2.5 Loop Subdivision 3 NODAL FUNCTIONS FOR SUB 3.1 Nodal Functions ..... . . . DIVISIONSURFACES. 3.2 Linear Independence of Nodal Functions ............ 3.3 Linear Independence of Loop Nodal Functions ......... 3.4 Local Linear Independence of Loop Nodal Function ...... 3.5 Linear Independence of Catmull Clark Nodal Functions . 3.6 Local Linear Independence of CatmullClark Nodal Functions 4 TIGHT BOUNDING VOLUMES .. ................ 4.1 Interval Triangles . . . . . . . 4.2 Subdivision Patches .. .................... page   4.3 Bounding Basis Functions .................. ..... 40 4.3.1 Subdivision Domain .................. ..... 41 4.3.2 Basis Functions .................. . .. 42 4.3.3 Computing the Bounds for Basis Functions . ... ..42 4.4 Component Bounds .................. ....... .. 44 4.5 Constructing Interval Triangles .................. .. 45 4.6 SemiSharp Creases and Boundaries ................ .. 45 4.7 Convergence .................. ........... .. 47 5 APPLICATION. .................. ............ .. 48 5.1 Collision Detection Using Interval Triangles . . 48 5.1.1 Pairwise Interference Detection ....... . . 48 5.1.2 Intersection Hierarchy ................ .. .. 49 5.1.3 Performance Evaluation ............. .. .. 49 5.1.4 Experiment Set Up .................. ..... 50 5.1.5 Results . . . . . . ... .. 51 5.2 Inner and Outer Hull .................. ..... .. 52 5.3 Adaptive Subdivision .................. ..... .. 53 6 CONCLUSION .................. ............. .. 55 REFERENCES ................... ... ... ........ .. 56 BIOGRAPHICAL SKETCH .................. ......... .. 59 LIST OF TABLES Table page 51 Number of triangles needed for the given error bounds. .. 51 52 Intersection hierarchy (OBBtree) creation time in milliseconds ... 51 53 Intersection cost in ms for different tolerances and room sizes ... 52 LIST OF FIGURES Figure page 11 A NURBS surface and its control polygon. Note the 3sided corner is divided into 3 quadrilaterals because of the NURBS topology con strain . .. . . .. .. ... ...... 1 12 The input mesh, subdivided once, twice, and the limit surface ... 2 13 Interference detection based on the control mesh rather than the limit surface is neither safe nor accurate. The green and the blue sur faces are di i ii but their control meshes collide. The green and the orange surfaces collide but their control meshes are disjoint. .. 4 14 The counter example of the Kobbelt et al. method . . .. 5 21 A cubic Bspline. ............... ......... 10 22 The cubic Bspline control polygon (red) is subdivided two times. 11 23 The tensor product bicubic Bspline subdivision ......... 11 24 Stencil of CatmullClark at irregular nodes, where A has valence n. 11 25 The regular and irregular stencils for DooSabin subdivision surface. 12 26 The stencil for midedge subdivision .................. 13 27 3Directional box spline. The regular domain grid and the quartic box spline function. .................. .... 14 28 Loop subdivision stencils. .................. ..... 14 31 One nodal function for Loop subdivision ............... .15 32 Summary of findings for Loop subdivision. Domains G (shaded) and valence n for which the nodal functions with support on G are lin early independent. .................. .... 18 33 Labeling of the submesh that defines a triangular surface piece (schemat ically represented by the shaded area) near an extraordinary node (label 1) (top,left). Refined submesh, Apo (top,right). Refined sub mesh, Apo, used to evaluate the next spline ring (1,.. /..I/ I. ft). The domain Q of the composite triangular surface piece consists of an infinite sequence of quadrilateral (chopped triangle) subdomains. The first three such subdomains, fQ, f22, 3, are shaded (bottom,right). . . . . . . . . . 2 0 34 The boxspline control points pl,i (solid dots) used to certify that pairs and triples of eigenfunctions are independent. . . 27 35 Indices of CatmullClark nodes near a facet with one extraordinary node(n = 5) (left). The indices of the new control points after one subdivision. Three quarters of the domain now have welldefined tensor product Bspline structure (middle). The complete rectan gular domain is composed of an infinite number of L shaped re gions fe (right) ............... ......... .. 31 36 Global linear dependence of CatmullClark subdivision. An alterna tive representation of the zero function with + indication any nonzero number and its negative value (left)Two control nets with the connectivity of a cube but different node positions. They generate the same CatmullClark surface (right)! ............. .. 33 37 Nonzero input coefficients generating the zero function on Ui2 Qi (shaded area). .................. ............... ..34 38 The Bspline control points p1,2,P1,3 (red points) used to certify that the eigenfunctions associated with uk and Wk are independent. 35 39 Summary of findings for CatmullClark subdivision. Domains G (shaded) and valence n for which the nodal functions with support on G are linearly independent. .................. ..... 38 41 An interval point ............... .......... .. 39 42 The interval polygon defined by three interval points. . ... 40 43 The Loop subdivision patch ................ .... 40 44 The regular Loop patches (green) of the venus model . ... 41 45 Domain layout of Loop subdivision patches. .. . ..... 41 46 Basis function b3 for n = 7 and its control pI..l on (left), The upper and lower bound (red pI..l.on) of b3 (enlarged) (right). ...... ..43 47 (a) Loop patch; (b) corner interval points Di; (c) convex hull of the Oi forming an interval triangle (to dipl iv the inside, the top facet is removed); (d) the enlarged patch inside its wireframe interval triangle. .................. .............. ..45 48 The subdivision surface; the surface and its interval triangles (with the top facet removed); the surface with semitransparent interval triangles (from left to right). ................ ..... 46 49 Subdivision surface with semisharp creases (red = crease value 1.0).. 46 51 Models used for performance evaluation. .............. 50 52 The limit surface, the outer hull and a superposition of the limit sur face and the outer hull with a cutout to show the position of the limit surface (from left). .................. ..... 53 53 Results of adaptive subdivision on the deer model. Input ; e 0.5'' e=0.1 and the surface with e 0.1 (from left to right). . 54 54 RBitraced images at 800x600 resolution. Input mesh (671 triangles), r ,tracing time: 8s (left). Adaptive subdivision with e=0.,.'. Re sulting number of ti,.:,l.' = .i'' .' and maximum subdivision level: 4, ,r ;Iracing time: 9s (middle). Unifoi i,,nl subdivided 4 times. Re sulting number of t,',igl = 171776, ',r;, racing time: 12s (right). 54 KEY TO ABBREVIATIONS AABB: ; Aligned Bounding Box BP Boundary Representation dop: Discrete Orientation P.' topes NURBS: NonU :: .: : Rational BSpline OBB: Oriented Bounding Box KEY TO SYMBOLS c, control points . . . . . . . . 43 2, subdivision .I .h i. :'ameter domain ................... ... 41 , nodal functions ....................... . ..... 15 b, basis functions ..... ... 42 j), B .';: basis f actions .................... . ...... 9 Abstract of Dissertation Presented to the Graduate School of the University of i iorida in Partial J : i : : ,, of the ReI.'. .. f ;. for the Degree of Doctor of P1.'1 .1 S BO G VOL Li ; FOR SUBDIVI ON i ii \ By Xiaobin Wu August Ci .': J6rg Peters Major Department: Computer and Information Science and Engineering Subdivision surfaces e a simple and  pf .p .tool for graphics Sand : :' aided geometric design. Ti j: the gap between polyhedral and spline modeling and have matured to an i... ....' ...1 highend modeling method. Being able to bound the subdivision surfaces is crucial for common tasks such as accurate rendering or intersecting surfaces. T :: thesis gives a : :::: )k for constructing tight bounding volumes for sub(. on "... . decomposing the surface into 1 the .. into combinations of basis : :tions, and precomputing and tabulating of the bounds for these basis functions. A subtle point here is to establish the basis i :w. crty of the .tions that define subdivision surface locally. We :1 the : vcncss (." these bounding volumes with concrete algorithms for interference detection, adaptive tessellation and rendering. Prior to this thesis, no correct and t : ::. algorithm existed for these :: CHAPTER 1 INTRODUCTION The research area of computer graphics and computer aided geometric design (CAGD) revolves around the representation of objects in the 3D space. Although mostly physically solid, objects are often represented by their boundary surfaces called BRep. A BRep may consists of a set of polygons or of smoothly curved surfaces as shown in Figure 11. Complex curved objects are called "freeform" surfaces in contrast to func tional surfaces and also to point out the increased free control of the shape. A designer can easily edit the surface while maintaining its smoothness. The most commonly used freeform surfaces in CAD are called NURBS (NonUniform Rational BSpline) surfaces. NURBS surfaces are defined as the image of a smooth mapping from a planar domain, often rectangular, into the 3D space. Consequently, an object has to be first divided into subsurfaces and control structures that are homeomorphic to rectangles (see Figure 11), a process that is often not automatic and hence cumbersome for designers. Figure 11: A NURBS surface and its control p" .Iv.on. Note the 3sided corner is divided into 3 quadrilaterals because of the NURBS topology constrain. Figure 12: The input mesh, subdivided once, twice, and the limit surface. 1.1 Subdivision Surfaces Subdivision control meshes give more freedom to the designer, however at a cost. Given an input mesh with arbitrary connectivity, a surface is defined as the limit of a refinement sequence. This refinement is often performed as a combination of inserting new points and splitting old faces. The positions of new points (called control nodes) are functions of the a set of "closeby" old points; the positions of old points can also be modified. See Figure 12 for an example of subdivision surface. Subdivision surfaces were first introduced by Doo and Sabin [8] and Catmull and Clark[4] in 1978. In these two pioneering papers, methods are ii. 1. 'I to generalize the uniform subdivision of tensorproduct Bsplines surfaces to meshes of arbitrary topology. With some delay, due to insufficient computing on the 1980s, a "zoo" of subdivision methods has been created by researchers for various applications. In section 2, we give a brief introduction and provide the rules and properties of these subdivision schemes. 1.2 Bounding Volumes Freeform surfaces provide flexible means to model objects with smooth boundary so that designers can concentrate on the shape of the object without worrying about the underline smoothness of the surface. However, the underlying higher order mathematical representation of freeform surface imposes difficulties on some common operations, for example detecting the intersection of surfaces. The problem of finding the intersection curves of two bicubic B6zier patches, for example, is equivalent to solving three polynomial equations with four variables and degree 6. No analytic solution can be sought in general, and even numerical methods need to be carefully designed to achieve acceptable results. For subdivision surfaces, the situation is yet more complex: the subdivision surface is defined based on recursion and lack of a closedform formulation over the whole domain. Although there exist methods to evaluate a point given any param eter value [30, 29], it is not possible to write a subdivision surface as an analytic expression: finding the intersection leads to an infinite number of equations. Bounding volumes for the subdivision surfaces offer a simple and robust solution to the problem. A bounding volume is a subset in 3D space that encloses the surface piece of interest. A bounding volume is good if it: has simple shape tightly encloses the surface is efficient to compute is able to further refine The first two properties address the geometric properties and the shape quality of a bounding volume. A bound volume is created to simplify the computation, so its geometry should be simpler than the original surface. And we do not want to introduce too much error while bounding the surface, so it should .,illl enclose the surface. To be useful in graphics and CAD applications, it is essential that the bound ing volume is efficiently computable. Finally, to provide error control, it is impor tant to allow further refinement when necessary. Up to date, there are few serious attempts to build bounding volumes for subdivision surfaces. One of the reasons is that for most applications in computer Control mesh Limit surface Figure 13: Interference detection based on the control mesh rather than the limit surface is neither safe nor accurate. The green and the blue surfaces are dlii. .in but their control meshes collide. The green and the orange surfaces collide but their control meshes are disjoint. graphics, the accuracy of the operation is not a concern. One would subdivide the initial mesh several steps and stop either when the visual error is no longer visible or the memory and computing power can no longer process further refinements. However, such a process treats the subdivided mesh as simple collection of ]" Ivs.ons and neglects the fact that the refined control mesh is a linear combination of the initial mesh and has an inherited structure. This naive viewpoint leads to an unnecessary waste of time and space. With a proper bounding volume, the computation can be vastly optimized. Furthermore, to use the subdivision surfaces in areas such as CAD, users require accurate measure on the smooth limit surface. For example, a user may ask if the two surfaces are away by certain distance. Methods based on control meshes will no longer be correct because the control mesh does not give a safe volume that contains the surface! Figure 13 shows that interference of the control meshes does not imply that the limit surfaces intersect, and separation of the control meshes does not imply that the limit surfaces are disjoint!  ^  Figure 14: The counter example of the Kobbelt et al. method We introduce a bounding volume construction method for subdivision surfaces that has properties (a) (b) (c) (d) and has been proven to be effective in number of applications. The following sections give a short preview on the related work and summary of the new method. 1.3 Related work In 1998, Kobbelt et al. [16, 17] introduced a bounding volume for subdivision surface called bounding prism. They looked at the maximum positive and negative distance that the surface can vary in a certain direction. Afterwards, by shifting the interpolating triangle in the according distance, they created a volume in 3D space to bound the surface. Although their calculation of the maximum distances is correct, they left out the other two directions that the surface can change to the sides of the prism. As the result, their bounding prism fails to bound the surface when the surface contains high curvature. See Figure 14 for a counter example. For noninterpolating subdivision schemes, the subdivision surface is bounded by the convex hull of input mesh. However, it is expensive to compute the convex hull for a 3D mehs. Grinspun and Schroder [12] used Axis Aligned Bounding Boxes (AABB) on the input mesh to bound the surface. AABBs generally introduce large error margin and converge slowly under subdivision. More importantly, the AABBs need to be recomputed under rotation. Lutterkort and Peters [20, 21] introduced tight enclosures for univariate and multivariate Bspline functions. Most recently Peters and Wu [27] built a safe bounding polygon for univariate curve. Yet the general bounding volume for surfaces is not clear. The tightness of their bounds for cubic functions is discussed in Peters and Wu [26]. There are several mature intersection hierarchies for p" ..I vonal meshes. In 1996, Gottschalk et al. [9] introduced Oriented Bounding Boxes (OBB). It is proven to work more efficiently than AABBs because it tightly encloses the mesh and converges faster. In 1998, Klosowski et al. [15] generalized AABB and described another bounding hierarchy called Kdops. This method works well for objects with continuous motion. 1.4 Overview The approach introduced in this thesis combines ideas from envelopes for r tracing [16], tight bounds on splines [20, 21]. At each moment, we consider a part of the surface that corresponds to one particular control face. This part of the surface(called patch) only depends on a neighborhood of vertices. We create a bounding volume (called interval t, .: l.,/ see definition in section 4) to bound this patch based on the position of this set of relative vertices. We follow Kobbelt [16] in that we use a minmax expression of interval arithmetic to create bounds. Our overall approach differs, however. We do not bound just the normal direction; instead we consider each component in {x, y, z} as a function and we bound each function separately. We also do not perform the eigendecomposition of the subdivision mask in Stam [30] and Grispun and Schroder [12]. In addition, we are able to create a bounding volume much tighter than axisaligned bounding boxes (AABBs) on the control mesh. To improve accuracy and efficiency, we remove linear components from the subdivision function as in Lutterkort and Peters [21] before computing the bounding volume. Our method has two 1i ii ri steps, explained in Section 4.3 and Section 4.5, respectively. First, we build the local parametrization on the subdivision patch, and upon that we construct a set of basis functions. For any given input values on the control mesh, the limit function will be a linear combination of this set of basis functions. In this step, we also find the a pair of upper and lower bounds for each basis function and store them into a table. In contrast to Stam [30], which parametrizes over the unit square, we use the parametrization that has ngon symmetry to simplify our computation. In the second step, interval t, .:,,l,. are constructed. These interval triangles are created by linearly combining the upper and lower bounds of the basis that we stored in the table. Each interval triangle bounds one piece of the limit surface, and the union of interval triangles encloses the whole surface. If a predefined accuracy bound e is given, the interval triangles are locally, adaptively refined until the thickness is less than e. We [32] used our bounding volume in the application of interference detection by integrating it with the well used intersection hierarchy such as OBB and K dops. We only made a small change to the OBB tree and kdops tree code. In return we achieved considerable improvement on the intersection test between the subdivision surfaces. The rest of the thesis is organized as follows: C'! lpter 2 reviews the c~. iri .11,  used subdivision schemes. In chapter 3, we introduce the basis functions of subdi vision surfaces. In chapter 4, we explain how the interval triangle is constructed. 8 In chapter 5 we examine a few applications that take advantage of the constructed tight bounding volume. ('! Ilpter 6 is a summary. CHAPTER 2 SUBDIVISION SCHEMES In this chapter we will review a few commonly used subdivision schemes. The purpose of this section is also to define the terminology that we will use in the rest of thesis. 2.1 BSpline Subdivision We consider the univariate (curve) case. A uniform Bspline function is defined as the linear combination of a set of uniformly spaced basis. Specifically, f(t) : C '(t) (2.1) where cis are scalar values called coefficients and Qis are functions called Bspline basis functions. Qi are merely the translation of basis Qo at integer grid i. Figure 21 shows an example of a Bspline function. A pair of functions x(t) and y(t) defines a curve in 2D. The idea of subdivision is to rewrite Bspline function fi into a refined basis '1. In fact, O1s are spaced half as the original Q, i.e. It turns out that we can directly write each Q in terms of the new basis '1. For degree 2: 40i = + 3 3 1 '1 21_1 + 3i + 3, [+ 1 For degree 3: Si = 1i_2 + 1 ',1 ,1 _Y2+' +16 +t it+ K I_. 2 1.5 1 0.5 1 Figure 21: A cubic Bspline. Now we can find the new set of coefficients c's satisfying f(t) : c'. (t) by substituting Q by 1 in equation (2.1). For degree 2, 4ci := ci + 3ci; 4c2i+1 :=3ci + Ci+1 For degree 3 (see Figure 22 left), 8c2i := Ci1 + 6c, + ci+l 2c'2i+ := Ci + Ci+ Figure 22 right shows how the cubic Bspline control polygon is subdivided two times. As we can see, the subdivided control p" I. on rapidly converge to the the black curve. 0.5 1 6t 1 \ 1 1 Figure 22: The cubic Bspline control p" ..Ion (red) is subdivided two times. 1 6 1 161 161 11 6 36 6 1 6 1 1 1 1 6 1 Figure 23: The tensor product bicubic Bspline subdivision 2.2 CatmullClark Subdivision Catmull and Clark[4] extended the subdivision formula for cubic Bspline into surface by tensorproducting the rule (see Figure 23). The numbers are the weights of each vertex contributing to the new position (blue). The final result is normalized by the sum of the weights. This collection of weights indicating the contributing vertices is called the stencil for the new vertex. To apply the subdivision scheme on an arbitrary mesh, they 'i  I1 a stencil to the vertex with other than 4 neighbors (see Figure 24). 1 \A \ A 6 A 4n2 7n. l 6 1 Figure 2 4: Stencil of CatmullClark at irregular nodes, where A has valence n. a0 On 1 9 3 3 1 a2 Figure 25: The regular and irregular stencils for DooSabin subdivision surface. Such a node where the regular spline subdivision rule does not apply is called extraol.:,.'.,i; node or .:,. jl;,1, node. In the case of CatmullClark, it is equivalent to the node that doesn not have 4 neighbors. Number of neighbors is called valence. Therefore for CatmullClark, valence / 4 = irregular. The limit of the subdivision creates a C2 surface except at irregular nodes, where the surface is C1. 2.3 DooSabin Subdivision Doo and Sabin subdivision is a subdivision scheme based on tensor product biquadratic spline. By tensoring the rules for quadratic spline from Section 2.1, we get the stencil in Figure 25 left. For the irregular case where the face does not have 4 vertices (Figure 25 right), Doo and Sabin iti. . 1 c0o = 1/4 + 5/4n and ai = (3 + 2cos(2ir/n))/4n where n is the number of vertices in the faces. 2.4 Midedge Subdivision In 1997, Peters and Reif [24] tr. i. an even simpler subdivision with minimum stencil size. The new vertex is the the average of the two midpoints of the neighboring edges (see Figure 26). The new node only depends on three vertices and no irregular rule is needed. This subdivision scheme is sometime called the simplest subdivision scheme. 2.5 Loop Subdivision In 1987, Loop [18] introduced a scheme based on triangulation. Loop's scheme is built on the 3directional box spline (for more on box spline theory, see de Boor's book [6]). The 3directional box spline is defined on a regular triangular domain where every vertex has 6 neighbors (see Figure 27). The regular rule can be derived from the recursion of boxspline basis (see Figure 28 left). The irregular (valence / 6) rules is ii, I .1 by Loop as in Figure 28 right, where a n= (3O2co(2/n)) 1) 2 1 1 Figure 26: The stencil for midedge subdivision 12345 1 2 3 4 5 Figure 27: 3Directional box spline. The regular domain grid and the quartic box spline function. 1 1 13 1 regular stencil 1 1 1 s 1 irregular stencil Figure 28: Loop subdivision stencils. CHAPTER 3 NODAL FUNCTIONS FOR SUBDIVISION SURFACES In this chapter, we define nodal functions for subdivision surfaces. We examine their linear independence properties over different type of domains. 3.1 Nodal Functions In most graphics and geometric applications, each control point is given as a 3 dimensional point with (x, y, z) coordinates. Since subdivision rules are applied on each dimension individually, we can focus on one dimension a time. Each control point can be viewed as a scalar value instead of a vector. The nodal function Xi are defined by setting the scalar control point ai to 1 and all others to 0 and applying subdivision (see 31). The nodal functions can be called Basis functions only after they are shown to be linearly independent. 3.2 Linear Independence of Nodal Functions A number of publications have tacitly assumed that the nodal functions Xi are linearly independent. Without proof, nodal functions are called subdivision basis functions [11, 10, 5], used as scaling functions to form a 'basis' of the coarsest level of a multiresolution hierarchy [19], and used to [23] fit subdivision surfaces by allowing one interpolation condition for each mesh node. Figure 3: One nodal function for Loop subdivision Figure 31: One nodal function for Loop subdivision In fact, for CatmullClark this assumption is false. For the simplest quadrilat eral control mesh, a cube, the eight nodal functions are globally linearly dependent (see Lemma 6): in general, we cannot fit eight arbitrary data points by adjusting the coefficients ai of the corresponding surface i 1 aiXi. For the wellknown tensorproduct spline functions, global linear independence may be interpreted as linear independence over the union of domain rectangles delineated by the knot lines and joined by identifying edges of the rectangles in the natural fashion. This definition generalizes to subdivision surfaces as follows. Let f2 be a unit square (triangle) if the kth facet of the control mesh has 4 vertices (3 vertices). Let F be the union of all domains (2, k), indexed by their control mesh facet index, with edges topologically identified (set equal) if the facets share edges. This gives F the structure of a 2manifold homeomorphic to the control mesh. Global linear independence is linear independence with respect to F. Definition 1 (Global linear independence) A set of nodal functions are globally linearly independent if they are independent over the domain i,,.;.: ../.4 F. That is, if Vu G F: a i(u) = 0 then ai = 0. While some of the numerical methods require only standard (global) linear independence, others, such as local Hermite interpolation and localized multi resolution, rely on stronger notions of independence. We need to analyze indepen dence on certain ringshaped annuli A and on subsets Qi of the unit square or unit triangle f2. The strongest and most subtle notion of independence is local linear independence. Definition 2 (Local linear independence) A set of nodal functions are locally linearly independent if for :u; bounded open G, all the nodal functions having some support in G are linearly independent on G. Remarkably, for boxsplines and Bsplines, the standard notion of (global) linear independence is equivalent to local linear independence [6]. That is, if all coefficients ai have to vanish so that Zi ai = 0 (global linear independence), then the coefficients of all nodal functions that are nonzero over any open set G have to vanish if >i aixi vanishes on G (local linear independence). Since G can be arbitrarily small, local linear independence is a stricter requirement on the nodal functions than global linear independence. We will see that local and global independence are not equivalent for subdivision nodal functions near extraordinary nodes of higher valence (number of neighbors). This observation that provides rare insight into the structural difference between subdivision and spline surfaces. Specifically, we show that for the CatmullClark and Loop subdivision mathlist]val@n, valence of an extraordinary node (i) the nodal functions are globally linearly independent;1 (ii) the nodal functions are linearly independent over an annulus1 such as in Figure 32, left; (iii) for valence n higher than the 'regular' valence, the nodal functions are not locally linearly independent; (iv) the nodal functions are linearly independent on each domain Q naturally associated with one facet of the control net.1 The above characterization is an analogue of the SchoenbergWhittney theorem of spline interpolation. To illustrate why such a detailed characterization is useful in practice, consider the following scenarios for interpolation with Loop subdivision surfaces. Interpolating 12 data points on a domain Q corresponding to a mesh triangle whose vertices all have valence six, is a wellposed problem with a unique solution. However, if one of the vertices has valence n = 3 then the problem 1 with one exception: CatmullClark applied to nodes with valence n = 3; see Lemma 6 VN N < 6 N < 7 VN (Lemma 1) (Lemma 3) (Conjecture 1) (Theorem 1) Figure 32: Summary of findings for Loop subdivision. Domains G (shaded) and valence n for which the nodal functions with support on G are linearly indepen dent. is overconstrained while for n > 6 it is typically underconstrained. If we match the number of interpolation conditions to the number of nodal functions that are nonzero on f2, i.e. if we specify n + 6 interpolation points, we find that, if the points belong to a subregion f2 (shaded area in Figure 32, labelled Conjecture 1), the problem is overconstrained for n > 6. Interpolation with the CatmullClark subdivision follows a similar pattern with an additional complication for n = 3. The analysis is made easier by the fact that the component functions of most popular subdivision schemes, and in particular of both CatmullClark and Loop subdivisions, are variations of the wellunderstood boxspline subdivision [6]; much of the subdivision limit surfaces, corresponding to quads with 4valent vertices, respectively triangles with 6valent vertices are 'regular', i.e. are spline surfaces generated by boxsplines. This boxspline connection should make us cautious since the shifts of boxsplines are, in general, not linearly independent. For example, the fourdirection (quincunx) subdivision, which gives rise to 48 subdivision [31], has dependent nodal functions. CatmullClark subdivision rules generalize the two direction boxspline rules, i.e. the rules of the bicubic tensorproduct spline; and Loop subdivision generalizes a threedirection boxspline, the convolution of the linear 'hat' function, with itself. Fortunately, for both splines we know [6] that the nodal functions form a basis. Therefore, it suffices to analyze submeshes that define the neighborhood of extraordinary nodes, where the connectivity of the control mesh differs from the regular connectivity of the box spline, namely mesh nodes of valence n / 4 for CatmullClark meshes and of valence n / 6 for Loop meshes. Thus characterizing independence for Loop subdivision and CatmullClark subdivision, closes a gap in the theory of generalized subdivision and provides a basis for computational use. We first discuss Loop subdivision, and then Catmull Clark subdivision, since Loop subdivision is the simpler of the two and therefore shows the structure of the proof more clearly. Also, it is the subdivision scheme .., i, ,1 for computational purposes in [11, 10, 5]. 3.3 Linear Independence of Loop Nodal Functions For Loop subdivision, there are only two rules: to compute new nodes, corresponding to edges of the old mesh, and to compute new nodes, corresponding to old nodes. These rules are expressed by the two stencils shown in Figure 28. A node of a Loop mesh is extrao,.l.:,,; if it does not have six neighbors. Due to the small reach of the rules, a submesh consisting of one triangle and all triangles attached to it defines, by going to the limit, a triangular piece of the surface .,.i ,i:ent to the limit of the extraordinary node. If all nodes of the central triangle are of valence six, the surface is a polynomial piece of a threedirection box spline and its properties are well understood. Since new edge nodes have valence six, extraordinary nodes are more and more isolated under refinement, and we can focus on triangles with one extraordinary node of valence n / 6. In the following, the subscript 0 refers to a mesh where any two extraordinary nodes are separated by at least one node of valence six. This may be the result of one subdivision applied to the original mesh. The relevant submesh defining the triangular surface piece consists of K n + 6 nodes that can be labeled as in Figure 33 (top, left). We store the submesh as a vector po : (po,, ...PO,K) CRK. A  I u= O,v 0 u=0,v 1 u= ,v= 0 Figure 33: Labeling of the submesh that defines a triangular surface piece (schematically represented by the shaded area) near an extraordinary node (la bel 1) (top,left). Refined submesh, Apo (top,right). Refined submesh, Apo, used to evaluate the next spline ring (1, .11..'ii ft). The domain Q of the composite tri angular surface piece consists of an infinite sequence of quadrilateral (chopped triangle) subdomains. The first three such subdomains, f21, f22, 23, are shaded (bottom, right). Subdivision generates a new set of M := K + 6 control vertices as shown in Figure 33 (top, right). We store those control vertices in a new vector pl : (Pl,i,... ,P1,K,P1,K+1, .. P1,M). If we represent the averaging rules as rows of a M x K matrix A (with row sum one), then the subdivision rules to compute the vector pl from po are p, = Apo where A : All 0 A21 A22 A31 A32) Here All is an (N + 1) x (N + 1) matrix that computes the new extraordinary node and the vertices .,1i ,i:ent to it (note that this also holds for an optional initial refinement to generate po from a mesh that has neighboring extraordinary nodes); A21 and A22 determine the five vertices with indices N+4, N+3, N+2, N+5, N+6 of the next l I.r; and A31 and A32 define the six outermost nodes. The sizes of A22 and A32 are 5 x 5 and 6 x 5 respectively. Leaving out the direct neighbors of the extraordinary node, p1,4,P1,5,... ,P1,n 1, the remaining control points p x:= (Pl,1,pl,2,P1,3,Pl,n, .. .P1,M) define three triangular polynomial pieces shown as shaded in Figure 33 (top,right). To compute the nodes of the next subdivision step, we need only the first K control points of p, (see Figure 33 bottom left), (A1 0 ) (p1,i,p1,2, ,PI,K) = Aopo = Al Po. A21 A22 By repeating the process, an infinite sequence of piecewise polynomial rings is generated. We can choose their domains f2 so that their union fills out the triangular domain 2: 1 1 Q : {(u,v)Iu+v+w= 1,u,v,w> 0}> Uo,, 1:= 2\Q g+i : Q. 2 2 The control vertices p, after n subdivision steps that determine the function on Q2 are: p = A(Ao)~lpo, n > 1. (3.1) From the recursion in Equation 3.1, it is evident that the eigenstructure of A p1 i' a crucial rule when determining the properties of the subdivision surfaces such as the computation of the limit position, tangent plane, and shape analysis [8, 1, 28, 25, 14]. Using Fourier transform, it is easy to derive the vector of eigenvalues Anl of An, 5 All := [1, a(n), f(1),..., f(n 1)] 8 where 3 + 2cos(27rk/n) 5 f(k) ), n) :a() f(k)f(k), 8 8 and A22 of A22: 11 1 1 1 A22 ti [ ]i 2 8' 8'8' 16' 16 Except for the case n = 3, A can be diagonalized by the matrix V of its eigenvectors (details of the eigenanalysis of A can be found e.g. in Stam [29]): A VAV1, A diag(All, A22), V U (3.2) Ui W1 where the submatrices Uo and Wi are the eigenvectors of All and A22, respec tively. For n > 3, the columns of V are linearly independent vectors in RK. Now let the initial submesh po := vi be a eigenvector associated with eigen value Ai and pi the corresponding linear combination of nodal functions. Then, after n steps of subdivision, p.lov = A(AO)nlv AA'lv A Av, A 1 Si P 10 pov. Therefore pi(f[i+l) is a scaled multiple of (o(f2i). Precisely, V(u, v) E and Vn > 1, p( ) = v AX (u, v). (3.3) In Stam [29] these K functions pi are called eigenbasis. However, .,i i:ent to an extraordinary node, each pi consists of an infinite union of polynomial pieces. The subtle but important point to be settled here is that, although the columns of V are independent, the corresponding functions can be dependent. We therefore call the functions pi .:'. ,. functions. To characterize subdivision near extraordinary nodes as similar to, but distinct from spline representations, we will show that the eigenfunctions are linearly independent over f2, but linearly dependent on certain subsets of f2. To show that the nodal functions of Loop subdivision are (globally) linearly independent, we focus on subdomains that form an annulus surrounding the preimage of a sequence of extraordinary nodes. With the obvious topological identification of edges to induce the structure of a 2manifold with boundaries, we define an annulus as n copies of f2i, A:= {1,...,n} x Q1. Lemma 1 The nodal functions of Loop subdivision with support on A are linearly independent over A. Proof. Assume that f := p,,. i is zero on all of A. Recall that the subset of nodes pi can be interpreted as a regular threedirection boxspline control net defining three polynomial pieces near the extraordinary node. Since the boxsplines are locally linearly independent [6], all boxspline control points defining f on A are zero and, in particular, Apo. Since all eigenvalues of A are positive, A is of full rank and therefore all po,i must be zero. If po was the result of one refinement, also the original mesh nodes must be zero since the matrix Anl is of full rank. III Now consider the nodal functions corresponding to the mesh after one subdi vision. Lemma 1 proves linear independence of these nodal functions on the union of all annuli A associated with original mesh nodes. Since the matrix All is of full rank, also the original control nodes must be zero if the function vanishes on all annuli. Corollary 1 The nodal functions of Loop subdivision are ill,,1,ill.i linearly indepen dent. For V(u, v) E Q and Vn > 1, ( #) (3.3), we have U V 2"' 2v) ^AT o(u, v) ==. Oj(u, ) E Q2, with the above equation and equation n+6 S2 2n y i j+1 n+6 A A'> (m, v) i= +1 n+6 i j+1 Since ()' 0 as n  o unless Ai Aj, j(u, V) 1 / (", v) must hold. Therefore the eigenfunctions associated with Aj must be linearly dependent. In the remainder of the proof, we show this to be false. In other words, the problem of proving the linear independence of all eigenfunctions has been reduced to the independence of the eigenfunctions with the same eigenvalue. Because of the eigenstructure of A, the multiplicities of its eigenvalues are small (at most four) and do not increase with n. Recall that the eigenvalues of A are 5 11 1 1 1 [1, a(),f (1),..., f(n 1), 1 1 1 where 5 (3 + 2cos(27/n))2 3 + 2cos(27k/n) a() : ,f(k) : 8 64 8 To find the repeated eigenvalues, we observe that for k E {1... n 1}, 1. f(k)= f(n k), 2. if n is even and k = n/2, f(k) = ; otherwise f(k) ( {1, 1}. 3. f(k) / 1 and f(k) / (n), po = U P0 0 Yl Po Z1 Figure 34: The boxspline control points pl,i (solid dots) used to certify that pairs and triples of eigenfunctions are independent. That is, if A is an eigenvalue of A with multiplicity greater than one then A f(k) / 1, or A = or A = In particular, all relevant eigenvalues are nonzero. We look at each case individually. Case 1: A f(k) / ' In this case A has multiplicity 2 and the associated eigenvectors uk and Wk are given in [29]: Uk( (0,1, Ck, C2k, C(n)k,...) and Wk = (0 0 k, S2k,..., S(nl)k ***) where Ck := cos(2rk/n) and Sk : sin(2rk/n). To show the two eigenfunc tions defined by Uk and Wk are linearly independent, we consider the two boxspline entries of p1,2 and p1,3 (solid dots in Figure 34, left) after one step of subdivision applied to the mesh po := uk and one step applied with po := wk. The two corresponding eigenfunctions are independent because det P1,21po=uk P1,3 pU det 1 Ck / 0, P1,21po=wk P,31po=wk 0 Sk since S(k) / 0 because f(k) / and hence k / " Case 2: A  In this case A can have multiplicity of 3 or 4. We first show that the eigen 0 functions corresponding to first three columns yi, Y2, y3 of are W1 independent. The eigendecomposition (3.2) of A22 is [29]: 00100 10101 Wi 1 0 0 0 0 01110 0 1 1 1 0 01000 The independence of the eigenfunctions follows from the independence of the three box spline control points pi,n+8, p1,n+9, i,n+1o (solid dots in Figure 34 middle) after one subdivision: Pl,n+8 po=y P1,n+9 po=yi Pl,n+10 po=yi 4 4 0 1 det Pl,n+8 po=y2 P1,n+9po=y2 Pl,n+10po=y2 det 0 0 0. Pl,n+8 po=Y3 P1,n+9 Po=y3 P1,n+10 po=y3 1 4 4i If the multiplicity of is three, then we are done. Otherwise, A = f(n/2) for n even and we have one additional eigenvector uk from After one U1 subdivision, the boxspline control point p1,3 is zero for yi, y2, y3 and nonzero for uk. This proves independence of all four eigenfunctions. * Case 3: A = 1 The eigenvectors of the two eigenfunctions associated with correspond to 0 the last two columns zi and z2 of Pairwise independence follows S i from the independence of the two box spline control points pl,,+8,Pln+o10 (solid dots in Figure 34 right) 1 ,n+8 po=zi Pl,n+10p o=z\ 1 0 3 Pl,n+8 po=z2 P1,n+1po=z2 z3 This completes the proof of Lemma 4. 111 We can now address our original goal of showing that the nodal functions Xi are linearly independent. Corollary 2 For n > 3, the nodal functions of Loop subdivision, Xi, i = 1... n + 6, are linearly independent on 2. Proof. Recall that each nodal function Xi is generated by subdivision when setting control point i to 1 and all others to 0. Their independence follows from [1,., PK]= V[Xi,...,XK], K N+6, and the fact that, for n > 3, the matrix V of eigenvectors is an invertible matrix. ill For the special case n = 3, the matrix A has a nontrivial Jordan block and can not be diagonalized. However, since the number of the nodal functions is small, namely nine, we need not decompose into the eigenspace. Lemma 5 For n = 3, the nodal functions of Loop subdivision, Xi, i = ... n + 6, are linearly independent on 2. Proof. We explicitly determine the (n + 12) x 9 matrix M that maps po to the boxspline control points pox 7 3 3 3 00000 6 6 2 2 00000 6 2 6 2 00000 6 2 2 6 00000 2 6 0 6 20000 1101 1 1100 1 2 6 6 0 00200 1 1 11010011 16 2 0 6 6 00002 0 6 0 2 62000 0 6 0 0 26200 0 6 2 0 02600 0 2 0 6 60020 0 0 0 6 20062 0 0 2 6 00026 Since M has full rank and since the boxsplines associated with each of pli, p1,2 ... P1,n+12 are linearly independent, the X, i = 1... 9 are also linearly independent. II Together, Lemma 5 and Corollary 2 prove the main Theorem 1. Theorem 1 The nodal functions of Loop subdivision, Xi, i 1... n + 6, are linearly independent over f. The theorem sharply characterizes the locality of linear independence. On any finite union of Qf the nodal functions are linearly dependent for sufficiently high valence. Only once we take the union to the limit f2, do we obtain linear independence of the nodal functions for all possible valences. Lemma 4 and Lemma 5 imply the analogous result for eigenfunctions. Corollary 3 For all n, the eigenfunctions pi, i = 1,... n + 6, of Loop subdivision are linearly independent and form a basis for the Loop subdivision functions over Q. In particular, we can now call the Loop eigenfunctions an eigenbasis. 3.5 Linear Independence of Catmull Clark Nodal Functions In this section, we investigate another widely used subdivision scheme, CatmullClark subdivision. The CatmullClark algorithm [4] accepts input meshes that have msided facets and vertices with n neighbors. However, all msided facets are split into m quadrilaterals in the first step as follows. A new face node is computed as the average of the facet vertices; a new edge node as the average of the edge endpoints and the two new face nodes of the faces joined by the edge; and a new vertex node of valence n is computed as (Q + 2R + (n 3)S)/n 2N+1 9 2 3 2N+8 82N+7 A2 27 i 7 6 2N+6+ 4 2N 13 7N 12 2N 11 0 21 I9 2N+5 2N+4 2N+3 2N+2 Figure 35: Indices of CatmullClark nodes near a facet with one extraordinary node(n = 5) (left). The indices of the new control points after one subdivision. Three quarters of the domain now have welldefined tensor product Bspline struc ture (middle). The complete rectangular domain is composed of an infinite number of L shaped regions f2 (right) where Q is the average of the new face nodes of all faces .,.i i:ent to the old vertex, R is the average of the midpoints of all old edges incident on the old vertex point, and S is the old vertex point. A new quadrilateral facet then consists of consecutive edge node, vertex node, edge node and the face node. The rules are consistent with the CatmullClark stencils listed in Figure 23 and 24. If each node of a quadrilateral mesh facet has valence n = 4, Catmull Clark subdivision amounts to tensor product bicubic spline subdivision. In this case, the nodal functions are the standard tensor product uniform Bspline basis functions whose independence is welldocumented. Since the extraordinary nodes (with valence n / 4) are albv isolated after two subdivision steps, i.e. any two extraordinary nodes are separated by at least one node of valence four, we can focus our local analysis on surface parts .,.i ,i:ent to a single extraordinary node. That is, the subscript 0 refers to a mesh with isolated extraordinary nodes. The indices of the K := 2n + 8 .1i i.:ent control points are stored in po as in Figure 35, left: po : (Po,0, 1...PO,K) After subdivision, the new set of M := K + 9 control vertices is ordered as shown in Figure 35, middle and stored in the vector: l := (P1,1,... ,PI,K,PI,K+I, ..P1,M). The subdivision rules are again denoted by All 0 pi = Apo where A := A21 A22 KA31 A32J Here All is an (2N + 1) x (2N + 1) matrix that computes the new extraordinary node and the vertices .,,li i,:ent to it; A21 and A22 determine the seven vertices with indices 2N+ 2,..., 2N+8, in the middle vertex ring; and A31 and A32 compute the last nine vertices with indices 2N + 9,..., 2N + 17. We have enough control points in pi to evaluate three regular patches (see shaded area in Figure 35, middle). The first K control points of pi, (A1 0 ) (pI,1,p1,2, .. ,P1,K) = Aopo : A 0 po, A21 A22 are used as the control points for the next subdivision step. Unlike the Loop case, A can ahvl be diagonalized by its eigenvectors V: Ao VAV1. All eigenvalues are nonzero, except for n = 3 when one eigenvalue is zero. (The second eigenvalue of the zero Fourier block.) For n > 3, the linear independence of the nodal functions on A follows, just as in the case of Loop subdivision, from the local linear independence of tensorproduct splines and the full rank of A0. The full rank of All implies /gI /1.rl linear independence for n > 3. The case n = 3 merits closer scrutiny. + Figure 36: Global linear dependence of CatmullClark subdivision. An alter native representation of the zero function with + indication any nonzero number and its negative value (left)Two control nets with the connectivity of a cube but different node positions. They generate the same CatmullClark surface (right)! Lemma 6 The nodal functions of CatmullClark subdivision corresponding to the g,,il'h in Figure 3 6 are I(,il.1,,lli) linearly dependent. Proof. Given the di1pl i ,1 choice of nonzero values at the vertices, all new face nodes have value 0 and all averages of two old nodes connected by an edge have value 0. Therefore all new edge nodes have value zero and so do the new vertex nodes: (Q + 2R + (n 3)S)/n = (0 + 0 + OS)/3 = 0. 11 Figure 36,right, illustrates dependence as the nonuniqueness of the control net for a given surface. Interestingly, an early version of the CatmullClark subdivision algorithm, quoted by Doo and Sabin [8], can be shown to be locally linearly independent for n = 3. Here a new vertex node of valence n is computed as (Q + R + 2S)/4. The nodal functions associated with the mesh after one initial subdivision step are locally linearly dependent on UiL2 Qi when N 3 (see Figure 37). However, the nodal functions are globally linearly independent since they are linearly independent over 21 (See proof in Lemma 8). Therefore we have Lemma 7 The nodal functions of CatmullClark subdivision with support on A are linearly independent over A. 1 1 5 1 1 1 5 oA 5 5 25 Figure 37: Nonzero input coefficients generating the zero function on Uj2 (shaded area). 3.6 Local Linear Independence of CatmullClark Nodal Functions Since the valence n can be arbitrary but each li. r of the subdivision function corresponding to a region Qf is defined by a finite number of Bspline control points, the nodal functions of CatmullClark subdivision can not in general be locally linearly independent over any subset of 2. By symbolic computation, we can however show independence for low valences. The two findings are recorded in the following Lemma. Lemma 8 The nodal functions of CatmullClark subdivision are 7.'.. ill linearly independent if and only if n = 4. Proof. For n = 3, we symbolically checked that A is of full rank, and hence the nodal functions are independent over Q1. However, the nodal functions are not linearly independent over Ui2 Qi due to the example given in Figure 37. If n = 4, the local linearly independence follows from the local linearly independence of tensor product Bsplines. For n = 5, the nodal functions are independent on i1, (which implies linear independence on U.LA since all eigenvalues are positive) and on any subset of 21 that straddles at least two of the three triangular subdomains of Q1 on which the subdivision surface is a single polynomial. However, on any single one of the subdomains, the nodal functions are linearly dependent. For n > 5, the nodal functions are linearly dependent on Qi.  po = uk P0 Wk Figure 38: The Bspline control points p1,2,P1,3 (red points) used to certify that the eigenfunctions associated with uk and Wk are independent. Just as for Loop subdivision, for any k there exists a valence n so that the nodal functions Xi of Loop subdivision with support on 2k are locally linearly dependent on 2k and even on UelA1. The pattern is as follows. Conjecture 2 For k := n 4 > 0, the nodal functions of CatmullClark subdivision Xi,i = 1... 2n + 8 are linearly independent on U lRi but linearly dependent on We verified the conjecture symbolically up to n = 20. We show that this char acterization of the localness of linear independence is sharp: once we take the union of regions to the limit Q2, the nodal functions are linearly independent regardless of valence. As before, we first prove independence over Q of the eigenfunctions defined by the column vectors in V. Then we conclude independence of the nodal functions for CC subdivision over 2. Lemma 9 The 1. :,,functions of CatmullClark subdivision are linearly indepen dent over Q2. Proof. For n > 3, analogous to the proof of Lemma 4, we can reduce the problem to the independence of the eigenfunctions associated with the same eigenvalue. According to [1, 2, 14], the eigenvalues of An, Ak: (Ck+ 5 (Ck+9)(Ck+1)), k =,...n , each have multiplicity two. We have Ak / 0 since (Ck + 5)2 / (Ck + 9)(Ck + 1). When k / n/2, the associated eigenvectors uk and Wk are [30] 0 0 4Ak 1 0 1 + k Sk (4Ak 1)Ck (4Af 1)Sk Uk and Wk k = Ck + C2 Sk + S2k (4Ak 1)C(, )k (4Ak 1)S(_n)k C(nl)k + 1 / S(nl)k where Ck := cos(27k/n) and Sk := sin(27k/n). To show that the two eigen functions defined by uk and Wk are linearly independent, we consider the tensor product Bspline entries p1,2 and p1,3 of pi p0o=u and p llo=wk (solid dots in Figure 38). The two eigenfunctions are linearly independent over the shaded region if they generate independent Bspline control points p1,2 and p1,3, i.e. if det P1,2 ouk P1,3 po=u Adet / 0. l\,21po= w Pl,3po=wkj ) 0 Sk In fact, 4Ak 1 / 0 1 S(Ck + 5 (Ck + 9)(Ck +t)) S (Ck + 5) + (Ck + 9)(Ck+)) 4 S ( (Ck + 9)(Ck+)) Ck = (Ck + 9)(Ck + ) ( Ck)2 S8Ck + 8 0 SCk 1. Ck / 1 and Sk / 0 follows from k / n/2. When k = n/2, the eigenvectors of Ak = are u (0,1,0, 1,0, 1,0, ...1,0,...) and w T = (0,0,l,0,1,0, ,..., 0, ,. ..) then det P1,2 PoUk P1,3 po=Uk A det 0 ) 0. Pl,2 po w Pl,3 po=w 0 w~ For the eigenvalues of A22, { L, I }, the eigenfunctions are the 8 e 8e 16, 16, 32, 32, 64 tensorproduct power basis functions ([30]) {u3, 3,3 u3, uv3 3v2 3, 32, 33v3} whose pairwise independence is well known. For the special case n = 3, there is a zero eigenvalue. As shown in Figure 37, the associated eigenfunction has zero values on Uj2 but zonzero values on Q21. We can single it out by first looking at the domain Ui2i. The rest of VN N < 4 N <5 VN (Lemma 7) (Lemma 8) (Conjecture 2) (Theorem 2) Figure 39: Summary of findings for CatmullClark subdivision. Domains G (shaded) and valence n for which the nodal functions with support on G are lin early independent. eigenfunctions are linearly independent the over U 2 i, with similar proof as above. That implies the overall independence of the eigenfunctions over f. Since the transformation between the eigenfunctions and nodal functions are invertible, all the nodal functions are also linearly independent and form a basis. Theorem 2 The nodal functions of CatmullClark subdivision that have support on 2 are linearly independent over f. CHAPTER 4 TIGHT BOUNDING VOLUMES In this chapter, we describe the efficient construction of interval triangles that enclose the subdivision surface: for each piece we bound the x, y and z component of the limit surface separately. This component bound is computed by linear combining of precomputed bounds of basis functions. A volume created from the component bounds to bound the subdivision surface. At this moment, we focus on Loop's subdivision although the underlying approach is independent of the subdivision scheme. 4.1 Interval Triangles An interval point is an axis aligned cube with possibly different sizes on three dimensions. It is a "1 ;, point defined by three intervals: {[x, x+], [y, y+], [z, z+]} just as a regular point that is defined by three values {x, y, z}. Figure 41: An interval point A triangle can be viewed as a convex combination of its three corner points. Similarly, an interval .:, il 11.:is the convex combination of three interval points (see Figure 42). Geometrically, the interval triangle is a polyhedrally bounded volume in 3D space (see Figure 42 right). We aim to bound the subdivision surface with a set of interval triangles. 1 Figure 42: The interval polygon defined by three interval points. 4.2 Subdivision Patches A subdivision patch is the limit surface of a triangle and its onering of neighbors under subdivision (see Figures 43). Given an input mesh, we can associate each triangle with one patch. The union of all patches is the complete subdivision surface. Figure 43: The Loop subdivision patch For simplicity of computation, we assume that at most one of the three vertices has n / 6 neighbors. Otherwise, a step of local subdivision is perform to enfore this condition. Figure 44 shows how the regular Loop patches (green) separates the irregular patches (holes) after one subdivision. 4.3 Bounding Basis Functions This section explain the first step of our method. First we explain the 2D domains of the Loop subdivision patches. Then we will define a set of basis functions for each domain layout. Finally we bound a pair of upper and lower bounds for the basis functions. Figure 44: The regular Loop patches (green) of the venus model 10 9 10 9 11 9 11 \0/ 8 10 0 0 1 122 S\ / I 2 / 4 5 6 4 5 6 4 5 6 Figure 45: Domain layout of Loop subdivision patches. Note that we precompute and tabulate the bounds and domain, in principle, no user of the approach needs to ever be concerned with the derivation. Only the second step needs to be executed for an input mesh and is visible to users. 4.3.1 Subdivision Domain The domain of a regular Loop patch (all three vertex has valence = 6) is straightforward (Figure 45 left). The points are arranged in regular pattern where every edge has the same length and every angle has the some degree (r/3). When one of vertices (o uo) is an irregular node, the domain is arranged in the follow way: > all the edges connected to uo have length 1 > all the angles .,.i ,i:ent to uo = 27/n > u4 extends the line segment uoul by k, > u6 extends the line segment uou2 by kn > u5 is the midpoint of u4 and u6 > u3 and u7 are the reflection of u5 across uoul and uou2, respectively. The value kn is chosen so that the subdivision limit of this 2D mesh (shaded area Qn in Figure 45) fits tightly inside the triangle An with vertices uo, ul and U2. The reason for doing this will be evident in the next section. We will proceed to give the formula for kn. The shape of Qn, as shown in Figures 45, changes with n. Because of the builtin symmetry, the domain aliv, stay in the area between ray uoul and uou2. It agrees with An exactly if n = 6. For n > 6, the domain bulges inward, towards the extraordinary node. For n < 6, it bulges outward. By aligning the outer most point on the boundary curve of the domain with the line ulu2, we have the following formula for kn: 4(c2 2)/(1+ 2c2) if n >6, r kn := C :_ COS . 6(2c2 7)/(15 + 2c2) if n < 6, 4.3.2 Basis Functions As defined in C'! lpter 3, the nodal function bi for a given irregular valence n (n 6 if there is no irregular node) is defined as the limit of the 3D mesh that consists of vertices Vj where Vj has {x, y } uj{x, y} and z = 6(i,j). The indices i and j run from 0 to n + 5. Those nodal functions are linearly independent over Qn, therefore we call them basis functions. Figure 46 (left) shows the b3 for n = 7. 4.3.3 Computing the Bounds for Basis Functions Now we are ready to create the upper and lower bounds for basis functions. For the (onetime) bounding, for each n, each basis function is subdivided many times (we subdivided 7 times). Due to the convex hull property of Loop's subdivision, we obtain correct linear upper (lower) bounds if we can put a plane so that it sits above (below) the subdivided control net. The planes are carefully chosen so they tightly enclose the subdivided control net (see Figure 46 right). Since the domain of basis function Qn sits inside the triangle An with vertices uo, u1, u2, we only need to store the z values of the planes on u0, U1, u2. i, the values are {b+, b~ b`} and {b, ,bT, b }, for upper and lower bound respectively, then we have the following Lemma: Lemma 10 for r:,' (u,v) in Qn, there exists (s,t) such that sb + tb + (1 s t)b2 < bi(u, v) < sb + tb+ (1 s t)b+ and 0 < 1, 0< t < 1 0 < (1 s t)< 1. Proof. (s, t) is the barycentral coordinate of (u, v) in triangle u0, ui, u2. Since Qn C An, 0 We then store all the values b+, bt, b+ and bo b for every i and possible valence n into a table. We also store the ui positions for later use. This generation of tables is only done for once. Figure 46: Basis function b3 for n = 7 and its control p1 Iv.on (left), The upper and lower bound (red polygon) of b3 (enlarged) (right). 4.4 Component Bounds The xcomponent of the Loop patch can be expressed as n+5 x(u,v) = Cibi(u,v) i=0 where bi(u, v) is the Loop patch corresponding to the control p1 iv.on that is 1 at ith vertex and 0 elsewhere, and ci is the x component of the ith control point. Then, on Qn, n+5 x(u, v) := max{ci, 0} bf (u, v) + min{c, } b0 (u,v) i=0 is an upper bound for x. Since linear functions are their own best upper and lower bound, we can extract a linear function interpolating Co, ci, C2. With di the difference between (ui, I ) and cs, n+5 x(u, v) (u, v) + > dibiu, v). i=3 We removed i = 0..2 from the summation because by construction, di = 0 for i 0, 1, 2. Then, on Qn, x < x < x+ where (4.1) x := + Z I+5 max{di, 0} b + mind, 0} b , x := Z+ +max{d, 0} b. + mind, 0} b+. The di are linear combinations of the control points ci and can be quickly computed using the domain position ui from subsection 4.3.1. The bV and b7 are directly read from the precomputed tables. The linear bounds y, y+, z and z+ are determined analogously. (a) (b) (c) (d) Figure 47: (a) Loop patch; (b) corner interval points Di; (c) convex hull of the Oi forming an interval triangle (to display the inside, the top facet is removed); (d) the enlarged patch inside its wireframe interval triangle. 4.5 Constructing Interval Triangles Here is the main results of this section: Lemma 11 The intervals points {[x ,x,x, [yu ,y], [y~ ,yf]}, i 0..2, forms a interval t, .:,l.' encloses the subdivision patch. Proof. For each (u, v) E ,n there exists (s, t) such that sx0 + tx. + (1 s t)x < x(u, v) < sx+ + tx+ + (1 s t)x+ where 0 < s < 1,0 t < 1,0< (1 s t) < 1. The same holds for {y(u, v), z(u, v)}. So point {x,y,z} is enclosed by the a convex average of interval points {[x x+], [y 7, y+], [y y+]}, therefore enclosed by the interval triangle. II We show how the interval triangles enclose the subdivision surface and how close they are by a few examples in Figure 47 and Figure 48. 4.6 SemiSharp Creases and Boundaries For enhanced realism, standard subdivision is often enhanced with directional, anisotropic semisharp crease rules. For example, DeRose et al. [7] propose applying, along marked mesh lines, a few steps of the sharp crease rules from Hoppe et al.[13], followed by one optional step of blending and infinitely r' ',i steps of standard subdivision. Figure 48: The subdivision surface; the surface and its interval triangles (with the top facet removed); the surface with semitransparent interval triangles (from left to right). Figure 49: Subdivision surface with semisharp creases (red = crease value 1.0). 4 There are two strategies for creating bounding interval triangles for surfaces with such semisharp creases. The first is to bound the basis functions corre sponding to all different configurations of crease edges. This is similar to Bolz and Schroder [3], but, since we only need upper and lower bounds, we need not generate bounds for every combination of two subdivision rules. If one rule results consis tently in higher values than the other,  a sharp crease rule or a boundary rule based on univariate splines, and a generic subdivision rule, then it suffices to bound the upper function from above and the lower function from below to enclose the whole range of combinations. Nevertheless, this strategy leads to a large number of tables. The alternative strategy, used in Figure 49, is to apply subdivision with the sharp crease rule on the patches influenced by the crease edge until only smooth subdivision steps are left and the standard bounds apply. If a boundary is the result of generating one extra l1v. r of nodes on the fly, i.e. by (. iing vertices or reflecting vertices, or if boundaries contract by one lIv. r, interval triangles can be used without modification. 4.7 Convergence The thickness of a interval triangle is the maximum size of the three interval points. Lemma 12 The thickness of the bo;,,:.,.: interval ',.:,.,,wjl: for a given subdivision patch goes to 0 under a,,.:.rm subdivision. Proof. The thickness t < Z diC where C = ,,.,, {max{b+ by, bt b, b  b2}. di 0 under subdivision, therefore t 0. CHAPTER 5 APPLICATION We now take a look at applications of the new bounding volume: interval triangles. 5.1 Collision Detection Using Interval Triangles 5.1.1 Pairwise Interference Detection Since one interval triangle can have up to 19 facets, (see Figure 47 d), comparing all facets to detect interference is not an efficient approach. Instead, we reduce the task to a triangletriangle intersection test by slightly enlarging the interval triangle to an offset triangle. The base t,i .:;n,l. of the offset triangle is defined as x + X+ Y + Y + z + z+ (X +7 y Z Z) (5.1) 2 2 2 restricted to An. The length of the halfdiagonal of the ith corner cube is l ( := ( Z + (2 y 2 + )i )2. 2 2 2 Therefore, if we run (the center of) a sphere with radius p : max {li} (5.2) i=0,1,2 over the base triangle, we create an offset triangle that is guaranteed to enclose the Loop patch. The offset triangle is slightly enlarges the interval triangle but reduces the task to a triangletriangle intersection test of the base triangles 'T, 'T with an error bound set to the sum of the two radii, p1, p2: dist (T, T2) < pi + p2 For the test, we adapt Moller's method [22]: if one triangle lies to one side of the plane containing the other triangle nonintersection is reported; otherwise the common line passing through the two triangles is examined and nonintersection reported if the intersection line intervals do not overlap. We need only change to Pi + P2 + c the tolerance c that Moller uses to stabilize the computation. This adds three additions to the approximately 100 operations of Moller's test. 5.1.2 Intersection Hierarchy Most intersection applications have an associated tolerance C so that surfaces are considered dili, iii if their distance is more than c. To enforce the tolerance, we split each patch into four by local Loop subdivision, until the offset triangle has a radius p less than e/2. It is straightforward to modify any triangle hierarchy to use offset triangles. We modified the OBB tree code of Gottschalk et al et al. [9] by enlarging the dimension of the OBB until it contains each base triangle within the radius tolerance. 5.1.3 Performance Evaluation A major challenge when introducing a new collision detection technique is to conduct a fair performance experiment to measure space and time requirements in a realistic rather than just a worst case setting. Our task is made easier, in that we need not compare different types of hierarchies but only the test. In our context, the performance criteria are the number of primitives needed to achieve a given accuracy (space), and the hierarchy initialization and the average intersection cost (time). We compare the performance of an offset trianglebased hierarchy to a similar hierarchy based on a control mesh that has been uniformly subdivided to lie within the same prescribed error tolerance. As pointed out earlier (Figure 13) such a mesh does not guarantee correct intersection testing but would nevertheless be accepted in many practical situations. S41 r i Figure 51: Models used for performance evaluation. We did not compare to an adaptively refined mesh because no efficient adaptive refinement based on the maximum norm is available. AABBs overestimate so much that the adaptive scheme is not competitive. The efficient alternative is to use interval triangles to drive adaptation but then we are almost back to our solution. We also confirmed in our test scenario, which rigidly transforms the objects, that AABB trees built on the convex hull of the control polygon do not perform well compared to the OBB tree [32]. 5.1.4 Experiment Set Up We used six different models of small to medium size as is suitable for further subdivision. The models range from 24 triangles (Star) to 1418 (Venus) and are shown in Figure 51. In the spirit of Klosowski et al. [15], we place alv two of these models into a cube or room, each with random position and random orientation. All models are scaled to tightly fit into a bounding box of size 1. The interference test returns separation, or possible collision and only the first collision pair. Since the intersection cost depends on the position and orientation of the input models, we ran 150,000 random tests for each pair and report the average time. We also varied the room size to modify the percentage of intersecting cases. Table 51: Number of triangles needed for the given error bounds. e I 1 0.5' it Loop it Loop it Loop Venus 5705 22688 6098 22688 7214 90752 Head 1499 3200 2474 12800 5990 51200 Pawn 1216 1216 2368 !1,. 1 4732 11. 1 Star 384 384 S, 1536 1536 1536 Demon 1258 :; 1 2734 4384 4897 17536 Quake 1728 6528 4218 1'..2' 6636 26112 Table 52: Intersection hierarchy (OBBtree) creation time in milliseconds. e "[ I 1 0.5'. it Loop it Loop it Loop Venus 180 561 180 551 240 2414 Head 40 70 80 310 180 1342 Pawn 30 20 60 110 140 110 Star 10 10 20 30 40 40 Demon 40 100 90 170 150 431 Quake 50 150 100 100 200 641 5.1.5 Results In the following tables, we label the new interval trianglebased method "it" and the intersection based on subdivided meshes "Loop". The timing is measured on a single P4 2.4G HZ CPU machine with 1G RAM. Table 51 lists the number of triangles needed to guarantee a given accuracy. That is, a possible intersection is announced if the limit surfaces within the cubicle are closer than ''. 1 respectively 0.5'. of the object size. The offset triangle based method requires fewer triangles in all cases, indicating that the tight bounds pl off. Table 52 lists the time used to build the OBB hierarchy. This includes the computation of all interval triangles in the case of the offset trianglebased method. Nevertheless, the offset trianglebased method requires less time in most cases. The average savings are tI' . Table 53: Intersection cost in ms for different tolerances and room sizes. e ". 1 .I 0.5'. it Loop it Loop it Loop Room size 6.0: 3 percent of the models collide Venus/Head 22 24 22 26 22 27 Star/Pawn 11 12 11 12 12 12 Demon/Quake 13 13 13 14 14 14 Room size 3.0: 30 percent of models collide Venus/Head 147 178 144 178 148 187 Star/Pawn 81 91 84 91 84 90 Demon/Quake 105 116 107 117 106 118 Table 53 lists the average intersection time for both approaches. For a room of size 63, offset triangles improve only marginally over the Loop method because most rejections occur in high level boxbox tests of the OBB tree. However, for a room of size 3, more boxbox tests are needed for Loop than for offset triangles. That is, the safe offset trianglebased test is cheaper than the unsafe control meshbased test! 5.2 Inner and Outer Hull For intersection testing, it is not necessary to build an explicit conforming inner and outer hull, since the union of the interval triangles encloses the surface. However, for other applications such as manufacturing with tolerances, intersection and overlap of the interval triangles is not acceptable. Instead, we need a pair of triangulations that sandwich the limit surface. To this end, we first select from the eight choices Pa,3,7 W= :(x, y Z), a,j3, y7 {,+}, computed in Section 4, for each mesh triangle two planes that tightly enclose the limit surface. Then, we shrinkwrap the individual planes around each node. The two planes are selected as follows. Compute the normal of the linear functions p,a,,. If the signs of the xyzcomponents of the normal agree with (c, 3, 7) then the plane is the outer plane. If the signs agree with (c, p, 7) Figure 52: The limit surface, the outer hull and a superposition of the limit sur face and the outer hull with a cutout to show the position of the limit surface (from left). then the plane is the inner plane. In theory, there could be cases where we need to subdivide to assure uniqueness, but in practice we have never encountered such a case. All the points in the triangle cell lie between these two planes because their inner product with the outer plane is negative and their inner product with the inner plane is positive. In the second step, we compute, for each node, an outer triangulation vertex. The vertex is the point of least distance to the node's limit position and such that it lies outside the outer planes of the facets surrounding the node. This is a simple local quadratic optimization problem that can be solved by enumeration. Connecting the outer triangulation vertices according to the inherited connectivity of the input mesh completes the construction (see Figure 52) [32] [27] 5.3 Adaptive Subdivision For a given object, The density of the vertices varies from region to region. For example in Figure 12 second picture, the head light of the vehicle is dense enough while the body is yet coarse and needs to be further subdivided. An adaptive subdivision only perform the refinement at the places where needed. The thickness of our interval triangles, give an accurate estimate how I  [7 _ '! J. , . S '^' "" A. =, _=,,, ,',, " *' .j ' S a,:I *'?3 Il Figure 53: Results of adaptive subdivision on the deer model. Input ; e=0.5' . e=0.1 .. and the surface with e 0.1 (from left to right). Figure 54: RBi traced images at 800x600 resolution. Input mesh (671 triangles), r,tracing time: 8s (left). Adaptive subdivision with e=0.,.". Ri A,]l',:u number of I,.:,ill i = *111', and maximum subdivision level: 4, 'r/racing time: 9s (middle). Unifc, inlii subdivided 4 times. Resulting number of ,.:.ii.jl, = 171776, a r/racing time: 12s (right). the shape of the patch is away from a flat triangle. Therefore a new adaptive subdivision can be built, with our bounding volume as the "test stone". Figure 53 and Figure 54 shows the results of the adaptive subdivision and the r ,traced image of the subdivision surfaces [33] . CHAPTER 6 CONCLUSION A safe, accurate and efficient bounding volume: interval triangles has been in troduced. It is applied to intersection testing and adaptive rendering of subdivision limit surfaces and is proven effective. Alternative approaches, such as comparing refined control meshes, prisms [16] or hierarchies of AABBs fail either to be effi cient, or to be correct or both. The algorithm is simple: read pretabulated data and form linear combinations according to equation (4.1). This approach requires only a simple modification of available software. This thesis gives a framework for constructing such tight bounding volumes for subdivision surfaces, by decomposing the surface into patches, the patches into combinations of basis functions, and precomputing and tabulating of the bounds for these basis functions. A subtle point here is to establish the basis property of the functions that define subdivision surface locally. A closer look at Section 4 shows that the approach works for any surface parametrization that can be bounded and is adaptively refinable. Therefore it can be applied to NURBS surfaces (if the denominator is bounded away from zero) and to other refinement schemes, ,v interpolatory subdivision. The key ingredient in each case, is the onetime generation of accurate bounds analogous to Section 4.3. The properties that the bounding volume possesses make it promising for many other applications. Ri iERENCI [1] A. A. B : i and D. J. T. ::y. C(:: : o: ::; for tangent plane continuity over recursively generated Bspline surfaces. ACM Trans. on Graphics, 7: 102, 1 [2] A. A. Ball and D. J. T. Storry. An investigation of curvature variations over recursively generated Bspline surfaces. AC i.. / O ns on Graphics, 9(4):.: i 437, October 1: [3] '. I Bolz and Peter Schroder. Rapid evaluation of catinullclark subdivision surfaces. In f.. the We bD .' F pages 11 18, York, 2002. A(' i Press. [4] E. Catmull and J. C( Recursively generated E 1:: surfaces on arbitrary topological meshes. C rAided D '. II: ', I 1 [5] Fehmi Cirak, Michael Ortiz, and Peter Schroder. Subdivision surfaces: A new paradigm for thinshell finiteelernent analysis. Int ernat. J. .' ... *. Methods ... : : i 2072, : [6] C. de Boor., i I i i:, and S. Rierenschneider. '.. volume *: of Applied MiJathe matical Sciences. SpringerVerlag York, 1 ' 71 T.. I.. Michael Kass, and i .. Truong. Subdivision; in character animation. In Michael Cohen, e :..* 5,'. I' 1 *. r ence S '' : 85 I, ork, 1" "'" AC Press. D. Doo and M. Sabin. Behaviour of recursive division surfaces near extraordi nary points. ComputerAided d 10: .::, September 1978. SS. Gottschalk, M. C. Lin, and D. Manocha. OBBTreec: A hierarchical structure for rapid *..: ...... detection. Computer G. 30:171 1; ::, 1 ":. 10 Eitan C : .an. T Basis f .[. .. Method. PhD thesis, C .: : Institute of Te('.. ..1 ., May 16 2003. 1i Eitan C i : .an, Petr Krysl, and Peter Schroder. CHAR : A .. framework adaptive simulation. In John Hughes, editor, c. ' C i'(erenc P. .. Annual Conference Series, 281 :, York, 2002. A(' i Press. 12] Eitan Grinspun and Peter Schroder. Normal bounds :: :: :: detection. In T: ::::: Ertl, Ken J<, and editors, Proc Visualization, pages /:340, York, [13] Hugues Hoppe, T " DeRose, Tom Duchamp, Mark H John 1. )onald, Jean Schweitzer, and Werner i ...tzle surface reconstruction. C r '. (Annual 302, July i .:. 141] K. Karciauskas, J. Peters, and U surfaces case studies. C ' :::14. .. subdivisionsurface Amitabh Vashney, ":':1. IEEE. alstead, Hubert :, F. F* .se smooth Conference Series) i. :I "i pe characterization sub.: Aided Geom. Design, 21(6) :.: 614, July 15] James T. Klosowski, S.. !. B. Mitchell, I.T, Sowizral, and Karel F. .: ent collision detection using bounding volume hiierarchies ( kDOPs. IEEE Transactions on Visualization and C C G '' 4(1):21 . January :'i : 16] L. Kobbelt. Tight bounding volumes for subdivision surfaces. In Bob Werner, editor, P,. .i'(' .,:.." pages 17 New York, 1 : IEEE. 17] Leif Kobbelt, K Daubert, and HansPeter Seidel. r, tracing of sub . sion surfaces. In Rendering Techniques '98 (P ..' f the Eurographics Workshop), : T. York, i .. SpringerVerlag. 18] < i::: i T. Loop. Smooth subdivision surfaces based on triangles, 7. Master's Ti. Department of Mathematics, Univc r of Utah. [19] Michael Louns[ , Tc D. DeRose, and Joe Warren. Multiresolution . for surfaces of arbitrary t..ological ty AC : Transactions on G 16(1):3473, January :1'7. D] D. Lutterkort and J. Peters. Optimized refinable enclosures of multivariate polynomial pieces. C' .(.. .' Aided Geom. Design, 18(9): ::. 121] D. Lutterkort and J. Peters. Tight bounds on the distance between a spline and its Bspline control polygon. Nume'rische Mathematik, " 7 748, M ay ::1. 22] Tomas Moiller. A fast triangletriangle intersection test. Journal of G .,:..' Tools: JGT, 2(2):25;::, 1997. [23] A. H. :' Pclhedral subdivision methods on form surfaces. AC Transactions on G '. 6(1):2973, [24] Jorg Peters and UIlrich i '1 : simplest subi : scheme for smoothing polyhedra. A( i'Transactions on G ... 16(4):/: ::431, October i :7. 125] Jorg Peters and Ulrich Reif. i ie characterization of subdivision surfaces basic:': C' ..;.' Aided (eom. D ... 21(6):, ; July 2: S1 Jorg Peters and Xiaobin enclosures based on Curves and F . Wu. On the < : :.. i.y of piecewise linear maxnorm In Proceedings of the St Malo C(' ..'rence on S: 344. [27] Jorg Peters and Xiaobin ".', .,. Sieves for planar 1'., curves. C .. Aided Geom. Design, 21(6):615 1:. :':4. http://authors.elsevier.conm/sd/article/ : 167 : :.: i': .15. SUlrich Reif. A unified ..i ..1. to subdivision algorithms near extraordinary vertices. C Aided Geom. Design, 12(2):153174, 1 [29] Jos Staim. Evaluation of Loop subdivision surfaces, 1 t SIGGRAPII Prc notes. ::] Jos Stami. Exact evaluation of catmullclark subdivision surfaces at arbitrary S:: ter values. In Michael Cohen, editor, F' P '.. pages Yo"rk, 1t A Addison Wesley. ] uiz Velho and Denis : : 48 subdivision. C .. .' Aided Geom. iD 18(5):397 427, June '1. [32] Xiaobin :', and Jorg Peters. i: Corrputer Graphilics Foru'm, E . : detection for subdivision : (3):577 .; . [33] Xiaobin 'r ', and Jorg Peters. An accurate error measure division surfaces. In F '. '.. International C M .' and A ; .'. ..'. >ms, pages 5157. i0 i i i C : ' s~ ~ 5,: t,, 1 ~ for adaptive sub "Srence on. . Society, :: BIOGRAPHICAL SKETCH Xiaobin '..":: was born in 1: ::: ( ::: : : on I 1 ,1 1 lie received his B.E. from Uni of Science and Technology of C I::. in n In i", he received his M.S. from C' Acadery of Sciences. Efficient, Tight Bounding Volumes Subdivision Surfaces Xiaobin ', . ( ) '2 1 , Department < Computer and Information Science and Engineering ( :i : Jorg Peters Degree: Doctor ( F':1 phy ( .. Date: August Smooth mathematical surfaces enable the desingers and engineers to ::::: ture some of the most ':.... : I : items in our daily lives such as smooth car bodies, .,:airplanes and even :. :. mice. Subdivision surfaces is a such kind of '. i1.1 and yet powerful mathematical tool for graphics applications and computer aided geometric design. Most notice able usage <. sub : )n : '.. c aare characters created in Pixar animation feature S such as "A bug's life" or "Tby s! . T:: thesis introduces a framework for constructing tight bounding volumes for subdivision surfaces. Ti .. complete surface can be viewed as a collection of smooth'l joined patches where tight bounding volumes are computed efficiently. Ti tight bounding volumes computed are crucial .. graphics and geometric algorithms such as :::: : :: detection, adaptive i : :on and rendering. 