Subdivision on Arbitrary Meshes: Algorithms and Theory

Size: px
Start display at page:

Download "Subdivision on Arbitrary Meshes: Algorithms and Theory"

Transcription

1 Subdivision on Arbitrary Meshes: Algorithms and Theory Denis Zorin New York University 719 Broadway, 12th floor, New York, USA Subdivision surfaces have become a standard geometric modeling tool for a variety of applications. This survey is an introduction to subdivision algorithms for arbitrary meshes and related mathematical theory; we review the most important subdivision schemes the theory of smoothness of subidivision surfaces, and known facts about approximation properties of subdivision bases. 1 Introduction This survey is based on a series of lectures presented at the IMS-IDR-CWAIP Joint Workshop on Data Representation at the National University of Singapore in August Our primary goal is to present a brief introduction to the algorithms and theory related to subdivision surfaces from basic facts about subdivision to more recent research developments. This tutorial is intended for a broad audience of computer scientists and mathematicians. While not being comprehensive by any measure, it aims to provide an overview of what the author considers the most important aspects of subdivision algorithms and theory as well as provide references for further study. A large variety of algorithms and a comprehensive theory exist for subdivision schemes on regular grids, which are only briefly mentioned in this survey. Subdivision on regular grids, being closely related to wavelet constructions, has an important applied role in many applications. However, ability to handle arbitrary control meshes was one of the primary reasons for the rapid increase in popularity of subdivision for computer graphics and geometric modeling applications during the last decade. This motivates our focus on schemes designed for such meshes. We start with a brief survey of applications of subdivision in computer graph- 1

2 2 D. Zorin ics and geometric modeling in Section 1. In Section 2, we introduce the basic concepts for both curve and surface subdivision. In the third section we review different types of subdivision rules focusing on the most commonly used in practice (Loop and Catmull-Clark subdivision). In contrast to the regular case, fewer general theoretical results and tools are available for subdivision schemes on arbitrary meshes; in many aspects the theory is somewhat behind the practice. The most important theoretical results on smoothness and approximation properties of subdivision surfaces are reviewed in Sections 5 and 6. Sections 2 5 are partially based on the notes for the SIGGRAPH course Subdivision for Modeling and Animation co-taught by the author in There is a number of excellent books and review articles on subdivision which the author highly recommends for further reading: the monograph of Cavaretta et al. [12] on subdivision on regular grids, survey articles by Dyn and Levin [19,20], the book by Warren and Weiner [82], the articles by Sabin[69,68] and Schröder [72,73]. 1.1 Subdivision in Computer Graphics and Geometric Modeling The idea of constructing smooth surfaces from arbitrary meshes using recursive refinement was introduced in papers by Catmull and Clark [11] and Doo and Sabin [18] in These papers built on subdivision algorithms for regular control meshes, found in the spline literature, which can be traced back to late 40s when G. de Rham used corner cutting to describe smooth curves. Wide adoption of subdivision techniques in computer graphics applications occurred in the mid-nineties: with an increase in complexity of the models, the need to extend traditional NURBS-based tools bacame apparent. Constructing surfaces through subdivision elegantly addresses many issues with which computer graphics and computer-aided design practitioners are confronted. Most importantly, the need to handle control meshes of arbitrary topology, while maintaining surface smoothness and visual quality automatically. Subdivision surfaces easily admit multiresolution extensions, thus enabling efficient hierarchical representations of complex surfaces. At the same time, most popular subdivision schemes extend splines (and produce piecewise-polynomial surfaces for regular control meshes), thus maintaining continuity with previously used representations and inheriting some of the appealing qualities of splines. Another important advantage of subdivision surfaces is that simple local modifications of subdivision rules make it possible to introduce surface features of many different types [26,9]. Finally, subdivision surfaces can be extended to hierarchical repre-

3 Subdivision on Arbitrary Meshes: Algorithms and Theory 3 sentations either of wavelet [48], pyramid type [93], or related displaced subdivision surfaces [39]. Over the past few years, a number of crucial geometric algorithms were developed for subdivision surfaces and subdivision-based multiresolution representations. One of the important steps that enabled many practical applications was development of direct evaluation methods [76], that made it possible to evaluate, in constant time, recursively defined subdivision surfaces at arbitrary points. Algorithms were developed for trimming [44], performing boolean operations [8], filleting and blending [85,57], fitting [35], computing surface volumes [60], lofting [54,55,56,70] and other operations. Subdivision surfaces were demonstrated to be a useful too for complex interactive surface editing [37,93,10,31]. Subdivision surfaces became a mature technology, used in a variety of applications. Examples of applications include representing and registering complex range scan data [2], face modeling [75,45] and three dimensional extensions of subdivision used in large-scale visualization [42,4]. As subdivision algorithms can be used to define bases on arbitrary mesh domains, they are a natural candidate for higher-order finite element calculations for engineering applications, shell problems in particular. First steps in this direction were made in [13,14]. Natural refinement structure of subdivision surfaces leads to adaptive hierarchal finite element constructions [36]. Subdivision-based mesh generation for FEM is explored in [40,41]. 2 Basics In this section we introduce the basic concepts of subdivision needed to define various subdivision schemes considered in Section Subdivision curves The goal of this section is to introduce the basic concepts using subdivision curves as an example. The apparatus of subdivision matrices we introduce is not essential for curves, as the same formulas can be obtained by other means; however, it is indispensable for subdivision surfaces. Subdivision algorithm. We can summarize the basic idea of subdivision as follows: subdivision defines a smooth curve or surface as the limit of of successive refinements of an initial sequence of control points. In this section, to simplify exposition, we only consider curves defined by infinite sequences of control points indexed by integers and only one type of refinement: a new control point is added to the sequence between two old control

4 4 D. Zorin points and the positions of old points are recomputed (Figure 1). Fig. 1. Subdivision steps for a cubic spline. The numbering for the refined sequence is chosen so that the point i in the original sequence has even number 2i in the new sequence. We use notation p j for the sequence of control points after j subdivision steps. The most general definition of a linear subdivision rule is that it is a collection of linear maps S j, mapping p j to p j+1. In this survey we consider subdivision rules which satisfy two additional requirements: the rules are stationary and have finite support. More formally, for the type of one-dimensional refinement described above, stationary subdivision rules can be specified by two sequences of coefficients {a e i, i Z} and {ao i i Z} which are usually referred to as even and odd masks. For a given sequence of control points p = (p i R n, i Z), a single subdivision step produces a new refined sequence p of control points p i, defined by p 2i = j Z a e i jp j p 2i+1 = (2.1) a o i jp j j Z For our choice of numbering, the even-numbered points correspond to the repositioned original control points, and odd-numbered points are the newly added points. For stationary subdivision, the linear map from p j to p j+1 does not depend on the level, i.e. there is a single linear operator S, such that p j+1 = Sp j. The rules have finite support if only a finite number of coefficients a o i and ae i are nonzero. The set of indices for which the mask coefficients are not zero is called mask support. The most common subdivision scheme for uniform cubic B-splines has masks with nonzero entries (1/8, 3/4, 1/8) with indices ( 1, 0, 1) and (1/2, 1/2) with indices ( 1, 0), for even and odd control points respectively (Figure 1). We can view the initial control points p 0 as values assigned to integer points in R. It is natural to assign control points p 1 to half-integers, and in general control

