EFFICIENT, TIGHT BOUNDING VOLUMES FOR SUBDIVISION SURFACES

Size: px
Start display at page:

Download "EFFICIENT, TIGHT BOUNDING VOLUMES FOR SUBDIVISION SURFACES"

Transcription

1 EFFICIENT, TIGHT BOUNDING VOLUMES FOR SUBDIVISION SURFACES By XIAOBIN WU A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2005

2 Copyright 2005 by Xiaobin Wu

3 I dedicate this work to my wife Fangwen Chen and my parents.

4 ACKNOWLEDGMENTS I wish to thank my advisor Jörg Peters for his support and mentoring throughout my Ph.D. study. I also thank him for introducing me into the field of graphics and geometric design. His remarkable dedication and excellence for research has been a strong inspiration. I wish to thank my vice committee chair Meera Sitharam for her guidance. Many formal discussions in seminars and casual talks with Dr. Sitharam have led to expanding and deepening of my research goals. I also wish to thank my Ph.D. committee members: Dr. Baba C. Vemuri, David Groisser and Dr. Jay Gopalakrishnan for their continuous help and encouragement. I thank my family for always being there for me. Without them, this work will not be possible. iv

5 TABLE OF CONTENTS ACKNOWLEDGMENTS LIST OF TABLES LIST OF FIGURES KEY TO ABBREVIATIONS KEY TO SYMBOLS ABSTRACT page iv vii viii xi xii xiii CHAPTER 1 INTRODUCTION Subdivision Surfaces Bounding Volumes Related work Overview SUBDIVISION SCHEMES B-Spline Subdivision Catmull-Clark Subdivision Doo-Sabin Subdivision Midedge Subdivision Loop Subdivision NODAL FUNCTIONS FOR SUBDIVISION SURFACES Nodal Functions Linear Independence of Nodal Functions Linear Independence of Loop Nodal Functions Local Linear Independence of Loop Nodal Function Linear Independence of Catmull Clark Nodal Functions Local Linear Independence of Catmull-Clark Nodal Functions TIGHT BOUNDING VOLUMES Interval Triangles Subdivision Patches v

6 4.3 Bounding Basis Functions Subdivision Domain Basis Functions Computing the Bounds for Basis Functions Component Bounds Constructing Interval Triangles Semi-Sharp Creases and Boundaries Convergence APPLICATION Collision Detection Using Interval Triangles Pairwise Interference Detection Intersection Hierarchy Performance Evaluation Experiment Set Up Results Inner and Outer Hull Adaptive Subdivision CONCLUSION REFERENCES BIOGRAPHICAL SKETCH vi

7 Table LIST OF TABLES page 5 1 Number of triangles needed for the given error bounds Intersection hierarchy (OBBtree) creation time in milliseconds Intersection cost in ms for different tolerances and room sizes vii

8 Figure LIST OF FIGURES page 1 1 A NURBS surface and its control polygon. Note the 3-sided corner is divided into 3 quadrilaterals because of the NURBS topology constrain The input mesh, subdivided once, twice, and the limit surface Interference detection based on the control mesh rather than the limit surface is neither safe nor accurate. The green and the blue surfaces are disjoint but their control meshes collide. The green and the orange surfaces collide but their control meshes are disjoint The counter example of the Kobbelt et al. method A cubic B-spline The cubic B-spline control polygon (red) is subdivided two times The tensor product bicubic B-spline subdivision Stencil of Catmull-Clark at irregular nodes, where A has valence n The regular and irregular stencils for Doo-Sabin subdivision surface The stencil for midedge subdivision Directional box spline. The regular domain grid and the quartic box spline function Loop subdivision stencils One nodal function for Loop subdivision Summary of findings for Loop subdivision. Domains G (shaded) and valence n for which the nodal functions with support on G are linearly independent viii

9 3 3 Labeling of the submesh that defines a triangular surface piece (schematically represented by the shaded area) near an extraordinary node (label 1) (top,left). Refined submesh, Ap 0 (top,right). Refined submesh, A p 0, used to evaluate the next spline ring (bottom,left). The domain Ω of the composite triangular surface piece consists of an infinite sequence of quadrilateral (chopped triangle) subdomains. The first three such subdomains, Ω 1, Ω 2, Ω 3, are shaded (bottom,right) The box-spline control points p 1,i (solid dots) used to certify that pairs and triples of eigenfunctions are independent Indices of Catmull-Clark 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 well-defined tensor product B spline structure (middle). The complete rectangular domain is composed of an infinite number of L shaped regions Ω l (right) Global linear dependence of Catmull-Clark subdivision. An alternative representation of the zero function with + indication any nonzero number and its negative value (left)ṫwo control nets with the connectivity of a cube but different node positions. They generate the same Catmull-Clark surface (right)! Nonzero input coefficients generating the zero function on i=2 Ω i (shaded area) The B-spline control points p 1,2, p 1,3 (red points) used to certify that the eigenfunctions associated with u k and w k are independent Summary of findings for Catmull-Clark subdivision. Domains G (shaded) and valence n for which the nodal functions with support on G are linearly independent An interval point The interval polygon defined by three interval points The Loop subdivision patch The regular Loop patches (green) of the venus model Domain layout of Loop subdivision patches Basis function b 3 for n = 7 and its control polygon (left), The upper and lower bound (red polygon) of b 3 (enlarged) (right) ix

10 4 7 (a) Loop patch; (b) corner interval points i ; (c) convex hull of the i forming an interval triangle (to display the inside, the top facet is removed); (d) the enlarged patch inside its wire-frame interval triangle The subdivision surface; the surface and its interval triangles (with the top facet removed); the surface with semi-transparent interval triangles (from left to right) Subdivision surface with semi-sharp creases (red = crease value 1.0) Models used for performance evaluation The limit surface, the outer hull and a superposition of the limit surface and the outer hull with a cutout to show the position of the limit surface (from left) 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) Ray-traced images at 800x600 resolution. Input mesh (671 triangles), ray-tracing time: 8s (left). Adaptive subdivision with e=0.2%. Resulting number of triangles = 9662 and maximum subdivision level: 4, ray-tracing time: 9s (middle). Uniformly subdivided 4 times. Resulting number of triangles = , ray-tracing time: 12s (right). 54 x

11 KEY TO ABBREVIATIONS AABB: Axis Aligned Bounding Box B-Rep: Boundary Representation dop: Discrete Orientation Polytopes NURBS: Non-Uniform Rational B-Spline OBB: Oriented Bounding Box xi

12 KEY TO SYMBOLS c, control points Ω, subdivision patch parameter domain χ, nodal functions b, basis functions φ, B-spline basis functions xii

13 Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy EFFICIENT, TIGHT BOUNDING VOLUMES FOR SUBDIVISION SURFACES By Xiaobin Wu August 2005 Chair: Jörg Peters Major Department: Computer and Information Science and Engineering Subdivision surfaces provide a simple and yet powerful tool for graphics applications and computer aided geometric design. They fill the gap between polyhedral and spline modeling and have matured to an important high-end modeling method. Being able to bound the subdivision surfaces is crucial for common tasks such as accurate rendering or intersecting surfaces. This thesis gives a framework for constructing tight bounding volumes for subdivision surfaces, by decomposing the surface into patches, the patches into combinations of basis functions, and pre-computing 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. We verify the effectiveness of these bounding volumes with concrete algorithms for interference detection, adaptive tessellation and rendering. Prior to this thesis, no correct and efficient algorithm existed for these applications. xiii

14 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 B-Rep. A B-Rep may consists of a set of polygons or of smoothly curved surfaces as shown in Figure 1 1. Complex curved objects are called free-form surfaces in contrast to functional 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 free-form surfaces in CAD are called NURBS (Non-Uniform Rational B-Spline) 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 sub-surfaces and control structures that are homeomorphic to rectangles (see Figure 1 1), a process that is often not automatic and hence cumbersome for designers. Figure 1 1: A NURBS surface and its control polygon. Note the 3-sided corner is divided into 3 quadrilaterals because of the NURBS topology constrain. 1

15 2 Figure 1 2: 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 close-by old points; the positions of old points can also be modified. See Figure 1 2 for an example of subdivision surface. Subdivision surfaces were first introduced by Doo and Sabin [8] and Catmull and Clark[4] in In these two pioneering papers, methods are suggested to generalize the uniform subdivision of tensor-product B-splines 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 Free-form 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 free-form surface imposes difficulties on some common operations, for example detecting

16 3 the intersection of surfaces. The problem of finding the intersection curves of two bi-cubic Bézier 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 closed-form formulation over the whole domain. Although there exist methods to evaluate a point given any parameter 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 tightly enclose the surface. To be useful in graphics and CAD applications, it is essential that the bounding volume is efficiently computable. Finally, to provide error control, it is important 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

17 4 Control mesh Limit surface Figure 1 3: Interference detection based on the control mesh rather than the limit surface is neither safe nor accurate. The green and the blue surfaces are disjoint 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 polygons and neglects the fact that the refined control mesh is a linear combination of the initial mesh and has an inherited structure. This naïve 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 1 3 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!

18 5 Figure 1 4: 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 1 4 for a counter example. For non-interpolating 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 Schröder [12] used Axis Aligned Bounding Boxes (AABB) on the input mesh to bound the surface. AABBs generally introduce large error