5 Subdivision on Arbitrary Meshes: Algorithms and Theory 5 points p j to points of the form i/2 j in R. For each subdivision level j we then have a unique piecewise linear function L[p j ], defined on R which interpolates the control points p j : L(i/2 j ) = p j i. We say that the subdivision scheme converges if for any initial control points p 0, the associated sequence of piecewise linear functions L[p (j) ] converges pointwise. In particular, for the cubic spline masks defined above, the limit curve is a cubic polynomial on each integer interval [i, i + 1]. The reason for this is that this set of masks is derived from the well-known refinement relation for uniform cubic B-splines: B(t) = 1 (B(2t 2) + 4B(2t 1) + 6B(2t) + 4B(2t + 1) + B(2t + 2)). 8 (2.2) A cubic spline curve has the form i Z p ib(t i); applying the refinement relation (2.2) to B(t i) and collecting the terms, we obtain p i B(t i) = p ib(2t i) i Z i Z with p 2i = (1/8)(p i 1 + 6p i + p i+1 ) and p 2i+1 = (1/2)(p i + p i+1 ), i.e. with p i defined by the subdivision rules stated above. We conclude that sequences p i and p i define the same spline curve. However, the refined control points p i correspond to scaled basis functions B(2t) with smaller support and are spaced closer to each other. As we refine, we get control points for the same cubic curve f(t) but split into shorter polynomial segments. One can show the piecewise linear functions, connecting the control points, converge to f(t) pointwise. While spline subdivision is a starting point for many subdivision constructions, deriving subdivision masks from spline refinement is not essential for obtaining convergent schemes or schemes producing smooth curves or surfaces. For example, one can replace the (1/8, 3/4, 1/8) rule by three perturbed coefficients 1/8 w, 3/4 + 2w, 1/8 w), and still maintain convergence and tangent continuity of limit curves for sufficiently small w. However, the limit curves for the modified rules in general cannot be expressed in closed form. Modified coefficients are usually chosen to meet a set of requirements necessary for desirable scheme behavior. The most basic requirement is Affine invariance. If the points of sequence q are obtained by applying an affine transformation T to points of p, then [Sq] i = T [Sp] i, i Z. By considering translations by t, q i = p i + t, and substituting into the subdivision rules 2.1, we immediately obtain that the coefficients of masks should sum

6 6 D. Zorin up to one: a e i = 1, i Z a o i = 1. In other words, the subdivision operator S should have a eigenvector with constant components p i = 1, for all i, and eigenvalue 1. It can also be shown this is necessary (but not sufficient) condition for convergence. Subdivision matrices. As we have seen above, a subdivision step can be represented by a linear operator acting on sequences. It is often useful to consider local subdivision matrices of finite dimension. Such matrices have an important role, both in practice and in theory, as they can be used for limit control point positions and tangent vectors and analysis of convergence and continuity. These local matrices are restrictions of the infinite subdivision matrices to invariant neighborhoods of points. Fix an integer i; then the invariant neighborhood N m of size m for i is the set of indices {i m,... i+m}, such that the control points p 1 j, j = 2i m... 2i+m, can be computed using only points p 0 i, for i N m. The minimal size of the invariant neighborhood depends only on the support of the masks. For example, the minimal size m for the cubic B-spline subdivision rules is 1 because one can compute points p 1 2i 1, p1 2i and p1 2i+1 given points p0 i 1, p0 i and p0 i+1. We often need to consider invariant neighborhoods of larger size, such that the control points in the neighborhood define the curve completely on some interval containing the point of interest. For cubic splines, a curve segment, corresponding to an integer interval [i, i + 1], requires four control points. To obtain a part of the curve, containing i in the interior of its domain, we need to consider both [i 1, i] and [i, i + 1] for a total of five points, which correspond to the neighborhood of size 2. The subdivision rules for computing five control points, centered at i, on level j + 1 from five control points, centered at i on level j can be written as p j+1 2i 2 p j+1 2i 1 p j+1 2i p j+1 2i+1 p j+1 2i+2 i Z = p j i 2 p j i 1 p j i p j i+1 p j i+2. The 5 by 5 matrix in this expression is the subdivision matrix. If the same subdivision rules are used everywhere, this matrix does not depend on the choice of i.

7 Subdivision on Arbitrary Meshes: Algorithms and Theory Fig. 2. In the case of cubic B-spline subdivision, the invariant neighborhood is of size 2. It takes 5 control points at the coarsest level to determine the behavior of the subdivision limit curve over the two segments adjacent to the origin. At each level, we need one more control point on the outside of the interval t [ 1, 1] in order to continue on to the next subdivision level. 3 initial control points for example would not be enough. The eigenvalues and eigenvectors of the subdivision matrix allow one to analyze how the control points in the invariant neighborhoods change from level to level. Suppose an n n subdivision matrix is non-defective, i.e. has n independent eigenvectors x i, i = 0,... n 1. Then, any vector of initial control points p can be written as a linear combination of eigenvectors of the matrix: p = n i=0 a ix i. The coefficients a i can be computed using eigenvectors as a i = (l i p), using the dual basis of left eigenvectors l i, i = 0... n 1, satisfying (x i l k ) = δ ik. In this form, the result of applying the subdivision matrix j times, i.e. the control points on j-th subdivision level in the invariant neighborhood, can be written as S j p = n λ j a i x i (2.3) i=0 where λ i, i = 0... n 1, are the eigenvalues. Limit positions. One can immediately observe that for convergence it is necessary that all eigenvalues of the matrix have magnitudes no greater than one. Furthermore, one can easily show that if there is more than one eigenvalue of magnitude one, the scheme does not converge either. At the same time, λ 0 = 1 is

8 8 D. Zorin an eigenvalue corresponding to eigenvector [1, 1,... 1]. The reason is that multiplying S by this eigenvector is equivalent to summing up the entries in each row, and by affine invariance, these entries sum up to one. Next, we observe that for i 1, λ i < 1, all terms excluding the first on the right-hand side of (2.3) vanish, leaving only the term a 0 x 0 = [a 0, a 0,... a 0 ]. This means that in the limit, all points in the invariant neighborhood approach a 0, i.e. a 0 is the value of the limit subdivision curve at the center of the invariant neighborhood. Tangent vectors. If we further assume that λ 1 > λ 2 and λ 2 is real and positive, consideration of the first two dominant terms in (2.3) makes it possible to compute the tangent to the curve under some additional conditions on the subdivision scheme, which will be considered in Section 5 for surfaces. Consider the vector of differences S j p a 0 x 0 between all points in the invariant neighborhood at level j and the center of the invariant neighborhood. if we scale this vector by 1/λ 1, it converges to a 1 x 1 = [a 1 x 1 1, a 1 x 2 1,... a 1 x n 1 ], i.e. all limit difference vectors are collinear and parallel to a 1. This suggests (but does not guarantee without additional assumptions, which hold for most common schemes) that a 1 = (l 1 p) is a tangent vector to the curve. The observations above show the left eigenvectors, corresponding to the eigenvalue 1 and the second largest eigenvalue λ 1, play a special role, defining the limit positions and tangents for a subdivision curve. Example. The eigenvalues and eignevectors of the subdivision matrix for cubic splines are ( (λ 0, λ 1, λ 2, λ 3, λ 4 ) = 1, 1 2, 1 4, 1 8, 1 ) (x 0, x 1, x 2, x 3, x 4 ) = The left eigenvectors of eigenvalue 1 and subdominant eigenvalue 1/2 are [0, 1/6, 2/3, 1/6, 0] and [0, 1, 0, 1, 0], which yield the formulas for the curve point and tangent a 0 = 1 6 (p i 1 + 4p i + p i+1 ); a 1 = p i+1 p i 1,

9 Subdivision on Arbitrary Meshes: Algorithms and Theory 9 which coincide with the formulas obtained by direct evaluation of cubic B-spline curves. 2.2 Subdivision surfaces Most of the concepts we have introduced for subdivision curves can be extended to surfaces, but significant differences exist. While the control points for a curve have a natural ordering, this is no longer true for arbitrary meshes. Furthermore, for an arbitrary mesh, local mesh structure may vary: e.g. a vertex can share an edge with an arbitrary number of neighbors, rather than only one or two, as is the case for a curve and the polygonal faces of the mesh which may have different numbers of sides. A finer mesh can be obtained from a given coarser mesh in many different ways. Thus, in the case of subdivision for meshes, one needs to define refinement rules, which specify how the connectivity of the mesh is changed when it is refined, and geometric rules, which specify the way the control point positions are computed for the refined mesh. Another important difference is that while the curves can always be considered to be functions on a domain in R, there is no simple natural domain for surfaces. To be able to define subdivision surfaces as a limit of refinement, we need to construct a suitable domain out of the control mesh of the surface. We start with a specific example, the Loop subdivision scheme, to motivate the formal constructions we need to introduce. Refinement of triangular manifold meshes. This scheme uses triangular manifold control meshes. Such control mesh consists of a complex K, which is a triple (V, E, F ) of sets of vertices, edges and faces, and control points p 0, associated with each vertex in V. We use notation p j (v) for a control point at refinement level j associated with vertex v. The sets of vertices, edges and faces satisfy the following constraints: each edge is a pair of distinct vertices; each face is a set of three distinct vertices; each pair of vertices of a face is an edge; the intersection of two faces is either empty or an edge; each edge belongs to exactly two faces; the link of a vertex v (the set of edges of all faces containing v, excluding the edges that contain v themselves) can be ordered cyclically such that each two sequential edges share a vertex. Two complexes are isomorphic if between their vertices there is a one-to-one map, which maps faces to faces and edges to edges.