19 6 margin and converge slowly under subdivision. More importantly, the AABBs need to be re-computed under rotation. Lutterkort and Peters [20, 21] introduced tight enclosures for univariate and multivariate B-spline 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 polygonal 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 K-dops. This method works well for objects with continuous motion. 1.4 Overview The approach introduced in this thesis combines ideas from envelopes for ray-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 triangle, 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 min-max 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 Schröder [12]. In addition, we are able to create a

20 7 bounding volume much tighter than axis-aligned 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 major 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 n-gon symmetry to simplify our computation. In the second step, interval triangles 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 pre-defined accuracy bound ǫ is given, the interval triangles are locally, adaptively refined until the thickness is less than ǫ. 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 k-dops 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: Chapter 2 reviews the commonlyused subdivision schemes. In chapter 3, we introduce the basis functions of subdivision surfaces. In chapter 4, we explain how the interval triangle is constructed.

21 In chapter 5 we examine a few applications that take advantage of the constructed tight bounding volume. Chapter 6 is a summary. 8

22 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 B-Spline Subdivision We consider the univariate (curve) case. A uniform B-spline function is defined as the linear combination of a set of uniformly spaced basis. Specifically, f(t) := i c i φ i (t) (2.1) where c i s are scalar values called coefficients and φ i s are functions called B-spline basis functions. φ i are merely the translation of basis φ 0 at integer grid i. Figure 2 1 shows an example of a B-spline function. A pair of functions x(t) and y(t) defines a curve in 2D. The idea of subdivision is to re-write B-spline function f i into a refined basis φ 1. In fact, φ 1 s are spaced half as the original φ, i.e. 1. It turns out that we can 2 directly write each φ in terms of the new basis φ 1. For degree 2: 4φ i = φ 1 2i 1 + 3φ1 2i + 3φ1 2i+1 + φ1 2i+2 For degree 3: 8φ i = φ 1 2i 2 + 4φ1 2i 1 + 6φ1 2i + 4φ1 2i+1 + φ1 2i+2 9

23 10 Figure 2 1: A cubic B-spline. Now we can find the new set of coefficients c s satisfying f(t) := i c i φ1 i (t) by substituting φ by φ 1 in equation (2.1). For degree 2, 4c 2i := c i 1 + 3c i ; 4c 2i+1 := 3c i + c i+1 For degree 3 (see Figure 2 2 left), 8c 2i := c i 1 + 6c i + c i+1 2c 2i+1 := c i + c i+1 Figure 2 2 right shows how the cubic B-spline control polygon is subdivided two times. As we can see, the subdivided control polygon rapidly converge to the the black curve.

24 Figure 2 2: The cubic B-spline control polygon (red) is subdivided two times Figure 2 3: The tensor product bicubic B-spline subdivision 2.2 Catmull-Clark Subdivision Catmull and Clark[4] extended the subdivision formula for cubic B-spline into surface by tensor-producting the rule (see Figure 2 3). 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 suggested a stencil to the vertex with other than 4 neighbors (see Figure 2 4) A 6 A = 4n 2 7n Figure 2 4: Stencil of Catmull-Clark at irregular nodes, where A has valence n.

25 α 0 α n α 1 α 2... Figure 2 5: The regular and irregular stencils for Doo-Sabin subdivision surface. Such a node where the regular spline subdivision rule does not apply is called extraordinary node or irregular node. In the case of Catmull-Clark, it is equivalent to the node that doesn not have 4 neighbors. Number of neighbors is called valence. Therefore for Catmull-Clark, valence 4 irregular. The limit of the subdivision creates a C 2 surface except at irregular nodes, where the surface is C Doo-Sabin Subdivision Doo and Sabin subdivision is a subdivision scheme based on tensor product bi-quadratic spline. By tensoring the rules for quadratic spline from Section 2.1, we get the stencil in Figure 2 5 left. For the irregular case where the face does not have 4 vertices (Figure 2 5 right), Doo and Sabin suggested α 0 = 1/4 + 5/4n and α i = (3 + 2cos(2iπ/n))/4n where n is the number of vertices in the faces. 2.4 Midedge Subdivision In 1997, Peters and Reif [24] suggested an even simplier subdivision with minimum stencil size. The new vertex is the the average of the two midpoints of the neighboring edges (see Figure 2 6). The new node only depends on three vertices and no irregular rule is needed. This subdivision scheme is sometime called the simplest subdivision scheme.

26 Loop Subdivision In 1987, Loop [18] introduced a scheme based on triangulation. Loop s scheme is built on the 3-directional box spline (for more on box spline theory, see de Boor s book [6]). The 3-directional box spline is defined on a regular triangular domain where every vertex has 6 neighbors (see Figure 2 7). The regular rule can be derived from the recursion of box-spline basis (see Figure 2 8 left). The irregular (valence 6) rules is suggested by Loop as in Figure 2 8 right, where α = n( 1). 40 (3+2cos(2π/n)) 2 ) Figure 2 6: The stencil for midedge subdivision

27 14 Figure 2 7: 3-Directional box spline. The regular domain grid and the quartic box spline function α regular stencil irregular stencil Figure 2 8: Loop subdivision stencils.

28 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 χ i are defined by setting the scalar control point a i to 1 and all others to 0 and applying subdivision (see 3 1). 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 χ i 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 1: One nodal function for Loop subdivision 15

29 In fact, for Catmull-Clark this assumption is false. For the simplest quadrilateral 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 a i of the corresponding surface 8 i=1 a iχ i. For the well-known tensor-product 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 Ω be a unit square (triangle) if the kth facet of the control mesh has 4 vertices (3 vertices). Let Γ be the union of all domains (Ω, k), indexed by their control mesh facet index, with edges topologically identified (set equal) if the facets share edges. This gives Γ the structure of a 2-manifold homeomorphic to the control mesh. Global linear independence is linear independence with respect to Γ. Definition 1 (Global linear independence) A set of nodal functions are globally linearly independent if they are independent over the domain manifold Γ. That is, if u Γ : i a iχ i (u) = 0 then a i = 0. While some of the numerical methods require only standard (global) linear independence, others, such as local Hermite interpolation and localized multiresolution, rely on stronger notions of independence. We need to analyze independence on certain ring-shaped annuli A and on subsets Ω i of the unit square or unit triangle Ω. 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 any bounded open G, all the nodal functions having some support in G are linearly independent on G. Remarkably, for box-splines and B splines, the standard notion of (global) linear independence is equivalent to local linear independence [6]. That is, if all 16

30 17 coefficients a i have to vanish so that i a iχ i = 0 (global linear independence), then the coefficients of all nodal functions that are nonzero over any open set G have to vanish if i a iχ i 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 Catmull-Clark 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 annulus 1 such as in Figure 3 2, 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 Ω naturally associated with one facet of the control net. 1 The above characterization is an analogue of the Schoenberg-Whittney 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 Ω corresponding to a mesh triangle whose vertices all have valence six, is a well-posed problem with a unique solution. However, if one of the vertices has valence n = 3 then the problem 1 with one exception: Catmull-Clark applied to nodes with valence n = 3; see Lemma 6

31 18 N (Lemma 1) N 6 (Lemma 3) N 7 (Conjecture 1) N (Theorem 1) Figure 3 2: Summary of findings for Loop subdivision. Domains G (shaded) and valence n for which the nodal functions with support on G are linearly independent. 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 Ω, i.e. if we specify n + 6 interpolation points, we find that, if the points belong to a subregion Ω 1 (shaded area in Figure 3 2, labelled Conjecture 1), the problem is overconstrained for n > 6. Interpolation with the Catmull-Clark 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 Catmull-Clark and Loop subdivisions, are variations of the well-understood box-spline subdivision [6]; much of the subdivision limit surfaces, corresponding to quads with 4-valent vertices, respectively triangles with 6-valent vertices are regular, i.e. are spline surfaces generated by box-splines. This box-spline connection should make us cautious since the shifts of box-splines are, in general, not linearly independent. For example, the four-direction (quincunx) subdivision, which gives rise to 4-8 subdivision [31], has dependent nodal functions. Catmull-Clark subdivision rules generalize the twodirection box-spline rules, i.e. the rules of the bicubic tensor-product spline; and Loop subdivision generalizes a three-direction box-spline, 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

32 19 mesh differs from the regular connectivity of the box spline, namely mesh nodes of valence n 4 for Catmull-Clark meshes and of valence n 6 for Loop meshes. Thus characterizing independence for Loop subdivision and Catmull-Clark 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 suggested 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 2 8. A node of a Loop mesh is extraordinary 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 adjacent 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 three-direction 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 3 3 (top, left). We store the submesh as a vector p 0 := (p 0,1,...p 0,K ) R K.

33 N N N N+6 N N+1 N+5 A N+1 N+2 N+5 N+10 N N+2 N+4 N+3 N+7 N+4 N+3 p 0 p 1 := Ap 0 N+9 A u = 0, v = 0 u = 1, v = 0 N N N+6 N+12 Ω N+1 N+5 N+11 Ω 2 3 N+4 2 N+3 N+2 N+7 N+10 Ω 1 Ω N+9 N+8 u = 0, v = 1 Figure 3 3: Labeling of the submesh that defines a triangular surface piece (schematically represented by the shaded area) near an extraordinary node (label 1) (top,left). Refined submesh, Ap 0 (top,right). Refined submesh, A p 0, used to evaluate the next spline ring (bottom,left). The domain Ω of the composite triangular surface piece consists of an infinite sequence of quadrilateral (chopped triangle) subdomains. The first three such subdomains, Ω 1, Ω 2, Ω 3, are shaded (bottom,right). Subdivision generates a new set of M := K + 6 control vertices as shown in Figure 3 3 (top, right). We store those control vertices in a new vector p 1 := (p 1,1,..., p 1,K, p 1,K+1,...p 1,M ). If we represent the averaging rules as rows of a M K matrix A (with row sum one), then the subdivision rules to compute the vector p 1 from p 0 are A 11 0 p 1 = Ap 0 where A := A 21 A 22. A 31 A 32

34 21 Here A 11 is an (N + 1) (N + 1) matrix that computes the new extraordinary node and the vertices adjacent to it (note that this also holds for an optional initial refinement to generate p 0 from a mesh that has neighboring extraordinary nodes); A 21 and A 22 determine the five vertices with indices N +4, N +3, N +2, N +5, N +6 of the next layer; and A 31 and A 32 define the six outermost nodes. The sizes of A 22 and A 32 are 5 5 and 6 5 respectively. Leaving out the direct neighbors of the extraordinary node, p 1,4, p 1,5,...,p 1,n 1, the remaining control points p box 1 := (p 1,1, p 1,2, p 1,3, p 1,n,...p 1,M ) define three triangular polynomial pieces shown as shaded in Figure 3 3 (top,right). To compute the nodes of the next subdivision step, we need only the first K control points of p 1 (see Figure 3 3 bottom left), (p 1,1, p 1,2,...,p 1,K ) = A p 0 := A 11 0 p 0. A 21 A 22 By repeating the process, an infinite sequence of piecewise polynomial rings is generated. We can choose their domains Ω l so that their union fills out the triangular domain Ω: Ω := {(u, v) u + v + w = 1, u, v, w 0} = l=1 Ω l Ω 1 := Ω\ 1 2 Ω, Ω l+1 := 1 2 Ω l. The control vertices p n after n subdivision steps that determine the function on Ω n are: p n = A(A ) n 1 p 0, n 1. (3.1) From the recursion in Equation 3.1, it is evident that the eigenstructure of A plays 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].