10 10 D. Zorin Similarly to the curve case, we define neighborhoods on meshes. A 1- neighborhood N 1 (v, K) of a vertex v is a set of faces, consisting of all triangles, containing v. A 1-neighborhood N 1 (G, K) of a set of faces G consists of all triangles of 1-neighborhoods of the vertices of G. An m-neighborhood N m (v, K) is defined recursively as 1-neighborhood of m 1 neighborhood. The most common refinement rule for such meshes is face quadrisection. The new mesh is formed as follows: all old vertices are retained; a new vertex is added for each edge, splitting it into two; each edge is replaced by two new edges and each face by four new faces. One can easily see that all new vertices inserted using this refinement rule have valence 6, and only the vertices of the original mesh may have a different valence. The vertices of valence 6 are called regular, and the vertices of other valences are called extraordinary. The Loop subdivision scheme. To define how the control points are computed, we need to specify rules for updating the positions of existing control points and for computing newly inserted control points. 1/8 β β 3/8 3/8 1{kβ β 1/8 Fig. 3. Loop subdivision masks for new control points and updated positions of old control points. Vertices, for which control points are computed, are marked with circles. These rules for the Loop subdivision scheme are shown in Figure 3. The rule for a vertex, inserted on an edge e, uses the control points for two triangles sharing e: p j+1 (w) = 3 8 pj (v 1 ) pj (v 2 ) pj (v 3 ) pj (v 4 ), where v 1, v 2 are edge endpoints, and v 3 and v 4 are the two remaining vertices of triangles sharing e. The rule for updating positions of existing vertices is actually a parametric

11 Subdivision on Arbitrary Meshes: Algorithms and Theory 11 family of rules, with coefficients depending on the valence k of the vertex. p j+1 (v) = (1 kβ) + β v i N 1(v) p j (v) where β can be taken to be 3/8k, for k > 3, and β = 1/16 for k = 3 (this is the simplest choice of β different choices of β are possible). If the mesh is fully regular, i.e. all vertices have valence 6, these rules reduce to the subdivision rules for quartic box splines and can be derived from scaling relations similar to (2.2). We note that these rules only depend on the local structure of the mesh, using only points within a fixed-size neighborhood of the point being computed: if we measure the neighborhood size in the refined mesh, both types of rules use level j control points, corresponding to vertices within the 2-neighborhood at level j + 1; this is the analog of finite support in the curve case. Furthermore, we observe that the rules depend only on the mesh structure of the 1-neighborhood of the vertex (specifically, the number of adjacent vertices), not on the subdivision level, or vertex numbering. This is the analog of being stationary in the curve case. We will give a more precise definition below. To reason about convergence of this scheme, we also need to define the piecewise linear interpolants similar to L[p j ], defined for curves. Unfortunately, there is no natural way to map the vertices of an arbitrary mesh to points in the plane or some other standard domain, so one cannot use a similar simple construction. For mesh subdivision to be able to define the limit surfaces rigorously, we need to construct special domains for each complex; subdivision surfaces are defined as functions on these domains. Domains for subdivision surfaces. The simplest construction of the domain for the subdivision surface requires an additional assumption. For triangular meshes, the control points p 0 in R n can be used to define an geometric realization of a complex. Each face of K (i.e. a triple of vertices (u, v, w)) corresponds to the triangle in R n, defined by three control points (p 0 (u), p 0 (v), p 0 (w)). We additionally require that no two control points coincide, and for any two triangles in R n, corresponding to faces of K, their intersection is either a control point, a triangle edge, empty, or, informally, the initial control mesh has no self-intersections. With this additional assumption, one can use the initial mesh as the domain on which the linear interpolants of control points at different levels of refinement are defined. We denote this domain K 0. The initial control points p 0 are already associated with the points in the domain (the control points themselves). It remains to associate the control points on

12 12 D. Zorin finer levels with points on the initial mesh. This can be done recursively. Suppose a vertex w of the refined complex K j+1 is inserted on the edge connecting vertices u and v of K j. Suppose these vertices are already associated with points t(u) and t(v) on K 0, contained in the same triangle T of K 0. Then we associate w with the midpoint (1/2)(t(u) + t(v)), which, by convexity, is also contained in the same triangle T. It is easy to show that no two vertices can be assigned to the same point in the domain: the points obtained after j refinement steps form a regular grid on each triangle of K 0. Now we can define the piecewise linear interpolants, similar to the ones used for curves. Fix a refinement level j and a triangle T of K 0. The vertices of K j form a regular grid on T, with triangles corresponding to faces of K j. For points of K 0 inside each subtriangle (u, v, w) of T, we define L[p j ] to be the linear interpolant between p j (u), p j (v) and p j (w). In this way, we obtain a sequence of functions L[p j ] defined on K 0 ; the limit subdivision surface is a the pointwise limit of this sequence, if it exists. Thus the subdivision surface is defined as a function on K 0 with values in R n. Stationary subdivision in 2D. The Loop subdivision scheme is an example of a stationary subdivision scheme. More generally, for any complex K and its refinements K j, K 0 = K j, a linear subdivision scheme gives a sequence of linear operators S j (K), mapping control points for vertices V j to control points for vertices V j+1. This means that for a given vertex w of K j+1, p j+1 (w) = v V a vw p j (v) (2.4) We say that a scheme is finitely supported if there is an M, such that for any w and v N M (w, K j+1 ), a vw = 0. The support supp w of the mask of the scheme at w is the minimal subcomplex containing all vertices v of K j such that a vw 0. We say that the scheme is stationary or invariant, with respect to isomorphisms, if the coefficients a vw coincide for vertices, for which supports are isomorphic. More precisely, if there is an isomorphism ι : supp w 1 supp w 2, and ι(w 1 ) = w 2 then a ι(v)w2 = a vw1. The invariance can be also defined with respect to a restricted set of isomorphisms, e.g. if the mesh is tagged. Subdivision matrices in 2D. The definition of invariant neighborhoods and the construction of subdivision matrices for subdivision on meshes is completely analogous to the curve case. However, the size of the matrix is variable and depends on the number of points in the invariant neighborhood. Another difference is related to the fact that invariant neighborhoods may not exist for a finite number of initial subdivision levels, as the mesh structure changes with each refinement.

13 Subdivision on Arbitrary Meshes: Algorithms and Theory 13 For a given neighborhood size m, however, after a sufficient number of subdivision steps, each extraordinary vertex v is surrounded by sufficiently many layers of regular vertices, and m-neighborhoods of v on different subdivision levels are similar. For example, for the Loop scheme, the invariant neighborhood size is 2. For a vertex of valence k, it contains 3k + 1 vertices. The subdivision matrix has the following general form: 1 kβ a T a 10 A a 20 A 21 A 22 0 a 30 A 32 A 32 A 33, where all vectors a ij are of length k and have constant elements (a 01 = β1, a 02 = (3/8)1, a 02 = (1/8)1, a 03 = (1/16)1. The blocks A ij are cyclic k k, defined as follows, A 11 = 1 Cyclic(3, 1, 0,... 0, 1), 8 A 21 = 1 8 Cyclic(3, 3, ), A 22 = 1 Cyclic(1, 0,... 0), 8 A 31 = 1 16 Cyclic(10, 1, 0,... 0, 1), A 32 = 1 Cyclic(1, 0,... 0, 1), 16 A 33 = 1 Cyclic(1, 0,... 0). 16 Limit positions and tangent vectors in 2D. The computation of the limit positions for mesh subdivision scheme is the same as for curves: one needs to compute the dot product of the left eigenvector of eigenvalue 1 with the vector of control points in the invariant neighborhood. The computation of tangent vectors is slightly different. Instead of a unique tangent vector, a smooth subdivision surface has at least two nonuniquely defined independent tangent vectors spanning the tangent plane. In the case of surfaces, we further assume that the eigenvalues of the subdivision matrix satisfy 1 = λ 0 > λ 1 λ 2 > λ 3 and λ 1,2 are real. This is not necessary for tangent plane continuity, but this assumption commonly holds and greatly simplifies the exposition. In this case, again under some additional assumptions to be discussed in Section 5, one can compute the tangent vectors to the surface using right eigenvectors l 1 and l 2, corresponding to the eigenvalues λ 1 and λ 2. For the Loop scheme, the masks for limit positions and tangent vectors are

14 14 D. Zorin quite simple: both have supports in the 1-neighborhood of a vertex. The coefficients of the mask for the limit position, i.e. the entries of the left eigenvector l 0, have the same form as the vertex rule, with β replaced with β limit = 8β/(3 + 8kβ). The two tangent masks l 1 and l 2 can be chosen to be cos 2πj/k and sin 2πj/k for the vertices of 1-neighborhood distinct from the center indexed by j. The coefficient for the center itself is 0. This choice is not unique: for the Loop scheme and most other commonly used schemes, λ 1 = λ 2, and any linear combination c 1 l 1 + c 2 l 2 is also a left eigenvector. 3 Overview of Subdivision Schemes In this section we review a number of stationary subdivision schemes generating C 1 -continuous surfaces on arbitrary meshes. Our discussion is not exhaustive even for stationary schemes. We discuss two most common schemes (Loop and Catmull-Clark) and their variations in considerable detail, and briefly several examples of other types of schemes; more detailed information on other schemes can be found in provided references. 3.1 Classification of subdivision schemes Refinement rules. The variety of stationary subdivision schemes for surfaces is primarily due to the many possible ways to define refinement of complexes. Several classifications of refinement rules (e.g. [28,1,25]) were proposed; our discussion mostly follows [28]. Almost all refinement rules are extensions of refinement rules for periodic tilings of the plane. The principal reason is there is an extensive theory for analysis of subdivision on regular planar grids which can be used to analyze the surface, constructed from an arbitrary mesh everywhere excluding a set of isolated points. A single refinement step typically maps a tiling to a finer tiling, which is obtained by scaling and optionally rotating the original tiling; however, some schemes may alternate between different tiling types. All known schemes with one exception are based on refinements of regular monohedral tilings, for which all tiles are regular polygons. The 4-8 scheme [81,80], originally formulated using a tiling with right triangles, can be reformulated using regular quad tilings, i.e. it also fits into this category. There are only three regular tilings: triangular, quadrilateral and hexagonal. Hexagonal tilings are rarely used, and stationary schemes for such tilings were considered in detail only recently [15,86,58]. Once the tiling is fixed, there are still many ways to define how it is refined, even if we require that the refined tiling is of the same type. Dodgson [16] lists a

15 Subdivision on Arbitrary Meshes: Algorithms and Theory 15 set of heuristics that are typically used to limit the variety of possible refinement rules. Here we briefly review these heuristics and their motivation. 1 Refinement of regular tilings is used. While other tiling types, such as periodic (e.g. Laves or Archimedes tilings) or aperiodic (Penrose tilings) can be considered, all schemes proposed so far meet this requirement. 2/3 A refinement rule either maps all vertices of the original tiling to the vertices of the refined tiling, or it maps them to the face centers of the refined tiling. Again, it is possible to consider other types of rules, but all known schemes are in one of these categories. 4 If a point is a center of rotational symmetry of order k in the tiling (i.e. the rotations by 2πj/k around this vertex map the tiling to itself), then in the refined tiling, it should be a center of rotational symmetry of at least the same order. If this requirement is not satisfied, one can show that the result of refinement depends on the way the vertices of a tiling are enumerated. Given the first 3 heuristics, this heuristic excludes refinement rules, mapping triangle vertices to centers, and hexagon centers to vertices. 5 For some number s, s times refined tiling is aligned with the original tiling, i.e. is obtained by uniform scaling. This is also justified by symmetry considerations, although, as pointed out in [16] is not strictly necessary. However, all schemes satisfying heuristic 7 in the stronger form that we use also satisfy this heuristic. 6 Triangle and quadrilateral schemes are generally useful but hexahedral schemes are more limited in their applications. One reason is that hexahedral tiling does not contain any multiple-edge straight lines, which can be used for meshes with boundaries and features. 7 Low arity (the ratio of the edge length of the refined tiling to the original tiling) is preferable. According to [16] arities higher than four are not likely to be useful. All practical and most known schemes, with exception of three recently proposed schemes, have arity two or less. As schemes of high arities result in very rapid decrease in the edge length, which is often undesirable, it is likely that only schemes of arity two or less will be used in applications. These heuristics reduce the number of possible refinement rules to just six: four for quadrilateral tilings and two for triangle tilings (Figure 4). We note that classifications, based on considering various possible transformations of tilings, do not yield an immediate recipe for refinement purely in terms of mesh connectivity; generalization to arbitrary connectivity meshes is not automatic either. The remaining six refinement rules are uniquely identified by three parame-

16 16 D. Zorin TP, arity 2 QP, arity 2 QD, arity 2 TP, arity p 3 QP, arity p 2 QD, arity p 2 Fig. 4. Different refinement rules. ters: Tiling. The tile can be triangle or quadrilateral. Vertex mapping. Vertices are mapped to vertices (primal) or vertices are mapped to faces (dual). Dual triangle refinement are excluded by heuristics 4. Arity. For triangle tilings can be 2 or 3; for quad meshes can be 2 or 2. Each of the six refinement rules can be easily formulated in terms of mesh connectivity in such a way that the refinement can be applied to an arbitrary polygonal mesh. For ease of understanding, we provide a somewhat informal description. We only specify the set of new vertices and edges, with faces defined implicitly as loops of edges. For primal rules, old vertices are retained, and old edges are discarded. For dual rules, both old vertices and edges are discarded. For each rule, we list how many different types of geometric rules are necessary to construct a subdivision scheme for meshes without boundaries. To handle meshes with boundaries, additional special rules for boundary vertices are necessary. While triangle-based refinement rules can be applied to any mesh, known geometric rules for such schemes are only formulated for triangle meshes. Primal triangle rule (TP) of arity 2. This is the rule considered in Section 2: create new vertices for each old edge and split each old edge in two; for each

17 Subdivision on Arbitrary Meshes: Algorithms and Theory 17 old face onnect new vertices inserted on edges of this face sequentially. Two geometric rules are necessary: one to update control points for old vertices (vertex rule) and another to compute positions of new control points (edge rule). Primal triangle (TP) rule of arity 3. Create a new vertex for each face; connect old vertices with new vertices for each old face containing the old vertex; connect new vertices for adjacent old faces. Two similar geometric rules (vertex and edge) are needed. Primal quad rule (QP) of arity 2. Create new vertices for each old edge and face; split old edges in two; for each old face, connect corresponding new vertex with new vertices inserted on edges. Three geometric rules are necessary: one for old vertices (vertex rule), one for new vertices corresponding to edges (edge rule), and one for new vertices corresponding to faces (face rule). Primal quad rule (QP) of arity 2. Create a new vertex for each face; connect old vertices to new vertices for all adjacent faces. Two geometric rules are necessary, similar to the TP rules, the edge rule, and the face rule. Dual quad rule (QD) of arity 2. For every face, create new vertices for every corner of the face and connect them into a face; connect new vertices corresponding to the same old vertex from adjacent faces. Only one geometric rule is necessary. Dual quad rule (QD) of arity 2. Add a new vertex for each edge; for each face, connect new vertices on edges sequentially. Only one geometric rule is necessary. The general property of the triangle rules is that it does not increase the number of non-triangular faces in the mesh. The general property of the quad rules is that they do not increase the number of non-quadrilateral faces. Moreover, both primal quad rules and the 3 triangle rule make all faces of a mesh triangular after one refinement step. Classification. For each refinement rule type, there may be many different subdivision schemes depending on the choice of geometric rules. The geometric rules can be further classified by two characteristics: whether they are approximating or interpolating, and by their support size. Interpolating schemes do not alter the control points at vertices, inherited from the previous refinement level; approximating schemes do. The distinction between approximating and interpolating for schemes with arity no greater than two makes sense only for primal schemes. With this criteria in place, we can classify most known schemes; in most cases, only one scheme of a given type is known. The reason for this is that only schemes

18 18 D. Zorin with small support are practical, and additional symmetry considerations considerably reduce the number of degrees of freedom in coefficients. Maximizing smoothness of resulting surfaces on regular grids further restricts the choices, in most cases yielding a known parametric family of schemes. The table below lists all schemes known to fit into our classification. Refinement type Approximating Interpolating TP, arity 2 Loop [46,26,9,47,63] Butterfly [22,92] TP, arity 3 3,[34], composite 3 [58] interpolatory 3,[38] QP, arity 2 Catmull-Clark [11] iterated [91,77] Kobbelt [32] QP, arity [81,80] interpolating 2 [27] QD, arity 2 Doo-Sabin [17,18], iterated [91] QD, arity 2 Midedge [61,24] Polygonal meshes with boundaries. The minimal number of geometric rules, ranging from one to three, is sufficient if we require the rules to be invariant with respect to isomorphisms of mask supports and assume the meshes do not have boundaries. However, in practice it is not sufficient to consider only this class of meshes: in any practical application, the control mesh may have a boundary. Furthermore, the boundary may not be smooth everywhere: it may consist of several smooth pieces, jointed at corners. The definition of meshes with boundary is identical to the polygonal mesh definition in Section 2; the only differences are that an edge can be contained only in one face, and the link of a vertex is a chain of edges, with last vertex not connected to the first. While a boundary edge or vertex is identified unambiguously, corner vertices on the boundary require tags.it turns out that depending on the type of corner (convex or concave); different rules need to be used, so at least two different tags are needed. We have already seen that subdivision schemes defined on triangular meshes create new vertices only of valence 6 in the interior. On the boundary, the newly created vertices have valence 4. Similarly, on quadrilateral meshes both primal and dual schemes create only vertices of valence 4 in the interior and 3 on the boundary. Hence, after several subdivision steps, most vertices in a mesh will have one of these valences (6 in the interior, 4 on the boundary for triangular meshes, 4 in the interior, 3 on the boundary for quadrilateral). The vertices with these va-

19 Subdivision on Arbitrary Meshes: Algorithms and Theory 19 lences are called regular, and vertices of other valences are called extraordinary. Similarly, faces with 3 and 4 vertices are called regular for triangle and quadrilateral schemes respectively, and faces with a different number of vertices are called extraordinary. Next, we consider several examples of subdivision schemes. We start with a detailed description of two schemes that are used in most applications: Loop and Catmull-Clark, which use TP and QP refinement rules of arity 2. Then we consider examples of interpolating schemes (Butterfly), dual schemes (Doo-Sabin) and non-arity 2 schemes (Midedge and 4-8 subdivision). 3.2 Loop Scheme The Loop scheme for meshes without boundary was already described in Section 2. The scheme is based on the three-directional box spline, which produces C 2 -continuous surfaces on the regular meshes. The Loop scheme produces surfaces which are C 2 -continuous everywhere except at extraordinary vertices, where they are C 1 -continuous. C 1 -continuity of this scheme for valences up to 100, including the boundary case, was proved by Schweitzer [74]. The proof for all valences can be found in [89]. In addition to already defined rules for interior vertices, it remains to specify rules for vertices on or near the boundary. The rules we define here were proposed in [9]. A common requirement for rules for boundary vertices is that the control points on level j + 1 should only depend on boundary control points on level j. In the case of the Loop scheme, for compatibility with the regular case, we use the standard cubic spline rules, both for edge points and vertex points (Figure 5). If a vertex v is tagged as a corner vertex, a trivial interpolating rule is used: p j+1 (v) = p j (v). Adding these rules formally completes the definition of the scheme for all possible cases; unfortunately, this set of rules is insufficient to produce limit surfaces which are C 1 continuous at the extraordinary boundary vertices or surfaces with concave corners on the boundary. To achieve this, spatial edge rules are applied at edge points adjacent to extraordinary boundary vertices. For edge points, our algorithm consists of two stages, which, if desired, can be merged, but are conceptually easier to understand separately. The first stage is a single iteration over the mesh during which we apply the vertex rules and compute initial control points for vertices inserted on edges. All rules used at this stage are shown in Figures 3 and Figure 5. The mask support is the same, but the coefficients are modified. The change in coefficient ensures that the surface is C 1 for boundary vertices. However, the scheme still cannot produce

20 20 D. Zorin concave corners: The surface develops a flip at these vertices; the reason for this, informally, is that the invariant configuration defined by subdominant eigenvectors of subdivision matrix in this case does not have a concave corner; rather, it has a convex one. 1/8 1/8 3/4 1/8 1 3/8{ 1/8 smooth boundary boundary neighbor convex corner 1 vertex rules concave corner 1/2 1/2 boundary edge rules Fig. 5. The γ is given in terms of parameter θ k, defined differently for corner and boundary vertices: γ (θ k ) = 1/2 1/4 cos θ k For boundary vertices v not tagged as corners, we use θ k = π/k, where k is the number of polygons adjacent to v. For a vertex v tagged as a convex corner, we use θ k = α/k, where α < π, and for concave corner we choose α > π. The parameter α can be either fixed (e.g. π/2 for convex and 3π/2 for concave) or can be chosen depending on the angle between the vectors from p 0 (v) to adjacent boundary control points adjacent to v. To ensure the correct behavior at the concave corner vertices, an additional step flatness modification is required which is defined as follows. Flatness modification. To avoid the flip problem described above, one needs to ensure that the eigenvalues corresponding to a pair of correct eigenvectors, forming a concave corner, are subdominant. The following simple technique proposed in [9] achieves this. We introduce a flatness parameter s and modify the subdivision rule to scale all eigenvalues except λ 0 and λ = λ 1 = λ 2, correspond-

21 Subdivision on Arbitrary Meshes: Algorithms and Theory 21 ing to the desired eigenvectors, by factor 1 s. The vector of control points p after subdivision in a neighborhood of a point is modified as follows: p new = (1 s) p + s ( a 0 x 0 + a 1 x 1 + a 2 x 2), where, as before, a i = (l i p), and 0 s 1. Geometrically, the modified rule blends between control point positions before the flatness modification and certain points in the tangent plane, which are typically close to the projection of the original control point. The limit position a 0 of the center vertex remains unchanged. The flatness modification is always applied at concave corner vertices; the default values for the flatness parameter is s = 1 (1/4)/λ 3, where λ 3 = (1/4)(cos π/k) cos (θ k )) + 1/2 (the largest eigenvalue 1 of the subdivision matrix before the modification). The modification ensures that the surface is C 1 in this case. In other cases, s can be taken to be 0 by default. The formulas for limit positions and tangents for all possible cases can be found in [9]. 3.3 Catmull-Clark scheme The Catmull-Clark scheme [11] probably is the most widely used subdivision scheme. One of the reasons is it extends tensor-product bicubic B-spline surfaces, the most commonly used type of spline surfaces. This scheme uses the QP refinment rule with arity 2. It produces surfaces that are C 2 everywhere, except at extraordinary vertices, where they are C 1. The tangent plane continuity of the scheme was analyzed in [6], and C 1 -continuity in [62]. The masks are shown in Figure 6; for interior vertices, there are three types of masks: for new vertices inserted at edges and faces and for update of control points at old vertices. If k = 4, the masks reduce to subdivision masks for bicubic B-splines. Similar to the Loop scheme, cubic spline rules are applied at the boundary, and at the corner boundary vertices, the trivial interpolating rule is used. Again, just as is the case for the Loop scheme, the minimal set of rules results in surfaces which lack smoothness at extraordinary boundary vertices. A similar technique is used for Catmull-Clark, with parameter γ computed as γ (θ k ) = 3/8 1/4 cos θ k. The parameter θ k is defined exactly in the same way as for the Loop scheme.

22 22 D. Zorin β 2 /k 1/16 1/16 1/4 1/4 β 1 /k β 2 /k 3/8 3/8 1/16 1/16 interior edge 1/4 1/4 face β 1 /k 1{β 1 {β 2 β 2 /k β 1 /k interior vertex 1/8 3/4 1/8 smooth boundary 1 concave corner 1 convex corner 1/16 1/16 1/16 1/2 1/2 boundary edge 3/8{ 1/16 boundary neighbor edge Fig. 6. Catmull-Clark subdivision. Catmull and Clark suggest the following coefficients for rules at extraordinary vertices: β 1 = 3 2k and β 2 = 1 4k Finally, a similar extra step is used to ensure correct behaviour at concave corners: p new = (1 s) p + s ( a 0 x 0 + a 1 x 1 + a 2 x 2). The limit position and tangent vector coefficients are listed in [9]. The geometric rules of the Catmull-Clark scheme are defined above for meshes with quadrilateral faces. Arbitrary polygonal meshes can be reduced to a quadrilateral mesh using a more general form of Catmull-Clark rules [11]: a face control point for an n-gon is computed as the average of the corners of

23 Subdivision on Arbitrary Meshes: Algorithms and Theory 23 the polygon; an edge control point is the average of the endpoints of the edge and newly computed face control points of adjacent faces; the vertex rule can be chosen in different ways; the original formula is p j+1 (v) = k 2 k pj (v) + 1 k 1 k 2 p j (v i ) + 1 k 1 k 2 p j+1 (v f i ) i=0 where v i are the vertices adjacent to v on level j, and v f i level j + 1 corresponding to faces adjacent to v. i=0 are face vertices on 4 Modified Butterfly Scheme The Butterfly scheme was proposed in [22]. Although the original Butterfly scheme is defined for arbitrary triangular meshes, the limit surface is not C 1 - continuous at extraordinary points of valence k = 3 and k > 7 [89]. The scheme is C 1 on regular meshes. Unlike approximating schemes based on splines, this scheme does not produce piecewise polynomial surfaces in the limit. In [92] a modification of the Butterfly scheme was proposed, which guarantees that the scheme produces C 1 -continuous surfaces for arbitrary meshes as proved in [89]. The scheme is known to be C 1 but not C 2 on regular meshes. The masks for the the scheme are shown in Figure 7. {1/16 1/8 {1/16 s 2 s 1 1/2 1/2 s 0 {1/16 1/8 {1/16 s k{1 {1/16 9/16 9/16 {1/16 boundary regular interior extraordinary neighbor 1/16 {1/16 c 2 c 1 1/2 1/2 1/2 1/2 3/8 5/8 i c k c 0 {1/8 1/4 {1/8 {1/16 3/16 {1/8 boundary-boundary 2 boundary-boundary 1 boundary-interior extraordinary neighbor ` 1 2iπ + cos 4 k Fig. 7. Modified Butterfly subdivision. The coefficients s i are 1 k k > 5. For k = 3, s 0 = 5 12, s 1,2 = 1 12 ; for k = 4, s 0 = 3 8, s 2 = 1 8, s 1,3 = 0. 4iπ cos k for

24 24 D. Zorin The tangent vectors at extraordinary interior vertices can be computed using the same rules as for the Loop scheme. For regular vertices, the formulas are more complex: in this case, we have to use control points in a 2-neighborhood of a vertex. The masks are shown in Figure 8. Because the scheme is interpolating, no formulas are needed to compute the limit positions: all control points are on the surface. On the boundary, the four point subdivision scheme is used [21]. To achieve C 1 -continuity on the boundary, special coefficients have to be used. Boundary rules. The rules extending the Butterfly scheme to meshes with boundary are somewhat more complex, because the stencil of the Butterfly scheme is relatively large. A complete set of rules for a mesh with boundary (up to headtail permutations), includes 7 types of rules: regular interior, extraordinary interior, regular interior-boundary, regular boundary-boundary 1, regular boundaryboundary 2, boundary, and extraordinary boundary neighbor; see Figures 7. To put it all into a system, the main cases can be classified by the types of head and tail vertices of the edge on which we add a new vertex. The following table shows how the type of rule to be applied for computing a non-boundary vertex is determined from the valence of the adjacent vertices, and whether they are on the boundary or not. The only case when additional information is necessary, is when both neighbors are regular crease vertices. Head Tail Rule regular interior regular interior standard rule regular interior regular crease regular interior-crease regular crease regular crease regular crease-crease 1 or 2 extraordinary interior extraordinary interior average two extraordinary rules extraordinary interior extraordinary crease same extraordinary crease extraordinary crease same regular interior extraordinary interior interior extraordinary regular interior extraordinary crease crease extraordinary extraordinary interior regular crease interior extraordinary regular crease extraordinary crease crease extraordinary

25 Subdivision on Arbitrary Meshes: Algorithms and Theory 25-1/2 0 1/2 1/2-8/3 1/ / / / /3-1/2 0 1/2-1/2 8/3-1/2 Fig. 8. Tangent masks for regular vertices (Butterfly scheme). The extraordinary crease rule (Figure 7) uses coefficients c ij, j = 0... k, to compute the vertex number i in the ring, when counted from the boundary. Let θ k = π/k. The following formulas define c ij : c 0 = 1 1 k ( ) sin θk sin iθ k 1 cos θ k c i0 = c ik = 1 4 cos iθ k 1 ( ) sin 2θk sin 2θ k i 4k cos θ k cos 2θ k c ij = 1 (sin iθ k sin jθ k + 12 ) k sin 2iθ k sin 2jθ k 4.1 Doo-Sabin scheme The Doo-Sabin subdivision is quite simple conceptually: a single mask is sufficient to define the scheme. Special rules are required only for the boundaries, where the limit curve is a quadratic spline. It was observed by Doo that this can also be achieved by replicating the boundary edge, i.e., creating a quadrilateral with two coinciding pairs of vertices. Nasri [53] describes other ways of defining rules for boundaries. The rules for the Doo-Sabin scheme are shown in Figure 9. C 1 -continuity for schemes similar to the Doo-Sabin schemes was analyzed in [62]. 4.2 Midedge scheme and other non-integer arity schemes A scheme described in [61] is an arity 2 QD scheme; two steps of refinement of this type result in Doo-Sabin type scheme.

26 26 D. Zorin α 2 α 1 α 0 1/4 3/4 α k 1 Fig. 9. The Doo-Sabin subdivision. The coefficients are defined by the formulas α 0 = 1/4 + 5/4k and α i = (3 + 2 cos(2iπ/k))/4k, for i = 1... k 1 The rules for the simplest version of this scheme are very straightforward: the point inserted on an edge is the average of the endpoints. While the limit surface is smooth for this rule, the quality of the surface is not good for extraordinary faces; the rules can be modified to improve surface quality. An example of a QP scheme of arity 2 is the 4-8 scheme [81,80]. While originally defined in terms of 4-8 refinement, it can be easily reinterpreted in terms of regular quadrilateral grid refinement as shown in Figure 10. It should be noted that for quadrilateral schemes of non-integer arity; there appears to be no natural treatment for the boundaries: as each quad for the refined mesh has vertices from two quads sharing an edge, it is impossible to construct quads in the same way on the boundary. One needs to introduce special refinement rules on the boundary and corresponding special geometric rules. A set of such rules is described in [81]. The rules are quite complex (six different rules are needed), in contrast to the rules for interior vertices. On regular grids this scheme produces surfaces of high smoothness (C 4 ) despite its small support, but at extraordinary vertices, it is still only C 1. The first TP scheme of arity 3 was described in [34]; other schemes were considered in [58]. 4.3 Comparison We conclude our survey of subdivision schemes with some comparisons. For sufficiently smooth and fine control meshes, the results for most common schemes are indistinguishable visually. We use relatively simple meshes to demonstrate the differences in clear form; for most meshes used in applications, the differences are less apparent. In our comparison, we consider Loop, Catmull-Clark, Modified Butterfly and Doo-Sabin subdivision.

27 Subdivision on Arbitrary Meshes: Algorithms and Theory 27 1/2k 1/4 1/4 1/2k 1/4 1/4 face 1/2 1/2k interior vertex Fig. 10. The 4-8 subdivision scheme rules refinement. As the edges are not refined, only face and vertex rules are necessary. Figure 11 shows the surfaces obtained by subdividing a cube. Loop and Catmull-Clark subdivision produce surfaces of higher visual quality, as these schemes reduce to C 2 splines on a regular mesh. As all faces of the cube are quads, Catmull-Clark yields the nicest surface; the surface generated by the Loop scheme is more asymmetric because the cube had to be triangulated before the scheme is applied. At the same time, Doo-Sabin and Modified Butterfly reproduce the shape of the cube more closely. The surface quality is worst for the Modified Butterfly scheme, which interpolates the original mesh. We observe that there is a tradeoff between interpolation and surface quality: the closer the surface is to interpolating, the lower the surface quality. Figure 12 shows the results of subdividing a tetrahedron. Similar observations hold in this case. In addition, we observe extreme shrinking for the Loop and Catmull-Clark subdivision schemes. Overall, Loop and Catmull-Clark appear to be the best choices for most applications, which do not require exact interpolation of the initial mesh. The Catmull- Clark scheme is most appropriate for meshes with a significant fraction of quadrilateral faces. It might not perform well on certain types of meshes, most notably triangular meshes obtained by triangulation of a quadrilateral mesh (see Figure 13). The Loop scheme performs reasonably well on any triangular mesh, thus, when triangulation is not objectionable, this scheme might be preferable. More in-depth studies of subdivision surface behavior focusing on curvature can be found in [67,59,30]. Ways to improve surface appearance using coefficient tuning were explored in [7].

28 28 D. Zorin 5 Smoothness of subdivision surfaces In this section we review the theory of smoothness of surfaces generated using stationary subdivision. Smoothness is the focus of most of the work in theory of subdivision. The standard goal is to establish conditions on masks of subdivision schemes that ensure that the limit surfaces, for almost all configurations of control points, are in a smoothness class. Most commonly, the classes C r, for integer values of r are considered. In the regular case, powerful analysis tools exist. (see e.g. a recent survey [20] or the book [12] as well as [29] for further references). In most cases, subdivision schemes for surfaces are constructed by generalizing relatively simple schemes for regular grids, for which smoothness analysis is relatively straightforward. Due to locality of subdivision rules, this ensures surfaces are smooth away Loop Butterfly Catmull-Clark Doo-Sabin Fig. 11. Results of applying various subdivision schemes to the cube. For triangular schemes (Loop and Butterfly) the cube was triangulated first.

29 Subdivision on Arbitrary Meshes: Algorithms and Theory 29 Loop Butterfly Catmull-Clark Doo-Sabin Fig. 12. Results of applying various subdivision schemes to a tetrahedron. from isolated points, corresponding to vertices or face centers of the initial meshes. To complete the analysis for arbitrary meshes, one needs to analyze behaviour near such points; in this section we concentrate on this topic. To be able to formulate the criteria for surface smoothness, we precisely define the limit subdivision surfaces and review tangent plane continuity and C r - continuous surfaces. 5.1 C r -continuity and tangent plane continuity There are many different equivalent or nearly equivalent ways to define C r - surfaces for integer r. A standard approach in differential geometry is to define C r manifolds, and then define C r surfaces in R n as C r -continuous immersions or embeddings of C r manifolds. However, this approach is not the most convenient for our purposes, as no a priori smooth structure exists on the domain of

30 30 D. Zorin Initial mesh Loop Catmull-Clark Catmull- Clark,after triangulation Fig. 13. Applying Loop and Catmull-Clark subdivision schemes to a model of a chess rook. The initial mesh is shown on the left. Before the Loop scheme was applied, the mesh was triangulated. Catmull-Clark was applied to the original quadrilateral model and to the triangulated model; note the substantial difference in surface quality. subdivision surfaces. Thus, we take a somewhat different but equivalent approach. We do not require a smooth structure and say that a surface defined on a domain, for which only topological structure exists, is C r if there is a C r -continuous local reparameterization for a neighborhood of any point. More formally, we use the following definition. Definition 5.1: A surface f : M R n, where M is a topological 2D manifold, is C r -continuous, for r 1, if for every point x M there exists an open neighborhood U x in M of x, and a regular parameterization π : D f(u x ) of f(u x ) over an open unit disk D in the plane, A regular parameterization π is one that is r-times continuously differentiable, one-to-one, and has a Jacobi matrix of maximum rank, i.e. if (s, t) is a choice of coordinates on D s π and t π for any choice of coordinates on D are independent. We call a subdivision scheme C r continuous if for any complex K and almost any choice of control points p for vertices of this complex, resulting limit surfaces are C r -continuous. In practice, however, it is difficult to prove this for arbitrary complexes, and additional restrictions have to be imposed. The condition that the Jacobi matrix of p has maximum rank is necessary to make sure that there no degeneracies, i.e., f represents a surface, not a curve or point.

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

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

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

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

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

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

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

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

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

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

Parameterization of triangular meshes

Parameterization of triangular meshes Parameterization of triangular meshes Michael S. Floater November 10, 2009 Triangular meshes are often used to represent surfaces, at least initially, one reason being that meshes are relatively easy to

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

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

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

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

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

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

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

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

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

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

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

Matrix-valued 4-point Spline and 3-point Non-spline Interpolatory Curve Subdivision Schemes Matrix-valued 4-point Spline and -point Non-spline Interpolatory Curve Subdivision Schemes Charles K. Chui, Qingtang Jiang Department of Mathematics and Computer Science University of Missouri St. Louis

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

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

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

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces David L. Finn Today, we continue our discussion of subdivision surfaces, by first looking in more detail at the midpoint method and

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

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

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

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

Honeycomb Subdivision

Honeycomb Subdivision Honeycomb Subdivision Ergun Akleman and Vinod Srinivasan Visualization Sciences Program, Texas A&M University Abstract In this paper, we introduce a new subdivision scheme which we call honeycomb subdivision.

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

Nonmanifold Subdivision

Nonmanifold Subdivision Nonmanifold Subdivision Lexing Ying, Denis Zorin NYU Abstract Commonly used subdivision schemes require manifold control meshes and produce surfaces which are manifolds, that is, each point on the surface

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

Nonmanifold Subdivision

Nonmanifold Subdivision Nonmanifold Subdivision Lexing Ying Denis Zorin New York University Abstract Commonly-used subdivision schemes require manifold control meshes and produce manifold surfaces. However, it is often necessary

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

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

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

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

An interpolating 4-point C 2 ternary stationary subdivision scheme

An interpolating 4-point C 2 ternary stationary subdivision scheme Computer Aided Geometric Design 9 (2002) 8 www.elsevier.com/locate/comaid An interpolating 4-point C 2 ternary stationary subdivision scheme M.F Hassan a,, I.P. Ivrissimitzis a, N.A. Dodgson a,m.a.sabin

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

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

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

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

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

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

Lecture IV Bézier Curves

Lecture IV Bézier Curves Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

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

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

Advanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t) Advanced Modeling 2 Katja Bühler, Andrej Varchola, Eduard Gröller March 24, 2014 1 Parametric Representations A parametric curve in E 3 is given by x(t) c : c(t) = y(t) ; t I = [a, b] R z(t) where x(t),

More information

2001, Denis Zorin. Subdivision Surfaces

2001, Denis Zorin. Subdivision Surfaces 200, Denis Zorin Subdivision Surfaces 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

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

4 8 Subdivision. Luiz Velho a and Denis Zorin b

4 8 Subdivision. Luiz Velho a and Denis Zorin b 4 Subdivision Luiz Velho a and Denis Zorin b a Visgraf Laboratory IMPA Instituto de Matemática Pura e Aplicada Estrada Dona Castorina, Rio de Janeiro, RJ, Brazil, 2246-32. lvelho@visgraf.impa.br b Media

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

Ternary Butterfly Subdivision

Ternary Butterfly Subdivision Ternary Butterfly Subdivision Ruotian Ling a,b Xiaonan Luo b Zhongxian Chen b,c a Department of Computer Science, The University of Hong Kong b Computer Application Institute, Sun Yat-sen University c

More information

G 2 Bezier Crust on Quad Subdivision Surfaces

G 2 Bezier Crust on Quad Subdivision Surfaces Pacific Graphics (2013) B. Levy, X. Tong, and K. Yin (Editors) Short Papers G 2 Bezier Crust on Quad Subdivision Surfaces paper 1348 Figure 1: Two examples of Bezier crust applied on Catmull-Clark subdivision

More information

Subdivision Scheme Tuning Around Extraordinary Vertices

Subdivision Scheme Tuning Around Extraordinary Vertices Subdivision Scheme Tuning Around Extraordinary Vertices Loïc Barthe Leif Kobbelt Computer Graphics Group, RWTH Aachen Ahornstrasse 55, 52074 Aachen, Germany Abstract In this paper we extend the standard

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

Subdivision based Interpolation with Shape Control

Subdivision based Interpolation with Shape Control Subdivision based Interpolation with Shape Control Fengtao Fan University of Kentucky Deparment of Computer Science Lexington, KY 40506, USA ffan2@uky.edu Fuhua (Frank) Cheng University of Kentucky Deparment

More information

Recursive Subdivision Surfaces for Geometric Modeling

Recursive Subdivision Surfaces for Geometric Modeling Recursive Subdivision Surfaces for Geometric Modeling Weiyin Ma City University of Hong Kong, Dept. of Manufacturing Engineering & Engineering Management Ahmad Nasri American University of Beirut, Dept.

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

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

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

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

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

An Interpolatory Subdivision for Volumetric Models over Simplicial Complexes

An Interpolatory Subdivision for Volumetric Models over Simplicial Complexes An Interpolatory Subdivision for Volumetric Models over Simplicial Complexes Yu-Sung Chang Kevin T. McDonnell Hong Qin Department of Computer Science State University of New York at Stony Brook {yusung

More information

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions

A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions A C 2 Four-Point Subdivision Scheme with Fourth Order Accuracy and its Extensions Nira Dyn School of Mathematical Sciences Tel Aviv University Michael S. Floater Department of Informatics University of

More information

Lecture 2.2 Cubic Splines

Lecture 2.2 Cubic Splines Lecture. Cubic Splines Cubic Spline The equation for a single parametric cubic spline segment is given by 4 i t Bit t t t i (..) where t and t are the parameter values at the beginning and end of the segment.

More information

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015 Subdivision curves and surfaces Brian Curless CSE 557 Fall 2015 1 Reading Recommended: Stollnitz, DeRose, and Salesin. Wavelets for Computer Graphics: Theory and Applications, 1996, section 6.1-6.3, 10.2,

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

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

CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY

CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY South Bohemia Mathematical Letters Volume 24, (2016), No. 1, 43-48. CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY PETRA SURYNKOVÁ abstrakt. Polygonal meshes represent important geometric structures

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

Taxonomy of interpolation. constraints on recursive subdivision. Ahmad H. Nasri 1, Malcolm A. Sabin 2. 1 Introduction

Taxonomy of interpolation. constraints on recursive subdivision. Ahmad H. Nasri 1, Malcolm A. Sabin 2. 1 Introduction 1 Introduction Taxonomy of interpolation constraints on recursive subdivision surfaces Ahmad H. Nasri 1, Malcolm A. Sabin 2 1 Department of Mathematics and Computer Science, American University of Beirut,

More information

Design by Subdivision

Design by Subdivision Bridges 2010: Mathematics, Music, Art, Architecture, Culture Design by Subdivision Michael Hansmeyer Department for CAAD - Institute for Technology in Architecture Swiss Federal Institute of Technology

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

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 and SCOTT SCHAEFER Texas A&M University We present a simple and computationally efficient algorithm

More information

Subdivision of Curves and Surfaces: An Overview

Subdivision of Curves and Surfaces: An Overview Subdivision of Curves and Surfaces: An Overview Ben Herbst, Karin M Hunter, Emile Rossouw Applied Mathematics, Department of Mathematical Sciences, University of Stellenbosch, Private Bag X1, Matieland,

More information

Monotone Paths in Geometric Triangulations

Monotone Paths in Geometric Triangulations Monotone Paths in Geometric Triangulations Adrian Dumitrescu Ritankar Mandal Csaba D. Tóth November 19, 2017 Abstract (I) We prove that the (maximum) number of monotone paths in a geometric triangulation

More information

Uniform edge-c-colorings of the Archimedean Tilings

Uniform edge-c-colorings of the Archimedean Tilings Discrete & Computational Geometry manuscript No. (will be inserted by the editor) Uniform edge-c-colorings of the Archimedean Tilings Laura Asaro John Hyde Melanie Jensen Casey Mann Tyler Schroeder Received:

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

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

Extracting surfaces from volume data

Extracting surfaces from volume data G22.3033-002: Topics in Computer Graphics: Lecture #10 Geometric Modeling New York University Extracting surfaces from volume data Lecture #10: November 18, 2002 Lecturer: Denis Zorin Scribe: Chien-Yu

More information

Local Mesh Operators: Extrusions Revisited

Local Mesh Operators: Extrusions Revisited Local Mesh Operators: Extrusions Revisited Eric Landreneau Computer Science Department Abstract Vinod Srinivasan Visualization Sciences Program Texas A&M University Ergun Akleman Visualization Sciences

More information

A Study on Subdivision Scheme-Draft. Kwan Pyo Ko Dongseo University Busan, South Korea

A Study on Subdivision Scheme-Draft. Kwan Pyo Ko Dongseo University Busan, South Korea A Study on Subdivision Scheme-Draft Kwan Pyo Ko Dongseo University Busan, South Korea April 30, 007 Contents Introduction 9 Subdivision of Univariate Data 3. Definitions and Basic Results.............................

More information

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

To appear in Computer-Aided Design Revised June 18, J-splines To appear in Computer-Aided Design Revised June 18, 2008 J-splines Jarek Rossignac School of Interactive Computing, College of Computing, Georgia Institute of Technology, Atlanta, GA http://www.gvu.gatech.edu/~jarek

More information

Grid Generation and Grid Conversion by Subdivision Schemes

Grid Generation and Grid Conversion by Subdivision Schemes Grid Generation and Grid Conversion by Subdivision Schemes Karl Heinz Brakhage Institute for Geometry and Applied Mathematics RWTH Aachen University D-55 Aachen brakhage@igpm.rwth-aachen.de Abstract In

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 surfaces. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Subdivision surfaces. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Subdivision surfaces University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Reading Recommended: Stollnitz, DeRose, and Salesin. Wavelets for Computer Graphics: Theory and Applications,

More information

Generalized barycentric coordinates

Generalized barycentric coordinates Generalized barycentric coordinates Michael S. Floater August 20, 2012 In this lecture, we review the definitions and properties of barycentric coordinates on triangles, and study generalizations to convex,

More information

EXTREME POINTS AND AFFINE EQUIVALENCE

EXTREME POINTS AND AFFINE EQUIVALENCE EXTREME POINTS AND AFFINE EQUIVALENCE The purpose of this note is to use the notions of extreme points and affine transformations which are studied in the file affine-convex.pdf to prove that certain standard

More information

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch 12.4-12.12] Roller coaster

More information

Central issues in modelling

Central issues in modelling Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

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

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662 Geometry Processing & Geometric Queries Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,

More information

7. The Gauss-Bonnet theorem

7. The Gauss-Bonnet theorem 7. The Gauss-Bonnet theorem 7.1 Hyperbolic polygons In Euclidean geometry, an n-sided polygon is a subset of the Euclidean plane bounded by n straight lines. Thus the edges of a Euclidean polygon are formed

More information

Curve Subdivision in SE(2)

Curve Subdivision in SE(2) Curve Subdivision in SE(2) Jan Hakenberg, ETH Zürich 2018-07-26 Figure: A point in the special Euclidean group SE(2) consists of a position in the plane and a heading. The figure shows two rounds of cubic

More information

CS 450 Numerical Analysis. Chapter 7: Interpolation

CS 450 Numerical Analysis. Chapter 7: Interpolation Lecture slides based on the textbook Scientific Computing: An Introductory Survey by Michael T. Heath, copyright c 2018 by the Society for Industrial and Applied Mathematics. http://www.siam.org/books/cl80

More information

Technical Report. An heuristic analysis of the classification of bivariate subdivision schemes. Neil A. Dodgson. Number 611.

Technical Report. An heuristic analysis of the classification of bivariate subdivision schemes. Neil A. Dodgson. Number 611. Technical Report UCAM-CL-TR-611 ISSN 1476-2986 Number 611 Computer Laboratory An heuristic analysis of the classification of bivariate subdivision schemes Neil A. Dodgson December 2004 15 JJ Thomson Avenue

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

Rendering Subdivision Surfaces Efficiently on the GPU

Rendering Subdivision Surfaces Efficiently on the GPU Rendering Subdivision Surfaces Efficiently on the GPU Gy. Antal, L. Szirmay-Kalos and L. A. Jeni Department of Algorithms and their Applications, Faculty of Informatics, Eötvös Loránd Science University,

More information