35 22 Using Fourier transform, it is easy to derive the vector of eigenvalues Λ 11 of A 11, where and Λ 22 of A 22 : Λ 11 := [1, 5 α(n), f(1),..., f(n 1)] 8 f(k) := 3 + 2cos(2πk/n), α(n) := f(k)f(k), Λ 22 := [ 1 8, 1 8, 1 8, 1 16, 1 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 = VΛV 1, Λ = diag(λ 11,Λ 22 ),V = U 0 0 (3.2) U 1 W 1 where the submatrices U 0 and W 1 are the eigenvectors of A 11 and A 22, respectively. For n > 3, the columns of V are linearly independent vectors in R K. Now let the initial submesh p 0 := v i be a eigenvector associated with eigenvalue λ i and ϕ i the corresponding linear combination of nodal functions. Then, after n steps of subdivision, p n p0 =v i = A(A ) n 1 v i = Aλ n 1 i v i = λ n 1 i Av i = λ n 1 i p 1 p0 =v i. Therefore ϕ i (Ω n+1 ) is a scaled multiple of ϕ i (Ω 1 ). Precisely, (u, v) Ω and n 1, ϕ i ( u 2 n, v 2 n) = λn i ϕ i(u, v). (3.3) In Stam [29] these K functions ϕ i are called eigenbasis. However, adjacent to an extraordinary node, each ϕ i 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 ϕ i eigenfunctions. To characterize subdivision near extraordinary

36 23 nodes as similar to, but distinct from spline representations, we will show that the eigenfunctions are linearly independent over Ω, but linearly dependent on certain subsets of Ω. 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 2-manifold with boundaries, we define an annulus as n copies of Ω 1, A := {1,..., n} Ω 1. Lemma 1 The nodal functions of Loop subdivision with support on A are linearly independent over A. Proof. Assume that f := i p 0,iχ i is zero on all of A. Recall that the subset of nodes p box 1 can be interpreted as a regular three-direction box-spline control net defining three polynomial pieces near the extraordinary node. Since the box-splines are locally linearly independent [6], all box-spline control points defining f on A are zero and, in particular, A p 0. Since all eigenvalues of A are positive, A is of full rank and therefore all p 0,i must be zero. If p 0 was the result of one refinement, also the original mesh nodes must be zero since the matrix A 11 is of full rank. Now consider the nodal functions corresponding to the mesh after one subdivision. Lemma 1 proves linear independence of these nodal functions on the union of all annuli A associated with original mesh nodes. Since the matrix A 11 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 globally linearly independent.

37 Local Linear Independence of Loop Nodal Function In this section, we characterize the local linear independence of Loop subdivision nodal functions. Lemma 2 For general n, the nodal functions of Loop subdivision are not locally linearly independent. Specifically, for any k there exists a valence n so that the nodal functions of Loop subdivision with support on Ω k, χ i, i = 1...n + 6, are locally linearly dependent on Ω k and even on k l=1 Ω l. Proof. All nodal functions corresponding to p 0 are nonzero on each Ω k. Each vector p box k corresponding to Ω k has 16 entries. For sufficiently large valence, the nodal functions must therefore be dependent on Ω k and on k l=1 Ω l for finite k. However, the nodal functions are locally linearly independent for sufficiently low valence n. Lemma 3 For n 6 the nodal functions χ i, i = 1...n + 6, are locally linearly independent. Proof. Denote by P i, i = 1, 2, 3 the three 12 (n + 12) picking matrices that select the box-spline coefficients of each of the three triangular domain parts. By symbolic calculation, we verify that P i A, i = 1, 2, 3 is of full rank, Therefore, if all of its 12 control points are zero, then also p 0 must be zero. Local linear independence of the three-direction box spline then proves the claim for Ω 1. Since the control points on Ω l are computed from p 0 by applying P i A(A ) l 1 local linear independence on Ω 1 implies local linear independence on Ω l. For n = 7, the nodal functions are independent on Ω 1 and hence on k l=1 Ω l, but they are not linearly independent on subsets of Ω 1 that do not straddle all

38 25 three piecewise polynomial domains. As the valence n increases, a subtle pattern emerges. Conjecture 1 For k := (n 6)/2 + 1 > 1, the nodal functions of Loop subdivision χ i, i = 1...n + 6 are linearly independent on k i=1 Ω i and linearly dependent on k 1 i=1 Ω i. We verified the conjecture symbolically up to n = 30 which should cover all cases of practical interest. However, to investigate linear independence on the natural domains corresponding to control facets, namely on Ω = l=1 Ω l, we need a better strategy. We use the eigen property of the eigenfunctions, that additional layers are scaled copies of the earlier layers. Lemma 4 For valence n > 3, the eigenfunctions ϕ i, i = 1,..., n + 6, of Loop subdivision are linearly independent on Ω. Proof. The proof is by contradiction. All eigenvalues λ i of A are positive. We sort the eigenfunctions ϕ i (i = 1,...,n + 6) so that their associated eigenvalues λ i descend from the largest to the smallest. Suppose there exist scalars a 1, a 2,...,a n+6, not all zero, such that n+6 a i ϕ i = 0. i=1 Let λ j be the largest eigenvalue such that a j 0. Then with w i := a i /a j, we write ϕ j = n+6 i=j+1 w i ϕ i.

39 For (u, v) Ω and n 1, ( u 2 n, v 2 n ) Ω, with the above equation and equation (3.3), we have ϕ j ( u v n+6 2 n, 2 n) = λ n j ϕ j (u, v) = ϕ j (u, v) = i=j+1 n+6 i=j+1 n+6 i=j+1 Since ( λ i λ j ) n 0 as n unless λ i = λ j, ϕ j (u, v) = i {i λ i =λ j } w i ϕ i ( u 2 n, v 2 n) w i λ n i ϕ i (u, v) w i ( λ i λ j ) n ϕ i (u, v) w i ϕ i (u, v). must hold. Therefore the eigenfunctions associated with λ j 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 26 are where α(n) := 5 8 [1, 5 8 α(n), f(1),..., f(n 1), 1 8, 1 8, 1 8, 1 16, 1 16 ]. (3 + 2cos(2π/n))2 64, f(k) := 3 + 2cos(2πk/n). 8 To find the repeated eigenvalues, we observe that for k {1... n 1}, 1. f(k) = f(n k), 2. if n is even and k = n/2, f(k) = 1; otherwise f(k) 8 {1, 1 } f(k) 1 and f(k) 5 α(n), 8

40 27 p 1,3 p 1, p 1,N+10 p 1,N+10 C k p 1,N+9 p 1,N+8 p 1,N p 0 = u k p 0 = y 1 p 0 = z 1 Figure 3 4: The box-spline control points p 1,i (solid dots) used to certify that pairs and triples of eigenfunctions are independent. 0 1 That is, if λ is an eigenvalue of A with multiplicity greater than one then λ = f(k) 1, or λ = 1, or λ = 1. In particular, all relevant eigenvalues are nonzero We look at each case individually. Case 1: λ = f(k) 1 8 In this case λ has multiplicity 2 and the associated eigenvectors u k and w k are given in [29]: u T k = (0, 1, C k, C 2k,...,C (n 1)k,...) and w T k = (0, 0, S k, S 2k,...,S (n 1)k,...) where C k := cos(2πk/n) and S k := sin(2πk/n). To show the two eigenfunctions defined by u k and w k are linearly independent, we consider the two box-spline entries of p 1,2 and p 1,3 (solid dots in Figure 3 4, left) after one step of subdivision applied to the mesh p 0 := u k and one step applied with p 0 := w k. The two corresponding eigenfunctions are independent because det p 1,2 p0 =u k p 1,3 p0 =u k = λ 2 det 1 C k 0, p 1,2 p0 =w k p 1,3 p0 =w k 0 S k since S(k) 0 because f(k) 1 and hence k n. 8 2 Case 2: λ = 1 8

41 28 In this case λ can have multiplicity of 3 or 4. We first show that the eigen- functions corresponding to first three columns y 1,y 2,y 3 of 0 are W 1 independent. The eigendecomposition (3.2) of A 22 is [29]: W 1 = The independence of the eigenfunctions follows from the independence of the three box spline control points p 1,n+8, p 1,n+9, p 1,n+10 (solid dots in Figure 3 4 middle) after one subdivision: p 1,n+8 p0 =y 1 p 1,n+9 p0 =y 1 p 1,n+10 p0 =y 1 det p 1,n+8 p0 =y 2 p 1,n+9 p0 =y 2 p 1,n+10 p0 =y 2 = det p 1,n+8 p0 =y 3 p 1,n+9 p0 =y 3 p 1,n+10 p0 =y If the multiplicity of 1 8 is three, then we are done. Otherwise, λ = f(n/2) for n even and we have one additional eigenvector u k from U 0. After one subdivision, the box-spline control point p 1,3 is zero for y 1,y 2,y 3 and nonzero for u k. This proves independence of all four eigenfunctions. U 1 Case 3: λ = 1 16 The eigenvectors of the two eigenfunctions associated with 1 correspond to 16 the last two columns z 1 and z 2 of 0. Pairwise independence follows W 1 from the independence of the two box spline control points p 1,n+8, p 1,n+10

42 29 (solid dots in Figure 3 4 right) det p 1,n+8 p0 =z 1 p 1,n+10 p0 =z 1 = 1 p 1,n+8 p0 =z 2 p 1,n+10 8 det p0 =z This completes the proof of Lemma 4. We can now address our original goal of showing that the nodal functions χ i are linearly independent. Corollary 2 For n > 3, the nodal functions of Loop subdivision, χ i, i = 1...n + 6, are linearly independent on Ω. Proof. Recall that each nodal function χ i is generated by subdivision when setting control point i to 1 and all others to 0. Their independence follows from [ϕ 1,...,ϕ K ] = V[χ 1,...,χ K ], K = N + 6, and the fact that, for n > 3, the matrix V of eigenvectors is an invertible matrix. For the special case n = 3, the matrix A has a non-trivial 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, χ i, i = 1...n + 6, are linearly independent on Ω. Proof. We explicitly determine the (n + 12) 9 matrix M that maps p 0 to the box-spline control points p box

43 30 Since M has full rank and since the box-splines associated with each of p 1,1, p 1,2...p 1,n+12 are linearly independent, the χ i, i = are also linearly independent. Together, Lemma 5 and Corollary 2 prove the main Theorem 1. Theorem 1 The nodal functions of Loop subdivision, χ i, i = 1...n + 6, are linearly independent over Ω. The theorem sharply characterizes the locality of linear independence. On any finite union of Ω l the nodal functions are linearly dependent for sufficiently high valence. Only once we take the union to the limit Ω, 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 ϕ i, i = 1,...n + 6, of Loop subdivision are linearly independent and form a basis for the Loop subdivision functions over Ω. 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, Catmull-Clark subdivision. The Catmull-Clark algorithm [4] accepts input meshes that have m-sided facets and vertices with n neighbors. However, all m-sided 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

44 31 2N N+8 2N N+8 2N+17 u N N+6 A N N+6 2N+5 2N+4 2N+3 2N+2 2N+16 2N+15 2N+14 v Ω 3 Ω 2 2N+13 2N+12 2N+11 2N+10 2N+9 Ω 1 2N+5 2N+4 2N+3 2N+2 Figure 3 5: Indices of Catmull-Clark 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 well-defined tensor product B spline structure (middle). The complete rectangular domain is composed of an infinite number of L shaped regions Ω l (right) where Q is the average of the new face nodes of all faces adjacent 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 Catmull-Clark stencils listed in Figure 2 3 and 2 4. If each node of a quadrilateral mesh facet has valence n = 4, Catmull- Clark subdivision amounts to tensor product bi-cubic spline subdivision. In this case, the nodal functions are the standard tensor product uniform B spline basis functions whose independence is well-documented. Since the extraordinary nodes (with valence n 4) are always 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 adjacent 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 adjacent control points are stored in p 0 as in Figure 3 5, left: p 0 := (p 0,1,...p 0,K ).

45 32 After subdivision, the new set of M := K + 9 control vertices is ordered as shown in Figure 3 5, middle and stored in the vector: p 1 := (p 1,1,..., p 1,K, p 1,K+1,...p 1,M ). The subdivision rules are again denoted by A 11 0 p 1 = Ap 0 where A := A 21 A 22. A 31 A 32 Here A 11 is an (2N + 1) (2N + 1) matrix that computes the new extraordinary node and the vertices adjacent to it; A 21 and A 22 determine the seven vertices with indices 2N +2,...,2N +8, in the middle vertex ring; and A 31 and A 32 compute the last nine vertices with indices 2N + 9,..., 2N We have enough control points in p 1 to evaluate three regular patches (see shaded area in Figure 3 5, middle). The first K control points of p 1, (p 1,1, p 1,2,...,p 1,K ) = A p 0 := A 11 0 p 0, A 21 A 22 are used as the control points for the next subdivision step. Unlike the Loop case, A can always be diagonalized by its eigenvectors V: A = VΛV 1. 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 tensor-product splines and the full rank of A. The full rank of A 11 implies global linear independence for n > 3. The case n = 3 merits closer scrutiny.

46 Figure 3 6: Global linear dependence of Catmull-Clark subdivision. An alternative representation of the zero function with + indication any nonzero number and its negative value (left)ṫwo control nets with the connectivity of a cube but different node positions. They generate the same Catmull-Clark surface (right)! Lemma 6 The nodal functions of Catmull-Clark subdivision corresponding to the graph in Figure 3 6 are (globally) linearly dependent. Proof. Given the displayed 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 = ( S)/3 = 0. Figure 3 6,right, illustrates dependence as the nonuniqueness of the control net for a given surface. Interestingly, an early version of the Catmull-Clark 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 i=2 Ω i when N = 3 (see Figure 3 7). However, the nodal functions are globally linearly independent since they are linearly independent over Ω 1 (See proof in Lemma 8). Therefore we have Lemma 7 The nodal functions of Catmull-Clark subdivision with support on A are linearly independent over A.

47 A Figure 3 7: Nonzero input coefficients generating the zero function on i=2 Ω i (shaded area). 3.6 Local Linear Independence of Catmull-Clark Nodal Functions Since the valence n can be arbitrary but each layer of the subdivision function corresponding to a region Ω l is defined by a finite number of B-spline control points, the nodal functions of Catmull-Clark subdivision can not in general be locally linearly independent over any subset of Ω. 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 Catmull-Clark subdivision are locally 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 Ω 1. However, the nodal functions are not linearly independent over i=2 Ω i due to the example given in Figure 3 7. If n = 4, the local linearly independence follows from the local linearly independence of tensor product B splines. For n = 5, the nodal functions are independent on Ω 1, (which implies linear independence on k l=1 Ω l since all eigenvalues are positive) and on any subset of Ω 1 that straddles at least two of the three triangular subdomains of Ω 1 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 Ω 1.

48 35 4λ k C k 0 S k p 1,2 p 1,3 p 1,2 p 1,3 p 0 = u k p 0 = w k Figure 3 8: The B-spline control points p 1,2, p 1,3 (red points) used to certify that the eigenfunctions associated with u k and w k are independent. Just as for Loop subdivision, for any k there exists a valence n so that the nodal functions χ i of Loop subdivision with support on Ω k are locally linearly dependent on Ω k and even on k l=1 Ω l. The pattern is as follows. Conjecture 2 For k := n 4 > 0, the nodal functions of Catmull-Clark subdivision χ i, i = 1...2n + 8 are linearly independent on k i=1 Ω i but linearly dependent on k 1 i=1 Ω i. We verified the conjecture symbolically up to n = 20. We show that this characterization of the localness of linear independence is sharp: once we take the union of regions to the limit Ω, the nodal functions are linearly independent regardless of valence. As before, we first prove independence over Ω of the eigenfunctions defined by the column vectors in V. Then we conclude independence of the nodal functions for CC subdivision over Ω. Lemma 9 The eigenfunctions of Catmull-Clark subdivision are linearly independent over Ω. 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.

49 36 According to [1, 2, 14], the eigenvalues of A 11, λ k := 1 16 (C k + 5 ± (C k + 9)(C k + 1)), k = 1,...n 1, each have multiplicity two. We have λ k 0 since (C k + 5) 2 (C k + 9)(C k + 1). When k n/2, the associated eigenvectors u k and w k are [30] 0 4λ k C k (4λ u k = k 1)C k C k + C 2k. (4λ k 1)C (n 1)k C (n 1)k S k (4λ and w k = k 1)S k, S k + S 2k. (4λ k 1)S (n 1)k S (n 1)k where C k := cos(2πk/n) and S k := sin(2πk/n). To show that the two eigenfunctions defined by u k and w k are linearly independent, we consider the tensorproduct B spline entries p 1,2 and p 1,3 of p 1 p0 =u k and p 1 p0 =w k (solid dots in Figure 3 8). The two eigenfunctions are linearly independent over the shaded region if they generate independent B spline control points p 1,2 and p 1,3, i.e. if det p 1,2 p0 =u k p 1,2 p0 =w k p 1,3 p0 =u k = λ 2 k det 4λ k C k 0. p 1,3 p0 =w k 0 S k

50 37 In fact, 4λ k (C k + 5 ± (C k + 9)(C k + 1)) 1 (C k + 5) ± (C k + 9)(C k + 1)) 4 (± (C k + 9)(C k + 1)) 1 C k (C k + 9)(C k + 1) ( 1 C k ) 2 8C k C k 1. C k 1 and S k 0 follows from k n/2. When k = n/2, the eigenvectors of λ k = 1 4 are u T k w T k = (0, 1, 0, 1, 0, 1, 0,..., 1, 0,...) and = (0, 0, 1, 0, 1, 0, 1,..., 0, 1,...) then det p 1,2 p0 =u k p 1,2 p0 =w k p 1,3 p0 =u k = λ 2 k det p 1,3 p0 =w k 0 1 For the eigenvalues of A 22, { 1, 1, 1, 1, 1, 1, 1 }, the eigenfunctions are the tensor-product power basis functions ([30]) {u 3, v 3, u 3 v, uv 3, u 3 v 2, u 2 v 3, u 3 v 3 } whose pairwise independence is well known. For the special case n = 3, there is a zero eigenvalue. As shown in Figure 3 7, the associated eigenfunction has zero values on i=2ω i but zon-zero values on Ω 1. We can single it out by first looking at the domain i=2ω i. The rest of

51 38 N N 4 N 5 N (Lemma 7) (Lemma 8) (Conjecture 2) (Theorem 2) Figure 3 9: Summary of findings for Catmull-Clark subdivision. Domains G (shaded) and valence n for which the nodal functions with support on G are linearly independent. eigenfunctions are linearly independent the over i=2ω i, with similar proof as above. That implies the overall independence of the eigenfunctions over Ω. 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 Catmull-Clark subdivision that have support on Ω are linearly independent over Ω.

52 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 pre-computed 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 large 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 4 1: An interval point A triangle can be viewed as a convex combination of its three corner points. Similarly, an interval triangle is the convex combination of three interval points (see Figure 4 2). Geometrically, the interval triangle is a polyhedrally bounded volume in 3D space (see Figure 4 2 right). We aim to bound the subdivision surface with a set of interval triangles. 39

53 40 Figure 4 2: The interval polygon defined by three interval points. 4.2 Subdivision Patches A subdivision patch is the limit surface of a triangle and its one-ring of neighbors under subdivision (see Figures 4 3). Given an input mesh, we can associate each triangle with one patch. The union of all patches is the complete subdivision surface. Figure 4 3: 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 4 4 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.

54 41 Figure 4 4: The regular Loop patches (green) of the venus model k Ω k Ω Figure 4 5: Domain layout of Loop subdivision patches. Note that we pre-compute 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 Subdivision Domain The domain of a regular Loop patch (all three vertex has valence = 6) is straightforward (Figure 4 5 left). The points are arranged in regular pattern where every edge has the same length and every angle has the some degree (π/3). When one of vertices (say u 0 ) is an irregular node, the domain is arranged in the follow way: all the edges connected to u 0 have length=1 all the angles adjacent to u 0 = 2π/n u 4 extends the line segment u 0 u 1 by k n

55 42 u 6 extends the line segment u 0 u 2 by k n u 5 is the midpoint of u 4 and u 6 u 3 and u 7 are the reflection of u 5 across u 0 u 1 and u 0 u 2, respectively. The value k n is chosen so that the subdivision limit of this 2D mesh (shaded area Ω n in Figure 4 5) fits tightly inside the triangle n with vertices u 0, u 1 and u 2. The reason for doing this will be evident in the next section. We will proceed to give the formula for k n. The shape of Ω n, as shown in Figures 4 5, changes with n. Because of the built-in symmetry, the domain always stay in the area between ray u 0 u 1 and u 0 u 2. It agrees with n 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 u 1 u 2, we have the following formula for k n : 4(c 2 2)/(1 + 2c 2 ) if n 6, k n := 6(2c 2 7)/(15 + 2c 2 ) if n < 6, c := cos π n Basis Functions As defined in Chapter 3, the nodal function b i 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 V j where V j has {x, y} = u j {x, y} and z = δ(i, j). The indices i and j run from 0 to n + 5. Those nodal functions are linearly independent over Ω n, therefore we call them basis functions. Figure 4 6 (left) shows the b 3 for n = Computing the Bounds for Basis Functions Now we are ready to create the upper and lower bounds for basis functions.

56 43 For the (one-time) 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 4 6 right). Since the domain of basis function Ω n sits inside the triangle n with vertices u 0, u 1, u 2, we only need to store the z values of the planes on u 0, u 1, u 2. Say the values are {b + 0, b+ 1, b+ 2 } and {b 0, b 1, b 2 }, for upper and lower bound respectively, then we have the following Lemma: Lemma 10 for any (u, v) in Ω n, there exists (s, t) such that sb 0 + tb 1 + (1 s t)b 2 b i (u, v) sb tb (1 s t)b + 2 and 0 s 1, 0 t 1, 0 (1 s t) 1. Proof. (s, t) is the barycentral coordinate of (u, v) in triangle u 0, u 1, u 2. Since Ω n n, 0 s 1, 0 t 1, 0 (1 s t) 1. We then store all the values b + 0, b+ 1, b+ 2 and b 0, b 1 for every i and possible valence n into a table. We also store the u i positions for later use. This generation of tables is only done for once. Figure 4 6: Basis function b 3 for n = 7 and its control polygon (left), The upper and lower bound (red polygon) of b 3 (enlarged) (right).

57 Component Bounds The x-component of the Loop patch can be expressed as n+5 x(u, v) = c i b i (u, v) where b i (u, v) is the Loop patch corresponding to the control polygon that is 1 at i-th vertex and 0 elsewhere, and c i is the x component of the ith control point. Then, on Ω n, i=0 n+5 x + (u, v) := max{c i, 0} b + i (u, v) + min{c i, 0} b i i=0 (u, v) is an upper bound for x. Since linear functions are their own best upper and lower bound, we can extract a linear function l interpolating c 0, c 1, c 2. With d i the difference between l(u i, v i ) and c i, n+5 x(u, v) = l(u, v) + d i b i (u, v). We removed i = 0..2 from the summation because by construction, d i = 0 for i = 0, 1, 2. Then, on Ω n, x x x + where (4.1) i=3 x + := l + n+5 i=3 max{d i, 0} b + i + min{d i, 0} b i, x := l + n+5 i=3 max{d i, 0} b i + min{d i, 0} b + i. The d i are linear combinations of the control points c i and can be quickly computed using the domain position u i from subsection The b + i and b i are directly read from the pre-computed tables. The linear bounds y, y +, z and z + are determined analogously.

58 45 (a) (b) (c) (d) Figure 4 7: (a) Loop patch; (b) corner interval points i ; (c) convex hull of the i forming an interval triangle (to display the inside, the top facet is removed); (d) the enlarged patch inside its wire-frame interval triangle. 4.5 Constructing Interval Triangles Here is the main results of this section: Lemma 11 The intervals points {[x i, x+ i ], [y i, y+ i ], [y i, y+ i ]}, i=0..2, forms a interval triangle encloses the subdivision patch. Proof. For each (u, v) Ω n, there exists (s, t) such that sx 0 + tx 1 + (1 s t)x 2 x(u, v) sx tx (1 s t)x + 2 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 i, x+ i ], [y i, y+ i ], [y i, y+ i ]}, therefore enclosed by the interval triangle. We show how the interval triangles enclose the subdivision surface and how close they are by a few examples in Figure 4 7 and Figure Semi-Sharp Creases and Boundaries For enhanced realism, standard subdivision is often enhanced with directional, anisotropic semi-sharp 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 many steps of standard subdivision.

59 46 Figure 4 8: The subdivision surface; the surface and its interval triangles (with the top facet removed); the surface with semi-transparent interval triangles (from left to right). Figure 4 9: Subdivision surface with semi-sharp creases (red = crease value 1.0).

60 47 There are two strategies for creating bounding interval triangles for surfaces with such semi-sharp creases. The first is to bound the basis functions corresponding to all different configurations of crease edges. This is similar to Bolz and Schröder [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 consistently in higher values than the other, say 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 4 9, 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 layer of nodes on the fly, i.e. by copying vertices or reflecting vertices, or if boundaries contract by one layer, 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 bounding interval triangle for a given subdivision patch goes to 0 under uniform subdivision. Proof. The thickness t i d ic where C = max i {max{b + 0 b 0, b+ 1 b 1, b+ 2 b 2 }. d i 0 under subdivision, therefore t 0.

61 CHAPTER 5 APPLICATION We now take a look at applications of the new bounding volume: interval triangles. 5.1 Collision Detection Using Interval Triangles Pairwise Interference Detection Since one interval triangle can have up to 19 facets, (see Figure 4 7 d), comparing all facets to detect interference is not an efficient approach. Instead, we reduce the task to a triangle-triangle intersection test by slightly enlarging the interval triangle to an offset triangle. The base triangle of the offset triangle is defined as ( x + x + 2, y + y + 2, z + z + ) (5.1) 2 restricted to n. The length of the half-diagonal of the ith corner cube is l i := ( x+ i x i 2 ) 2 + ( y+ i y i 2 ) 2 + ( z+ i z i 2 Therefore, if we run (the center of) a sphere with radius ) 2. ρ := max i=0,1,2 {l i} (5.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 triangle-triangle intersection test of the base triangles T 1, T 2 with an error bound set to the sum of the two radii, ρ 1, ρ 2 : dist(t 1, T 2 ) ρ 1 + ρ 2. 48

62 49 For the test, we adapt Möller s method [22]: if one triangle lies to one side of the plane containing the other triangle non-intersection is reported; otherwise the common line passing through the two triangles is examined and non-intersection reported if the intersection line intervals do not overlap. We need only change to ρ 1 + ρ 2 + ǫ the tolerance ǫ that Möller uses to stabilize the computation. This adds three additions to the approximately 100 operations of Möller s test Intersection Hierarchy Most intersection applications have an associated tolerance ǫ so that surfaces are considered disjoint if their distance is more than ǫ. To enforce the tolerance, we split each patch into four by local Loop subdivision, until the offset triangle has a radius ρ less than ǫ/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 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 triangle-based 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 1 3) such a mesh does not guarantee correct intersection testing but would nevertheless be accepted in many practical situations.

63 50 Figure 5 1: 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] 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 5 1. In the spirit of Klosowski et al. [15], we place always 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.

64 51 Table 5 1: Number of triangles needed for the given error bounds. ǫ 2% 1% 0.5% i-t Loop i-t Loop i-t Loop Venus Head Pawn Star Demon Quake Table 5 2: Intersection hierarchy (OBBtree) creation time in milliseconds. ǫ 2% 1% 0.5% i-t Loop i-t Loop i-t Loop Venus Head Pawn Star Demon Quake Results In the following tables, we label the new interval triangle-based method i-t 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 5 1 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 2%, 1%, respectively 0.5% of the object size. The offset trianglebased method requires fewer triangles in all cases, indicating that the tight bounds pay off. Table 5 2 lists the time used to build the OBB hierarchy. This includes the computation of all interval triangles in the case of the offset triangle-based method. Nevertheless, the offset triangle-based method requires less time in most cases. The average savings are 30%.

65 52 Table 5 3: Intersection cost in ms for different tolerances and room sizes. ǫ 2% 1% 0.5% i-t Loop i-t Loop i-t Loop Room size 6.0: 3 percent of the models collide Venus/Head Star/Pawn Demon/Quake Room size 3.0: 30 percent of models collide Venus/Head Star/Pawn Demon/Quake Table 5 3 lists the average intersection time for both approaches. For a room of size 6 3, offset triangles improve only marginally over the Loop method because most rejections occur in high level box-box tests of the OBB tree. However, for a room of size 3, more box-box tests are needed for Loop than for offset triangles. That is, the safe offset triangle-based test is cheaper than the unsafe control mesh-based 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 p α,β,γ := (x α, y β, z γ ), α, β, γ {, +}, computed in Section 4, for each mesh triangle two planes that tightly enclose the limit surface. Then, we shrink-wrap the individual planes around each node. The two planes are selected as follows. Compute the normal of the linear functions p α,β,γ. If the signs of the xyz-components of the normal agree with (α, β, γ) then the plane is the outer plane. If the signs agree with ( α, β, γ)

66 53 Figure 5 2: The limit surface, the outer hull and a superposition of the limit surface 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 5 2) [32] [27]. 5.3 Adaptive Subdivision For a given object, The density of the vertices varies from region to region. For example in Figure 1 2 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

67 54 Figure 5 3: 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 5 4: Ray-traced images at 800x600 resolution. Input mesh (671 triangles), ray-tracing time: 8s (left). Adaptive subdivision with e=0.2%. Resulting number of triangles = 9662 and maximum subdivision level: 4, ray-tracing time: 9s (middle). Uniformly subdivided 4 times. Resulting number of triangles = , ray-tracing 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 5 3 and Figure 5 4 shows the results of the adaptive subdivision and the ray-traced image of the subdivison surfaces [33].

Normals of subdivision surfaces and their control polyhedra

Normals of subdivision surfaces and their control polyhedra Computer Aided Geometric Design 24 (27 112 116 www.elsevier.com/locate/cagd Normals of subdivision surfaces and their control polyhedra I. Ginkel a,j.peters b,,g.umlauf a a University of Kaiserslautern,

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single

More information

Normals of subdivision surfaces and their control polyhedra

Normals of subdivision surfaces and their control polyhedra Normals of subdivision surfaces and their control polyhedra I. Ginkel, a, J. Peters b, and G. Umlauf a, a University of Kaiserslautern, Germany b University of Florida, Gainesville, FL, USA Abstract For

More information

Evaluation of Loop Subdivision Surfaces

Evaluation of Loop Subdivision Surfaces Evaluation of Loop Subdivision Surfaces Jos Stam Alias wavefront, Inc. 8 Third Ave, 8th Floor, Seattle, WA 980, U.S.A. jstam@aw.sgi.com Abstract This paper describes a technique to evaluate Loop subdivision

More information

On Smooth Bicubic Surfaces from Quad Meshes

On Smooth Bicubic Surfaces from Quad Meshes On Smooth Bicubic Surfaces from Quad Meshes Jianhua Fan and Jörg Peters Dept CISE, University of Florida Abstract. Determining the least m such that one m m bi-cubic macropatch per quadrilateral offers

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces 1 Geometric Modeling Sometimes need more than polygon meshes Smooth surfaces Traditional geometric modeling used NURBS Non uniform rational B-Spline Demo 2 Problems with NURBS A single

More information

Curve Corner Cutting

Curve Corner Cutting Subdivision ision Techniqueses Spring 2010 1 Curve Corner Cutting Take two points on different edges of a polygon and join them with a line segment. Then, use this line segment to replace all vertices

More information

Subdivision Curves and Surfaces

Subdivision Curves and Surfaces Subdivision Surfaces or How to Generate a Smooth Mesh?? Subdivision Curves and Surfaces Subdivision given polyline(2d)/mesh(3d) recursively modify & add vertices to achieve smooth curve/surface Each iteration

More information

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

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin. Technical Report UCAM-CL-TR-689 ISSN 1476-2986 Number 689 Computer Laboratory Removing polar rendering artifacts in subdivision surfaces Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin June 2007

More information

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

UNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati Subdivision Surfaces Surfaces Having arbitrary Topologies Tensor Product Surfaces Non Tensor Surfaces We can t find u-curves and v-curves in general surfaces General Subdivision Coarse mesh Subdivision

More information

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

More information

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes)

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes) Non-Uniform Recursive Doo-Sabin Surfaces Zhangjin Huang 1 Guoping Wang 2 1 University of Science and Technology of China 2 Peking University, China SIAM Conference on Geometric and Physical Modeling Doo-Sabin

More information

Subdivision Curves and Surfaces: An Introduction

Subdivision Curves and Surfaces: An Introduction Subdivision Curves and Surfaces: An Introduction Corner Cutting De Casteljau s and de Boor s algorithms all use corner-cutting procedures. Corner cutting can be local or non-local. A cut is local if it

More information

u 0+u 2 new boundary vertex

u 0+u 2 new boundary vertex Combined Subdivision Schemes for the design of surfaces satisfying boundary conditions Adi Levin School of Mathematical Sciences, Tel-Aviv University, Tel-Aviv 69978, Israel. Email:fadilev@math.tau.ac.ilg

More information

Smooth Patching of Refined Triangulations

Smooth Patching of Refined Triangulations Smooth Patching of Refined Triangulations Jörg Peters July, 200 Abstract This paper presents a simple algorithm for associating a smooth, low degree polynomial surface with triangulations whose extraordinary

More information

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces Using Semi-Regular 8 Meshes for Subdivision Surfaces Luiz Velho IMPA Instituto de Matemática Pura e Aplicada Abstract. Semi-regular 8 meshes are refinable triangulated quadrangulations. They provide a

More information

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

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 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 1. Divide and Conquer If we are going to build useful

More information

Interpolatory 3-Subdivision

Interpolatory 3-Subdivision EUROGRAPHICS 2000 / M. Gross and F.R.A. Hopgood (Guest Editors) Volume 19 (2000), Number 3 Interpolatory 3-Subdivision U. Labsik G. Greiner Computer Graphics Group University of Erlangen-Nuremberg Am Weichselgarten

More information

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

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018 CS354 Computer Graphics Surface Representation IV Qixing Huang March 7th 2018 Today s Topic Subdivision surfaces Implicit surface representation Subdivision Surfaces Building complex models We can extend

More information

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5 ecture 8: Knot Insertion Algorithms for B-Spline Curves and Surfaces and the crooked shall be made straight, and the rough ways shall be made smooth; uke 3:5. Motivation B-spline methods have several advantages

More information

Subdivision on Arbitrary Meshes: Algorithms and Theory

Subdivision on Arbitrary Meshes: Algorithms and Theory Subdivision on Arbitrary Meshes: Algorithms and Theory Denis Zorin New York University 719 Broadway, 12th floor, New York, USA E-mail: dzorin@mrl.nyu.edu Subdivision surfaces have become a standard geometric

More information

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches Charles Loop Microsoft Research Scott Schaefer Texas A&M University April 24, 2007 Technical Report MSR-TR-2007-44 Microsoft Research

More information

Robustness of Boolean operations on subdivision-surface models

Robustness of Boolean operations on subdivision-surface models Robustness of Boolean operations on subdivision-surface models Di Jiang 1, Neil Stewart 2 1 Université de Montréal, Dép t. Informatique CP6128, Succ. CentreVille, Montréal, H3C 3J7, Qc, Canada jiangdi@umontreal.ca

More information

2D Spline Curves. CS 4620 Lecture 13

2D Spline Curves. CS 4620 Lecture 13 2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners

More information

2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves. CS 4620 Lecture 18 2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,

More information

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016 Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each

More information

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

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link) Advanced Computer Graphics (Spring 03) CS 83, Lecture 7: Subdivision Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs83/sp3 Slides courtesy of Szymon Rusinkiewicz, James O Brien with material from Denis

More information

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

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November Surfaces for CAGD FSP Tutorial FSP-Seminar, Graz, November 2005 1 Tensor Product Surfaces Given: two curve schemes (Bézier curves or B splines): I: x(u) = m i=0 F i(u)b i, u [a, b], II: x(v) = n j=0 G

More information

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Local Modification of Subdivision Surfaces Based on Curved Mesh

Local Modification of Subdivision Surfaces Based on Curved Mesh Local Modification of Subdivision Surfaces Based on Curved Mesh Yoshimasa Tokuyama Tokyo Polytechnic University tokuyama@image.t-kougei.ac.jp Kouichi Konno Iwate University konno@cis.iwate-u.ac.jp Junji

More information

(Refer Slide Time: 00:02:24 min)

(Refer Slide Time: 00:02:24 min) CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject

More information

Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik. Matthias Zwicker. Herbst 2010 Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

More information

Non-Uniform Recursive Doo-Sabin Surfaces

Non-Uniform Recursive Doo-Sabin Surfaces Non-Uniform Recursive Doo-Sabin Surfaces Zhangjin Huang a,b,c,, Guoping Wang d,e a School of Computer Science and Technology, University of Science and Technology of China, PR China b Key Laboratory of

More information

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

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of

More information

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

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D From curves to surfaces Parametric surfaces and solid modeling CS 465 Lecture 12 2007 Doug James & Steve Marschner 1 So far have discussed spline curves in 2D it turns out that this already provides of

More information

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

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 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 generalizes the four-directional box spline of class

More information

Polar Embedded Catmull-Clark Subdivision Surface

Polar Embedded Catmull-Clark Subdivision Surface Polar Embedded Catmull-Clark Subdivision Surface Anonymous submission Abstract In this paper, a new subdivision scheme with Polar embedded Catmull-Clark mesh structure is presented. In this new subdivision

More information

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

Example: Loop Scheme. Example: Loop Scheme. What makes a good scheme? recursive application leads to a smooth surface. Example: Loop Scheme What makes a good scheme? recursive application leads to a smooth surface 200, Denis Zorin Example: Loop Scheme Refinement rule 200, Denis Zorin Example: Loop Scheme Two geometric

More information

G 2 Interpolation for Polar Surfaces

G 2 Interpolation for Polar Surfaces 1 G 2 Interpolation for Polar Surfaces Jianzhong Wang 1, Fuhua Cheng 2,3 1 University of Kentucky, jwangf@uky.edu 2 University of Kentucky, cheng@cs.uky.edu 3 National Tsinhua University ABSTRACT In this

More information

Subdivision overview

Subdivision overview Subdivision overview CS4620 Lecture 16 2018 Steve Marschner 1 Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners

More information

3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

More information

Pebble Sets in Convex Polygons

Pebble Sets in Convex Polygons 2 1 Pebble Sets in Convex Polygons Kevin Iga, Randall Maddox June 15, 2005 Abstract Lukács and András posed the problem of showing the existence of a set of n 2 points in the interior of a convex n-gon

More information

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

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013 3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

More information

Physically-Based Modeling and Animation. University of Missouri at Columbia

Physically-Based Modeling and Animation. University of Missouri at Columbia Overview of Geometric Modeling Overview 3D Shape Primitives: Points Vertices. Curves Lines, polylines, curves. Surfaces Triangle meshes, splines, subdivision surfaces, implicit surfaces, particles. Solids

More information

CLASSIFICATION OF SURFACES

CLASSIFICATION OF SURFACES CLASSIFICATION OF SURFACES JUSTIN HUANG Abstract. We will classify compact, connected surfaces into three classes: the sphere, the connected sum of tori, and the connected sum of projective planes. Contents

More information

ECE 600, Dr. Farag, Summer 09

ECE 600, Dr. Farag, Summer 09 ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that

More information

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics Curves and Surfaces. Matthias Teschner Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves

More information

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

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse? Homework 1: Questions/Comments? Subdivision Surfaces Questions on Homework? Last Time? What s an illegal edge collapse? Curves & Surfaces Continuity Definitions 2 3 C0, G1, C1, C 1 a b 4 Interpolation

More information

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

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo 9 - Designing Surfaces Triangular surfaces A surface can be discretized by a collection of points and triangles Each triangle is a subset of a plane Every point on the surface can be expressed as an affine

More information

Subdivision Surfaces. Homework 1: Questions/Comments?

Subdivision Surfaces. Homework 1: Questions/Comments? Subdivision Surfaces Homework 1: Questions/Comments? 1 Questions on Homework? What s an illegal edge collapse? 1 2 3 a b 4 7 To be legal, the ring of vertex neighbors must be unique (have no duplicates)!

More information

Finite curvature continuous polar patchworks

Finite curvature continuous polar patchworks Finite curvature continuous polar patchworks Kȩstutis Karčiauskas 0, Jörg Peters 1 0 Vilnius University, 1 University of Florida Abstract. We present an algorithm for completing a C 2 surface of up to

More information

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

Modified Catmull-Clark Methods for Modelling, Reparameterization and Grid Generation Modified Catmull-Clark Methods for Modelling, Reparameterization and Grid Generation Karl-Heinz Brakhage RWTH Aachen, 55 Aachen, Deutschland, Email: brakhage@igpm.rwth-aachen.de Abstract In this paper

More information

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

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations Subdivision Surface based One-Piece Representation Shuhua Lai Department of Computer Science, University of Kentucky Outline. Introduction. Parametrization of General CCSSs 3. One-Piece through Interpolation

More information

Ma/CS 6b Class 26: Art Galleries and Politicians

Ma/CS 6b Class 26: Art Galleries and Politicians Ma/CS 6b Class 26: Art Galleries and Politicians By Adam Sheffer The Art Gallery Problem Problem. We wish to place security cameras at a gallery, such that they cover it completely. Every camera can cover

More information

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS

GEOMETRIC TOOLS FOR COMPUTER GRAPHICS GEOMETRIC TOOLS FOR COMPUTER GRAPHICS PHILIP J. SCHNEIDER DAVID H. EBERLY MORGAN KAUFMANN PUBLISHERS A N I M P R I N T O F E L S E V I E R S C I E N C E A M S T E R D A M B O S T O N L O N D O N N E W

More information

Hierarchical Grid Conversion

Hierarchical Grid Conversion Hierarchical Grid Conversion Ali Mahdavi-Amiri, Erika Harrison, Faramarz Samavati Abstract Hierarchical grids appear in various applications in computer graphics such as subdivision and multiresolution

More information

Joe Warren, Scott Schaefer Rice University

Joe Warren, Scott Schaefer Rice University Joe Warren, Scott Schaefer Rice University Polygons are a ubiquitous modeling primitive in computer graphics. Their popularity is such that special purpose graphics hardware designed to render polygons

More information

Removing Polar Rendering Artifacts in Subdivision Surfaces

Removing Polar Rendering Artifacts in Subdivision Surfaces This is an electronic version of an article published in Journal of Graphics, GPU, and Game Tools, Volume 14, Issue 2 pp. 61-76, DOI: 10.1080/2151237X.2009.10129278. The Journal of Graphics, GPU, and Game

More information

Volume Enclosed by Example Subdivision Surfaces

Volume Enclosed by Example Subdivision Surfaces Volume Enclosed by Example Subdivision Surfaces by Jan Hakenberg - May 5th, this document is available at vixra.org and hakenberg.de Abstract Simple meshes such as the cube, tetrahedron, and tripod frequently

More information

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline

More information

Shape Modeling and Geometry Processing

Shape Modeling and Geometry Processing 252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2 Differential Geometry

More information

CS-184: Computer Graphics

CS-184: Computer Graphics CS-184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007-F-12-1.0 Today General curve and surface representations Splines and other polynomial

More information

Curves and Surfaces 2

Curves and Surfaces 2 Curves and Surfaces 2 Computer Graphics Lecture 17 Taku Komura Today More about Bezier and Bsplines de Casteljau s algorithm BSpline : General form de Boor s algorithm Knot insertion NURBS Subdivision

More information

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into

2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into 2D rendering takes a photo of the 2D scene with a virtual camera that selects an axis aligned rectangle from the scene. The photograph is placed into the viewport of the current application window. A pixel

More information

Treewidth and graph minors

Treewidth and graph minors Treewidth and graph minors Lectures 9 and 10, December 29, 2011, January 5, 2012 We shall touch upon the theory of Graph Minors by Robertson and Seymour. This theory gives a very general condition under

More information

Space Filling Curves and Hierarchical Basis. Klaus Speer

Space Filling Curves and Hierarchical Basis. Klaus Speer Space Filling Curves and Hierarchical Basis Klaus Speer Abstract Real world phenomena can be best described using differential equations. After linearisation we have to deal with huge linear systems of

More information

Pacific Journal of Mathematics

Pacific Journal of Mathematics Pacific Journal of Mathematics SIMPLIFYING TRIANGULATIONS OF S 3 Aleksandar Mijatović Volume 208 No. 2 February 2003 PACIFIC JOURNAL OF MATHEMATICS Vol. 208, No. 2, 2003 SIMPLIFYING TRIANGULATIONS OF S

More information

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions

Approximation of 3D-Parametric Functions by Bicubic B-spline Functions International Journal of Mathematical Modelling & Computations Vol. 02, No. 03, 2012, 211-220 Approximation of 3D-Parametric Functions by Bicubic B-spline Functions M. Amirfakhrian a, a Department of Mathematics,

More information

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

Subdivision Depth Computation for Extra-Ordinary Catmull-Clark Subdivision Surface Patches 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,

More information

Designing Subdivision Surfaces through Control Mesh Refinement

Designing Subdivision Surfaces through Control Mesh Refinement Designing Subdivision Surfaces through Control Mesh Refinement by Haroon S. Sheikh A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of

More information

γ 2 γ 3 γ 1 R 2 (b) a bounded Yin set (a) an unbounded Yin set

γ 2 γ 3 γ 1 R 2 (b) a bounded Yin set (a) an unbounded Yin set γ 1 γ 3 γ γ 3 γ γ 1 R (a) an unbounded Yin set (b) a bounded Yin set Fig..1: Jordan curve representation of a connected Yin set M R. A shaded region represents M and the dashed curves its boundary M that

More information

Optimized Refinable Enclosures of Multivariate Polynomial Pieces

Optimized Refinable Enclosures of Multivariate Polynomial Pieces Optimized Refinable Enclosures of Multivariate Polynomial Pieces David Lutterkort and örg Peters une 6 001 bstract n enclosure is a two-sided approximation of a uni- or multivariate function by a pair

More information

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017) Homework Assignment Sheet I (Due 20-Oct-2017) Assignment 1 Let n N and A be a finite set of cardinality n = A. By definition, a permutation of A is a bijective function from A to A. Prove that there exist

More information

The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards

The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards The Art Gallery Problem: An Overview and Extension to Chromatic Coloring and Mobile Guards Nicole Chesnokov May 16, 2018 Contents 1 Introduction 2 2 The Art Gallery Problem 3 2.1 Proof..................................

More information

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

Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces Shuhua Lai and Fuhua (Frank) Cheng (University of Kentucky) Graphics & Geometric Modeling Lab, Department of Computer Science,

More information

An Efficient Data Structure for Representing Trilateral/Quadrilateral Subdivision Surfaces

An Efficient Data Structure for Representing Trilateral/Quadrilateral Subdivision Surfaces BULGARIAN ACADEMY OF SCIENCES CYBERNETICS AND INFORMATION TECHNOLOGIES Volume 3, No 3 Sofia 203 Print ISSN: 3-9702; Online ISSN: 34-408 DOI: 0.2478/cait-203-0023 An Efficient Data Structure for Representing

More information

On a nested refinement of anisotropic tetrahedral grids under Hessian metrics

On a nested refinement of anisotropic tetrahedral grids under Hessian metrics On a nested refinement of anisotropic tetrahedral grids under Hessian metrics Shangyou Zhang Abstract Anisotropic grids, having drastically different grid sizes in different directions, are efficient and

More information

Rigidity, connectivity and graph decompositions

Rigidity, connectivity and graph decompositions First Prev Next Last Rigidity, connectivity and graph decompositions Brigitte Servatius Herman Servatius Worcester Polytechnic Institute Page 1 of 100 First Prev Next Last Page 2 of 100 We say that a framework

More information

MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces

MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces MA 323 Geometric Modelling Course Notes: Day 28 Data Fitting to Surfaces David L. Finn Today, we want to exam interpolation and data fitting problems for surface patches. Our general method is the same,

More information

REAL-TIME SMOOTH SURFACE CONSTRUCTION ON THE GRAPHICS PROCESSING UNIT

REAL-TIME SMOOTH SURFACE CONSTRUCTION ON THE GRAPHICS PROCESSING UNIT REAL-TIME SMOOTH SURFACE CONSTRUCTION ON THE GRAPHICS PROCESSING UNIT By TIANYUN NI A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS

More information

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

Advanced Graphics. Subdivision Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd Advanced Graphics Subdivision Surfaces Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd NURBS patches aren t the greatest NURBS patches are nxm, forming

More information

MA651 Topology. Lecture 4. Topological spaces 2

MA651 Topology. Lecture 4. Topological spaces 2 MA651 Topology. Lecture 4. Topological spaces 2 This text is based on the following books: Linear Algebra and Analysis by Marc Zamansky Topology by James Dugundgji Fundamental concepts of topology by Peter

More information

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Preferred directions for resolving the non-uniqueness of Delaunay triangulations Preferred directions for resolving the non-uniqueness of Delaunay triangulations Christopher Dyken and Michael S. Floater Abstract: This note proposes a simple rule to determine a unique triangulation

More information

BS-Patch: Constrained Bezier Parametric Patch

BS-Patch: Constrained Bezier Parametric Patch BS-Patch: Constrained Bezier Parametric Patch VACLAV SKALA, VIT ONDRACKA Department of Computer Science and Engineering University of West Bohemia Univerzitni 8, CZ 06 14 Plzen CZECH REPUBLIC skala@kiv.zcu.cz

More information

Freeform Curves on Spheres of Arbitrary Dimension

Freeform Curves on Spheres of Arbitrary Dimension Freeform Curves on Spheres of Arbitrary Dimension Scott Schaefer and Ron Goldman Rice University 6100 Main St. Houston, TX 77005 sschaefe@rice.edu and rng@rice.edu Abstract Recursive evaluation procedures

More information

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality Planar Graphs In the first half of this book, we consider mostly planar graphs and their geometric representations, mostly in the plane. We start with a survey of basic results on planar graphs. This chapter

More information

Curves, Surfaces and Recursive Subdivision

Curves, Surfaces and Recursive Subdivision Department of Computer Sciences Graphics Fall 25 (Lecture ) Curves, Surfaces and Recursive Subdivision Conics: Curves and Quadrics: Surfaces Implicit form arametric form Rational Bézier Forms Recursive

More information

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

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches Homework 1: Questions/Comments? Subdivision Surfaces Last Time? Curves & Surfaces Continuity Definitions Spline Surfaces / Patches Tensor Product Bilinear Patches Bezier Patches Trimming Curves C0, G1,

More information

VALLIAMMAI ENGINEERING COLLEGE

VALLIAMMAI ENGINEERING COLLEGE VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur 603 203 DEPARTMENT OF MECHANICAL ENGINEERING QUESTION BANK M.E: CAD/CAM I SEMESTER ED5151 COMPUTER APPLICATIONS IN DESIGN Regulation 2017 Academic

More information

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3

A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3 A TESSELLATION FOR ALGEBRAIC SURFACES IN CP 3 ANDREW J. HANSON AND JI-PING SHA In this paper we present a systematic and explicit algorithm for tessellating the algebraic surfaces (real 4-manifolds) F

More information

Subdivision surfaces for CAD: integration through parameterization and local correction

Subdivision surfaces for CAD: integration through parameterization and local correction Workshop: New trends in subdivision and related applications September 4 7, 212 Department of Mathematics and Applications, University of Milano-Bicocca, Italy Subdivision surfaces for CAD: integration

More information

B-spline Curves. Smoother than other curve forms

B-spline Curves. Smoother than other curve forms Curves and Surfaces B-spline Curves These curves are approximating rather than interpolating curves. The curves come close to, but may not actually pass through, the control points. Usually used as multiple,

More information

Connected Components of Underlying Graphs of Halving Lines

Connected Components of Underlying Graphs of Halving Lines arxiv:1304.5658v1 [math.co] 20 Apr 2013 Connected Components of Underlying Graphs of Halving Lines Tanya Khovanova MIT November 5, 2018 Abstract Dai Yang MIT In this paper we discuss the connected components

More information

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

Exact Evaluation Of Catmull-Clark Subdivision Surfaces At Arbitrary Parameter Values Exact Evaluation Of Catmull-Clark Subdivision Surfaces At Arbitrary Parameter Values Jos Stam Alias wavefront Inc Abstract In this paper we disprove the belief widespread within the computer graphics community

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces CS 4620 Lecture 31 Cornell CS4620 Fall 2015 1 Administration A5 due on Friday Dreamworks visiting Thu/Fri Rest of class Surfaces, Animation, Rendering w/ prior instructor Steve Marschner

More information

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

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li. Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve

More information

Pairs of Bi-Cubic Surface Constructions Supporting Polar Connectivity

Pairs of Bi-Cubic Surface Constructions Supporting Polar Connectivity Pairs of Bi-Cubic Surface Constructions Supporting Polar Connectivity Ashish Myles a, Kestutis Karčiauskas b Jörg Peters a a Department of CISE, University of Florida b Department of Mathematics and Informatics,

More information

Adaptive and Smooth Surface Construction by Triangular A-Patches

Adaptive and Smooth Surface Construction by Triangular A-Patches Adaptive and Smooth Surface Construction by Triangular A-Patches Guoliang Xu Institute of Computational Mathematics and Scientific/Engineering Computing, Chinese Academy of Sciences, Beijing, China Abstract

More information

Parameterization. Michael S. Floater. November 10, 2011

Parameterization. Michael S. Floater. November 10, 2011 Parameterization Michael S. Floater November 10, 2011 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to generate from point

More information