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

Similar documents
Taxonomy of interpolation constraints on recursive subdivision curves

Recursive Subdivision Surfaces for Geometric Modeling

u 0+u 2 new boundary vertex

Subdivision Curves and Surfaces: An Introduction

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

Curve Corner Cutting

Non-Uniform Recursive Doo-Sabin Surfaces

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

Grid Generation and Grid Conversion by Subdivision Schemes

Interpolatory 3-Subdivision

Local Modification of Subdivision Surfaces Based on Curved Mesh

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

Normals of subdivision surfaces and their control polyhedra

Subdivision overview

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

Subdivision Surfaces

G 2 Bezier Crust on Quad Subdivision Surfaces

Joe Warren, Scott Schaefer Rice University

Lecture IV Bézier Curves

Subdivision Curves and Surfaces

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

Honeycomb Subdivision

An interpolating 4-point C 2 ternary stationary subdivision scheme

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

Subdivision on Arbitrary Meshes: Algorithms and Theory

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

A subdivision scheme for hexahedral meshes

On Smooth Bicubic Surfaces from Quad Meshes

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

Normals of subdivision surfaces and their control polyhedra

Polar Embedded Catmull-Clark Subdivision Surface

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

Computergrafik. Matthias Zwicker. Herbst 2010

Smooth Patching of Refined Triangulations

G 2 Interpolation for Polar Surfaces

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes)

Removing Polar Rendering Artifacts in Subdivision Surfaces

INF3320 Computer Graphics and Discrete Geometry

Piecewise Smooth Subdivision Surfaces with Normal Control

Subdivision based Interpolation with Shape Control

Curves and Surfaces 2

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

SURFACE FAIRING FOR SHIP HULL DESIGN

Ternary Butterfly Subdivision

Postprocessing of Compressed 3D Graphic Data

Nonmanifold Subdivision

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

Subdivision Surfaces

Triangle Mesh Subdivision with Bounded Curvature and the Convex Hull Property

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

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

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

Smooth Surface Reconstruction using Doo-Sabin Subdivision Surfaces

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

A subdivision scheme for hexahedral meshes

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

Subdivision Surfaces

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

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

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

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

Subdivision Surfaces. Homework 1: Questions/Comments?

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

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

Subdivision surfaces for CAD: integration through parameterization and local correction

An introduction to interpolation and splines

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015

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

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

Local Mesh Operators: Extrusions Revisited

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

Parameterization. Michael S. Floater. November 10, 2011

Gauss curvature. curvature lines, needle plot. vertices of progenitor solid are unit size. Construction Principle. edge. edge. vertex. Patch.

Design by Subdivision

Parameterization of triangular meshes

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

Trimming for Subdivision Surfaces

Pairs of Bi-Cubic Surface Constructions Supporting Polar Connectivity

Nonmanifold Subdivision

Cover Page. Title: Surface Approximation Using Geometric Hermite Patches Abstract:

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

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

Freeform Curves on Spheres of Arbitrary Dimension

2D Spline Curves. CS 4620 Lecture 18

Smooth Subdivision of Tetrahedral Meshes

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

Fast Rendering of Subdivision Surfaces

Subdivision of Curves and Surfaces: An Overview

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

Smooth Multi-Sided Blending of bi-2 Splines

Research Article A Family of Even-Point Ternary Approximating Schemes

Subdivision Scheme Tuning Around Extraordinary Vertices

Finite curvature continuous polar patchworks

B-spline Curves. Smoother than other curve forms

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

Computer Graphics Curves and Surfaces. Matthias Teschner

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

Parametric curves. Brian Curless CSE 457 Spring 2016

SUBDIVISION ALGORITHMS FOR MOTION DESIGN BASED ON HOMOLOGOUS POINTS

Transcription:

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, Beirut, PO Box 11-236, Lebanon E-mail: anasri@aub.edu.lb 2 Numerical Geometry Ltd, 26 Abbey Lane, Lode, Cambridge CB5 9EP, United Kingdom E-mail: malcolm@geometry.demon.co.uk Published online: 14 May 2002 c Springer-Verlag 2002 This is the second of two papers which describe and classify situations which any complete study of interpolation constraints for a recursive subdivision surface needs to consider. It addresses surface interpolation constraints, building upon the concepts and categories introduced in the first paper, on interpolation constraints on recursive subdivision curves. Key words: Recursive subdivision Interpolation constraints Points Normals Curves Slopes Boundary control Sharpe features B-spline Surfaces Correspondence to:a.h.nasri Part of this work was done during a visit by A. Nasri to Cambridge University The scenario we consider is that a surface is defined by a collection of interpolation constraints, either of points or of curves, such curves being themselves defined in terms of B-spline control polygons. The interpolation points and the vertices of the curve control polygons are then joined into a network of the desired topological structure, possibly with additional vertices to help provide some geometric control in regions sparsely provided with hard constraints (Nasri and Sabin 2001). Some preprocessing may then be done on this network to produce a new network which can be interpreted by one of the standard recursive division constructions. Alternatively, the interpolations may be taken into the subdivision process dynamically. The result of this is a surface of the required topological structure which can be controlled qualitatively in some regions and by hard interpolation constraints in others. Although this procedure is not yet complete in all details, specific interpolation results fit into this framework. The bulk of this paper describes and classifies the known results and identifies remaining open questions. A recursive division surface, S, is basically defined by a duple, (P 0, R), wherep 0 is an initial configuration and R is a refinement procedure. The configuration consists of a set of vertices, edges, and faces. This is often referred to as a polyhedron even though the faces need not have coplanar vertices. The refinement procedure is a set of rules applied to a configuration to generate another with more vertices, edges and smaller faces than the initial one. At each level, i, of the refinement process, the polyhedron P i 1 is taken as input to the refinement R,which produces another polyhedron, P i, which may itself be taken as input to the next refinement step and so on. If R satisfies some conditions (Doo and Sabin 1978; Reif 1995; Zorin and Schröder 2000), then at the limit the sequence of polyhedra P i converges to a smooth surface. There are many alternative sets of rules, R.Theymay typically be generated by using the knot-insertion procedure of some B-spline tensor-product surface to insert knots at the mid-points of the existing knot intervals. This induces a set of rules to be applied in the regular case. These rules take the form of coefficients used to form the coordinates of the vertices of P i, by taking linear combinations of the vertices of P i 1. These rules are then extended by defining appropriate linear combination coefficients to cover the irregular situations of non-regular vertices or faces. The Visual Computer (2002) Digital Object Identifier (DOI) 10.1007/s003710100155

When the rules are produced in this way, the limit surface typically consists of polynomial or bipolynomial patches in regular regions with infinite regresses around the singularities, which do not increase in number as subdivision proceeds. The best known examples are the Doo Sabin (1978) extension of the quadratic B-spline and the Catmull Clark (1978) extension of the cubic B-spline. Although in principle higher-order tensor-product B-splines can be extended in this way, the templates involved are larger and therefore require many more cases of interactions between irregularities to be considered in the extension process. However, the box-splines also have a recursive division procedure, and the simpler cases have been extended to general recursive division. The threedirection quartic was partially extended by Loop (1994) and the four-direction quadratic was examined (though not identified) by Doo (1978) and found to be rather unsatisfactory. It was later considered in more detail by Sabin (1986) and by Peters and Reif (1997, 1998). Recursive division procedures have been applied by Peters (1993) and Loop (1994) within methods which replace the infinite regresses around the irregularities either by n-sided patches or by n-sided combinations of three- or four-sided patches. In these situations, one or two steps of the recursive division construction are used to separate the irregularities. A final important class of constructions contains the interpolatory constructions of Dyn et al. (1987, 1990), Dyn and Levin (1990), Deslauriers and Dubuc (1989), and Kobbelt (1996), which are designed to have the property that every vertex lies on the limit surface. We do not explore these in detail because they do not give bounded curvature and because they apply only to the case where every vertex is to be interpolated. Binary subdivision schemes over irregular topology were also considered by Warren (1995). The analysis of the subdivision surfaces at the extraordinary point was carried out by Doo and Sabin (1978), Ball and Storry (1984), Reif (1995, 1999), Zorin and Schröder (2000), and the C k case was considered by Prautzsch (1995). Subdivision schemes were recently modified to satisfy various interpolation constraints such as creases, vertices, normals, and curves by Nasri (1987, 1991a,b, 1997a, 1998, 2000), Nasri et al. (2002), Hoppe et al. (1994), Schweitzer (1996), Levin (1999a), and Biermann et al. (2000). Nonuniform subdivision schemes also emerged as in Gregory and Qu (1996), Habib (1996) and Sederberg et al. (1998). In Nasri and Sabin (2002), which is the prequel to this paper, we identified five methods to achieve interpolation in the curve case. These are the following: A. Truncation, which is not a method for interpolation at all, but the default from which some change needs to be made. B. Polygon modification, where the original polygon is altered so that the limit curve satisfies the required constraints. C. Subdivision modification, where the coefficients in the refinement are altered locally. D. Multiple vertices, where, if enough consecutive vertices are superimposed, a limit point dependent only on that many vertices has to find itself. E. Modification after the first iteration, where the polygon after the first iteration is altered so that the limit curve satisfies the required constraints. This paper deals with the problem of making a subdivision surface interpolate certain constraints. The situations we deal with are far more numerous than the curve cases, and the relationships between them are shown in Fig. 1. Many of them can be thought of as combinations of curve cases. This is simply because most surface constraints can be looked at as tensor products of curve constraints. We focus here on interpolation constraints in the Doo Sabin and Catmull Clark contexts, but most of the principles applied are equally applicable to other schemes. It should be mentioned, however, that many of the proposed approaches that work for quadratics (because the trajectories towards the middle of an n-sided face are nice parabolas) do not work for higher orders. This paper is written in the language of 3D Euclidean geometry, but the mapping to projective geometry modelled by homogeneous coordinates is straightforward. The paper is divided as follows: Sections 2 and 3 describe the closed-surface case and some notations, respectively. Section 4 discusses the case of a surface with a simple boundary curve. The rest of the paper is split into two major sections: Section 5 is devoted to boundary interpolation constraints, which include convex and concave corners, and Sect. 6 to internal interpolation constraints, which deal with darts, interior point interpolation and even curves. Finally Sect. 7 draws conclusions

Fig. 1. Various interpolation constraints for surfaces and outlines the open questions still requiring further work. 2 Closed surfaces The simplest case, without constraint, is that of the closed surface with neither boundary nor interpolation constraints to consider. The recursive subdivision rules are applied uniformly, giving a limit surface which typically interpolates none of the specified vertices, but which has global shape echoing that of a polyhedron and pieces of which lie inside local convex hulls of appropriate collections of vertices. A cube and its first three subdivisions in both Doo Sabin and Catmull Clark cases are shown in Fig. 2. The limit surface consists of pieces of polynomial or bipolynomial, but wherever the original polyhedron has either an n-valent vertex or an n-sided facet, where n is different from the regular case, the limit surface has a configuration of an infinite number of such patches, arranged in rings of 3n, each ring covering much of the remaining area as depicted in Fig. 3. Despite the structural complexity of the limit surface, many properties can be demonstrated, such as the convex hull property and limits of derivatives at the limit points. As in the curve case, we consider first the impact of bounding the defined piece of surface and then interpolation constraints. 3 Notation The presence of a boundary for the surface is indicated by the presence of a boundary in the polyhedron, i.e. a sequence of edges with only one adjacent facet each. We call this sequence of edges the boundary polygon, and the edge of the limit surface the boundary

2 3 Fig. 2. Closed recursive subdivision of a cube. Top: quadratic case; bottom: cubic case Fig. 3. Layers of the limit surface around a fivesided singularity (quadratic and cubic cases). Higher orders have double rows of quads (quadratics and quintics), triple rows (sextics and septics), etc. curve. The boundary polygon consists of boundary edges meeting at boundary vertices. The face adjacent to a boundary edge is called a boundary face. Edges separating boundary faces are called crossing edges. A corner is a place where the desired effect is such that the boundary curve should have only C 0 continuity, and interpolate a boundary vertex, the curve tangents on the two sides being tangential to the adjacent edges in the boundary polygon. Such a corner may be concave (when the limit surface spans more than 180 at the boundary vertex) or convex. We make the assumption that convex corners are selected by them having only one adjacent polyhedron face and that concave corners are selected by having more than two polyhedron faces. This assumption is an arbitrary way of simplifying the way in which the user has to specify a great deal of detail. An alternative is to have a system for attaching labels to vertices of the polyhedron.

Fig. 4. Simple loop by various methods (quadratic case). Top left: truncation method; top right: polyhedral modification method; bottom left: subdivision modification method; bottom right: Multiple vertices method 4 Surface with a simple boundary loop Clearly, it is natural for the boundary curve to be the limit curve of the boundary polygon. This is the analogue of an end-constraint, and each of the five basic methods described for curves can be applied. We consider first the situation where the boundary is simple. It consists of a single loop, with no corners or other interpolation points; all of its vertices are three-valent. Further, all of the boundary faces are four-sided, and sufficient mesh further in is regular. We can then use the tensor product of the curve method across the boundary, with normal subdivision along the boundary. In the quadratic case (see Fig. 4) the following methods are used: A. Truncation. The boundary loop is the limit curve of the polygon whose edges join the mid-points of the crossing edges; those are edges that have one boundary vertex and one interior vertex. B. Polyhedron modification. The boundary loop is the limit curve of the initial boundary polygon. This can be achieved by extending each crossing edge symmetrically about its boundary vertex. C. Subdivision modification. A non-uniform subdivision scheme can be devised (Nasri 1997b), by which different rules apply in the subdivision of the boundary faces. In the quadratic case, the new vertices (w i ) 0 i 3 of each new F face are given by 6200 w 0 w 1 w 2 w 3 = 1 2600 8 1331 3113 v 0 v 1 v 2 v 3, (1)

Fig. 5. Simple loop by various methods (cubic case). Top left: truncation method; top right: multiple vertices method; bottom: subdivision modification method where (v i ) 0 i 3 are the old vertices with v 0 and v 1 are boundary vertices. D. Multiple vertices. Each boundary edge is dealt with as a cluster of coincident edges joined by four-sided faces and subdivided accordingly. In the cubic case (see Fig. 5) exactly the same procedure works, of taking the tensor product of the endconstraint curve case, as described above, with the standard basic cubic subdivision. The only complication is that enough rows of faces need to be regular for the tensor products to be applicable where more than two vertices are involved in the univariate case. 5 Boundary complications We consider here complications, such as corners and points, to be interpolated in the boundary curve. 5.1 Loop with boundary edges adjacent to n-sided boundary faces Such a loop is generated by a boundary polygon whose vertices are three-valent but the faces sharing its vertices are not four-sided (see Fig. 6). Note that Method A results in a corner at the centroid of the n-sided face, and so it does not strictly apply. Although no change needs to be made to apply a hybrid of Methods A and D, the rules for a hybrid of Methods B and C are more complicated than in the simple case for quadratics. For each n-sided boundary face, referred to as an edge-face, which has one boundary edge only, Method B involves the reflection of the interior vertices about the Chebychev points (Nasri 1987) defined on its boundary edge, v 0 v n 1.

Fig. 6. A boundary loop defined by boundary edges adjacent to n-sided faces. The front face is a six-sided boundary face with two boundary vertices (hollow circles) and four interior vertices (solid circle) These points, (c i ) 0 i n 1, on the segment PQ are given by c i = (1 + β i)p + (1 β i )Q, (2) 2 where β i = (2i+1)π cos 2n cos π 2n. (3) Observe that P = c 0 and Q = c n 1. Accordingly, extra vertices are added to a boundary edge-face in order to guarantee the interpolation of the boundary loop. On the other hand, Method C can be used to develop a non-uniform subdivision scheme which differs from the original uniform one in the way it subdivides the boundary faces. A non-uniform Doo Sabin scheme was suggested by Nasri (1997b) in which an n-sided edge face 1 defined by the vertices d i, for instance, is divided using the following matrix (D i ) giving the new vertices: D 0 D 1 D m 1 D m = 3/4 0 0 0 0 1/4 A 1 t 1,1 t 1,2 t 1,3 t 1,m 1 B 1 A 2 t 2,1 t 2,2 t 2,3 t 1,m 1 B 2 A m 1 t m 1,1 t m 1,2 t m 1,3 t m 1,m 1 B m 1/4 0 0 0 0 3/4 1 The boundary vertices are d 0 and d m. d 0 d 1 d m 1 d m, (4) where A i, B i and t i, j are given by n i n i A i = α k + α k β n+1 i k, (5) B i = m i n i k=m i+1 m i α k n i k=m i+1 α k β m k+1, (6) t i, j = α i j α (n i j+1) mod n, (7) with n = 2(m 1) and α i given by { α0 = n+5 4n, (8) α i = 3+2cos πi 2m 8m. Note that Method E is not applicable here. This situation is much simpler for the Catmull Clark case, since after one iteration (carried out by merely applying the univariate subdivision to obtain the boundary vertices and appending them to the interior created in the normal way) the singularity has become an n-valent vertex away from the boundary. The analogue which would have a similar problem is the dual, the n-valent vertex on a smooth boundary, which we have defined away by using the valency as an indicator of the presence of corners. 5.2 Boundary with internal interpolation points To interpolate a point on a boundary polygon, we can modify the boundary polygon first, so the surface never sees the interpolation issue.

Fig. 7. Interpolation of a boundary point on a boundary loop Any of the methods apart from Method A applied in the curve case can be used to interpolate interior points. After this adjustment, the algorithm in the previous section is applied to handle the new boundary loop whose curve will interpolate the required boundary points. Figure 7 shows an open cube interpolating one of its vertices. It uses Method B (polyhedron modification) to generate a revised position for the vertex, and then Method C to bring the boundary curve up to the limit curve of the (revised) boundary polygon. This approach works for any degree. 5.3 Corners The first question to pose here is how you tell the system where you want corners and whether each corner is convex or concave. The convention that we suggest is that corners are generally classified as convex when they are two-valent and as concave when they are n-valent (n > 3). Note that these are default settings and should not restrict the possibility of having a corner, whether convex or concave, at almost any interior or boundary vertex. 5.3.1 Two-valent boundary point (or convex corner) interpolation The principle is essentially that of taking the tensor product of two of the curve end-constraints described in the curve section. This implies that the situation must be regular enough in the corner for the tensor product to be applicable. In the Catmull Clark setting, this is a severe constraint on the local connectivity. In the Doo Sabin case only, the fact that trajectories towards the central limit point of an n-sided face are well-behaved allows us to be less constrained, even permitting the face in the corner to be n-sided. In the Doo Sabin case, Method B can be applied. Basically, the faces with 2-valent boundary vertices are modified by double reflection of their inner vertices about the extended boundary edges as described by Nasri (1987). These reflected faces will make a polygonal strip complex 2 as described in Nasri (1997b). Figure 8 depicts an example of the interpolation of a convex corner using this method. Alternatively, modifying the subdivision coefficients (Method C) for the boundary face, F, of a two-valent vertex can also achieve the interpolation issue. The new coefficients must bring the boundary vertices to the points generated by a subdivision of the boundary control polygons, leaving the two-valent vertex invariant. This is applicable in both Doo Sabin and Catmull Clark cases. In the latter, the E-vertices of the edges incident to the two-valent vertex are subdivided using ( 1 2, ) 1 j+1 2, and the E-vertices p i of the edges of F with one boundary vertex each are given by the following rule (Biermann et al. 2000): ( ) 3 p j+1 i = 4 γ pc j + γpj + 1 16 i (9) ), ( p j i 1 + p j i+1 + q j i 1 + q j i where p l k is a boundary vertex, ql k is an interior vertex linkedtoitatlevell,andγ is a parameter depending on the angle θ between the crease edges of the corner. This is given by γ(θ) = 3 8 1 4 cos θ k. (10) In the case of a convex corner, θ = π. The above coefficients are valid for the quadrilateral version 3 of the Catmull Clark case, and an example of a boundary curve using this modification is shown in Figs. 8 and 9. 2 This will be used later in the interpolation of interior curves. Basically, it is a sequence of singly (or doubly) reflected faces such that each face shares one (or two) edge(s) with its neighbor. For more details see Sect. 6.2. 3 In this setting the faces around extraordinary points are all four-sided. In the general case, one step division will make all faces quads.

8 9 Fig. 8. Two-valent boundary interpolation (convex corner). Doo Sabin case (left column): two different views of a mesh with a boundary polygon having one two-valent vertex and its corresponding limit surface using Method D. Catmull Clark case (right column): A mesh with a two-valent vertex and its corresponding surface. (Cubic figures from Biermann) Fig. 9. Convex corner interpolation. A mesh and its corresponding surface with a convex corner for the Doo Sabin (left) and Catmull Clark (right) cases. (Cubic figure from Biermann et al. 2000)

Fig. 10. Concave corner interpolation. Doo Sabin case: configuration (top left); solution using Method E (top right) with original boundary vertices (hollow circles), concave corner vertex (open square), subdivided vertices (solid circles) and new boundary vertices (red circles). Catmull Clark cases: (1) A mesh with 5-valent vertex (middle left) and its corresponding surface (middle right), (2) a quadrilateral mesh and limit surface with concave corner (bottom). (Cubic figures from Biermann) On the other hand, Method D may require not only doubling edges but also doubling faces at the corners (see Fig. 9). Method E is not applicable here. Note that in the case of a single-face polyhedron, the surface is reduced to a point in Method A and to the face itself in the other methods. 5.3.2 n-valent boundary point (or concave corner) interpolation An n-valent (n > 3) point on the boundary corresponds to a concave corner, as depicted in Fig. 10. Again Method A is not applicable and Method D is similar to the convex corner case. However, Method B can be used. In the Doo Sabin setting the configuration is turned into one similar to the convex case by removing the interior edges as suggested in Nasri (1991b). A modified version of this solution has been given by Nasri (1997b), where Method E was used to construct a polygonal strip complex as follows: After the first iteration, (i) we add a strip of boundary faces (each of these faces are then made singly reflected), and (ii) we create a V-face from the subdivided vertices of the cor-

ner vertex and those of its two adjacent boundary vertices. This face is then made doubly reflected as in the convex corner case. The polygonal complex consists of the obtained reflected faces. Alternatively Method C, a hybrid of Methods B and C, or Method E can be used to solve this problem, but they are not investigated in detail for the Doo-sabin setting. As for the Catmull Clark case, the technical complication here is that we have to force the configuration around the corner vertex to be part of a regular configuration of 16 facets, of which only 12 are explicitly present. Then we have to force the interpolation of the corner vertex and its two tangents by modifying the original corner vertex and the two interior vertices. In Biermann et al. (2000), Method C is used to achieve concave corners with various settings depending on whether the edges through this corner are tagged as creases or not. For instance, in a quad mesh of Catmull Clark, the corner vertex remains invariant but the E-vertices of the edges incident to it are generated by different rules depending on the number of interior edges and the angle between the two boundary edges incident to the corner. The boundary E-vertices are generated by a similar coefficient to the convex corner case, but those of the other non-crease edges are generated by the modified rule above with a flatness parameter, s, satisfying (1 s)(2 + cos θ k cos kθ k )<2. (11) Figure 10 depicts a concave corner using this method. The perfect solutions for the general Catmull Clark case and even Doo Sabin settings are yet to be devised. 5.4 Mixed boundary constraints This is the situation where part of the boundary is to be controlled as above and other parts are to be left with the truncation constraint. This problem is still subject to further research. 5.5 Surface with multiple boundary loops Provided that the loops are initially adequately separated, they rapidly become isolated as the subdivision process adds additional network in between them. The case which has to be considered is that when different loops share the same facets as depicted in Fig. 11. A surface with multiple boundary loops. Note the face with two disjoint boundary edges Fig. 11. This is analogous to the univariate case consisting of but one segment and two vertices. In fact this issue can arise in the case of a single boundary loop, which happens to have two parts, remote topologically, geometrically close together, and linked by a facet. The multiple vertices method can achieve this as depicted in Fig. 11. However, the modification after the first iteration method (Method E) might be an option, but it is unlikely to be satisfactory in all cases, and the search for a good solution is still on. 6 Surface with internal interpolation constraints We extend the interpolation constraints on the boundary to the interior of the surface. Such constraints can be points, points with normals, or even curves which the limit surface must interpolate (Nasri 1987, 1991a,b, Halstead et al. 1993, Biermann et al. 2000, Zorin and Schröder 2000). 6.1 Interpolation at isolated interior points This is analogous to interpolating an interior point in the curve case. 6.1.1 C 0 interpolation Depending on the way their incident edges are subdivided, C 0 vertices can be classified as darts, corners or just normal vertices. A dart 4 is an interior point of 4 A dart is not initially interpolated by the surface, but its neighborhood can be adjusted by Method B and then Method C applied to get it on the surface.

13 12 Fig. 12. C 0 interpolation of an interior point: hybrid of Methods B and D Fig. 13. A cube interpolating two of its vertices: C 1 interpolation (Method B) a surface with one crease that blends smoothly with the surface. A corner is an interior point connecting two or more creases. It can be convex or concave depending on the edges between the creases. Finally, a normal C 0 vertex has no creases. First, Method A is not applicable. On the other hand, it is not clear how to extend Method B to solve this problem; this is still an open question. A hybrid method combining features from Methods B and D provides a solution by replacing a point to be interpolated, v i,byann-sided (n 3) face all of whose vertices are coincident with v i (see Fig. 12). The topological structure of the polyhedron must also be changed to include this constructed face, which at the limit collapses to its centroid v i. There can be one vertex per incoming edge, and so the required topology is self-evident. Since the tangent at this point vanishes, only C 0 is achieved. This can be applied to any degree by having a sufficiently large cluster of coincident points. As for Method C, no direct subdivision coefficients are reported in the literature. It may be possible to use the dart vertex coefficients in Hoppe et al. (1994) with Method B to achieve this goal in the quadrilateral meshes of Catmull Clark. However, no explicit coefficients for this or the general case are reported in the literature to solve this problem. 6.1.2 C 1 interpolation Again, Method A is not applicable. Method B involves lifting the vertex to be interpolated, v i,sothat the centroid of its V-face in the Doo Sabin case or its limiting V-vertex in the Catmull Clark case is at the old position of v i (as shown in Fig. 13). Clearly, the linear equation giving the new position, w i,ofv i depends on the valency of the vertex and the vertices of the faces sharing v i. For example, in the Doo Sabin case, a vertex, v i, of a cube is lifted to w i given by 9w i = 16v i 2(vi 0 + v1 i + v2 i ) ˆv0 i + ˆv1 i + ˆv2 i, (12) 3 where v j i and ˆv j i are adjacent and diagonally opposite to v i, respectively. A similar equation can be easily found in the Catmull Clark case as follows: A point, v i, with a neighborhood, M i, and a local subdivision matrix, S i, converges to the point ˆv i as given by Halstead et al. (1993): ˆv i = n2 v i + 4 j ei j + j f i j n(n + 5), (13) where f i j and ei j are the faces and edges sharing v i. In general the coefficients of the equation for a limit point are given by the components of the posteigenvector corresponding to the unit eigenvalue of the subdivision matrix.

As in the curve case, if two or more adjacent vertices are to be interpolated, the above equations can be used to build a linear system, v 0 = M v n w 0 w n, (14) whose solution yields the new vertices, w i. The new constructed polyhedron is topologically similar to the initial one. For more details, see Nasri (1987). It should be mentioned that it is not yet proved that the matrix, M, ofthis systemcannotbesingular. The Catmull Clark case was implemented in Halstead et al. (1993). On the other hand, different subdivision rules (Method C) can be used to devise a subdivision matrix similar to that in the curve case; a problem which is still open. Another solution for the Doo Sabin case, which is an extension of Method E, consists of lifting the V-faces of the first subdivided polyhedron such that they have the interpolated vertices at their centroid. The shifting vector of a V-face generated from a vertex, v i, of centroid c i,isc i v i. The corresponding transformation matrix is applied to the vertices of that face. The analogue of this in the Catmull Clark case is the shifting of a V-vertex after the first iteration, but the shifting vector is yet to be determined. 6.1.3 C 1 interpolation with specification of the tangent plane or normal Points with given normals, i.e. indicating the direction of the tangent plane, can be interpolated using Method E as follows (see Fig. 14): In the Doo Sabin case, the V-face of an interpolated point is rotated such that the normal at the centroid of the face (which is a normal to the surface at that point) coincides with the given normal (Nasri 1991a). This method is not explored in the Catmull Clark case. On the other hand, Method C can be used to define subdivision coefficients which spatially position the vertices of the V-face in the proper place. This is applicable in both the Doo Sabin and Catmull Clark cases. In the latter, for instance, the normal vector at a limit point, v, corresponding to a vertex, v i, of a neighborhood, M i,isgivenbyc 1 c 2, with c 1 = l 1 M i, c 2 = l 2 M i,wherel 1 and l 2 are the posteigenvectors (of the local subdivision matrix) associated with the two subdominant eigenvalues after 1. The analysis was recently extended to normal interpolation on the boundary by Biermann et al. (2000) (see Fig. 14). Some of the open problems in this area are: Devising different subdivision coefficients, probably for the first iteration only, that will solve this problem. Interpolating higher local derivatives. 6.2 Interpolation of internal curves The curves to be interpolated are described by control polygons whose vertices and edges, called tagged vertices and edges, are subsets of the vertices and edges of the polyhedron, respectively. 6.2.1 Closed curves Let us consider first the case of a closed curve defined by a closed polygon, cp i. The curve can either be C 0 (in which case it is called a crease) or C 1 across interpolated. C 0 interpolation or crease. A C 0 interpolation of curves can be achieved using Method B. In this case, the polyhedron can be thought of as two polyhedra joined along the control polygon, cp,ofthe crease. This curve is interpolated by both polyhedra using either Method B or Method C. As mentioned before, Method C involves using different subdivision coefficients on the faces sharing an edge of the tagged control polygon. This works nicely for the Catmull Clark scheme and for the regular setting for the Doo Sabin scheme, i.e. all vertices of the tagged control polygon are four-valent. The general Doo Sabin case remains an open problem. The subdivision coefficients in this method subdivide the control polygon as in the curve case. For instance, in the Catmull Clark case the coefficients ( 1 2, 2) 1 are used for the E-vertices and the coefficients ( 1 8, 6 8, 8) 1 for V- vertices of the control polygon of the crease. Note that Method D can also be used to double or triple the control polygon for the Doo Sabin or Catmull Clark case, respectively, to obtain the right effect on both sides. An example of the Doo Sabin setting is depicted in Fig. 15. C 1 interpolation. This is the analogue of the C 1 interpolation of a point on a curve which uses a polygonal complex construction process (as shown in Fig. 16). This process consists of constructing a sequence of

14 15 Fig. 14. Normal interpolation. Doo Sabin case: a cube interpolating its top vertices with given tangent plane (normals) C 1 interpolation (Method E). Catmull Clark case: two different sets of given normals on boundary vertices (Method C). (Bottom figures from Biermann et al. 2000) Fig. 15. A cube interpolating a C 0 closed interior curve singly reflected panels from the first iteration, P 1, of P an analogue of Method E. A singly reflected panel is an n-sided (n = 2m) face having its vertices symmetrically distributed about the Chebychev points defined on its mid-face segment this joins the mid-points of the shared edges with other panels of the complex. The mid-face segments of all panels of the complex constitute the a control poly-

Fig. 16. C 1 interpolation of a closed interior curve. Top and middle: Doo Sabin case (Method E); bottom: closed curves using the combined scheme (Method B and C) and using the Catmull Clark polygonal complex scheme (Method E). (Combined figure curtosey of Levin) gon called the mid-polygon. It was shown that this polygon is the Chaikin s (1974) subdivision of the initial tagged control polygon, cp i. At the limit, the mid-polygon converges to a curve interpolated by the limit surface. Recently, it was shown that a quadrilateral polygonal complex, which is made of four-sided panels only, can solve the curve problem, producing smoother surfaces with no singular points on the in-

terpolated curve. More details can be found in Nasri (1997a, 1998). For the Catmull Clark case, the polygonal complex approach can be extended (Nasri and Abbas 2001). A combined subdivision scheme can also be used to solve this problem (Levin 1999a). The scheme which can be thought of as a hybrid of Methods B and C repositions the points near the curve to be interpolated using special subdivision coefficients (see Fig. 16). Because of the lack of C 2 continuity at the extraordinary points in Catmull Clark settings, the neighborhood of such a point will not lie on the desired curve to be interpolated as it would in the Doo Sabin case. It is not clear whether Methods A or D could be used to solve the C 1 interpolation issue. This remains an open problem. Interpolation of curves with interpolation constraints. Curves with interpolation constraints are first fixed up to guarantee the interpolation constraints and then standard theory is applied. For example, interpolating a point on a curve which is itself to be interpolated by the surface can be done by applying one of the curve methods that forces C 1 interpolation of an original vertex. After that, the methods in the previous section can be used. Other interpolation constraints are still to be considered, namely, interpolation of a curve with specified points, cross tangent planes, or even curvature. The problem of C 0 interpolation of a point on an interpolated curve is also still open. Method D may provide a solution by considering a cluster of coincident vertices at the interpolated point; thus at least a three-sided face is added to the given construction. Furthermore, the curve interpolation procedure needs to be modified. It should be noted that some complications may arise if the fixing-up process involves curve subdivision. This is applicable to any degree. 6.2.2 Open curves A curve to be interpolated by the surface may be open because we do not wish to constrain the surface except along a specific, open piece of curve. Alternatively, it may be open because it meets the boundary. Clearly each end of the curve may either lie on the boundary or be in the interior, independently of the other. In the first case, the question is: What should the surface do beyond the open end? In the second case, the Fig. 17. C 0 interpolation of an open interior curve. Method A is used for the end-constraint of the curve problem is to ensure that the boundary curve and the interpolated curve are compatible. Open curves ending in the interior of the surface. Two cases will be considered: C 0 and C 1 across interpolation. C 0 interpolation. The interpolation of open curves which is C 0 across is similar to the closed case and is depicted in Fig. 17. The main open question here is what to do about the end-constraints of the curve. For instance, if Method D is used, how should the end-vertices of the control polygon of the interpolated curve be doubled? This is applicable in both Doo Sabin and Catmull Clark cases. One complication of this problem is when the path of the control polygon of the interpolated curve consists of a single edge (as shown in Fig. 18). C 1 interpolation. The difference between this and the closed case is the method used at the ends of the curve. In the Doo Sabin case, Method B, for example, can be used to adjust the control polygon of the curve to be interpolated, which will then be followed by a polygonal complex construction process as in the closed case. It should be mentioned that in this case there is no need to consider panels for the adjusted end(s), since they are not to be interpolated.

18 19 Fig. 18. C 0 interpolation of open interior curve. The case of a control polygon with a single edge in a cube network Fig. 19. C 1 interpolation of open curves ending in the interior of the surface. The interior polygon (solid lines) with endpoints (hollow squares) are shown on the original network. Hollow circles: boundary vertices The original ends become centroids of the E-faces of the end-legs of the adjusted control polygons they will be interpolated automatically. An example of such an interpolation is given in Fig. 19. Clearly, the effect of the C 1 constraint across the curve forces the surface to extend beyond the end of the curve. This is not the case in the C 0 across, as explained in the previous section. In the Catmull Clark case, this can also be achieved using the polygonal complex approach. Open curves with ends on the boundary of the surface. The problem here is that the two curves, namely the interpolated and the boundary ones, need to intersect, and it is not particularly easy to define two B-splines with such a property. Merely having their

20 21 Fig. 20. Open curves with both ends on the boundary of the surface. Top: Doo Sabin case; bottom: combined scheme based on the Catmull Clark case. (Cubic figure from Levin 1999a) Fig. 21. A cube interpolating an open curve defined by a partial path of two edges of the boundary polygon polygons share a common vertex does not imply this at all, although it is a reasonable convention as a way of indicating to the software that the curves are intended to meet. The simplest solution is to insist that both curves should contain the common point as a marked C 1 - interpolated point. The next alternative is to identify the equations which link a common point to each of the polygons and merge them to give a constraint which the two polygons together must satisfy. A minimal perturbation can then be applied to the polygons before they are actually used. The third possibility is essentially that of Method E, which puts a short-wavelength perturbation into each of the curves after the first iteration. In the Doo Sabin case (Nasri 1997b), after fixing the boundary polygons to interpolate the intersection point as a C 1, two methods can be used depending on the way the boundary curves are interpolated. In the case of an analogue of Method C, one step of a non-uniform subdivision process can be applied followed by a polygonal construction process. If, however, an analogue to Method B is used, the solution consists of (i) modifying the boundary faces of the polyhedron, (ii) applying the polygo-

Fig. 22. Interpolating intersecting curves. Doo Sabin case (top): a tap surface with various intersecting curves. Cubic case (bottom): combined scheme (left) and Catmull Clark polygonal complexes scheme (right). (Combined figure from Levin 1999a) nal complex construction, (iii) undoing the modification performed in (i), and (iv) re-applying the boundary modification to incorporate the topology changes induced by the panel construction. Figure 20 shows an example of a curve with both ends on the boundary using the Doo Sabin and combined schemes. In a Catmull Clark context, the polygonal complex approach is also applicable here (Nasri and Abbas 2002). Partial boundary interpolation. Here part of the boundary polygon can be tagged as a separate control polygon whose curve is to be interpolated by the boundary of the surface as shown in Fig. 21. If an end-point of such a partial control polygon is to be interpolated, one of the curve methods can be used to fix this polygon. For example, in the Doo Sabin case, Method B can be used in the fixing procedure, which involves extending the corresponding end-leg about its end-point. After that, one of the Methods A E can be applied to interpolate a non-simple loop. The method could also be applied to the Catmull Clark case, but it is not reported in the literature. 6.2.3 Interpolation of intersecting interior curves The problem here, as in the previous section, is how to specify the intersection of curves. Curves whose polygons intersect do not in general themselves intersect.

In the Doo Sabin case, for each curve a polygonal complex can be built using Method E. Each intersection point will correspond to a doubly reflected panel shared by the constructed complexes. In the Catmull Clark case, the combined scheme or the polygonal complex can also be used. However, neither approach can handle more than two intersecting curves (as shown in Fig. 22). The case of n intersecting curves is a challenging problem to be solved. The solution in the Doo Sabin setting is treated by Nasri (2001a), but the cubic case remains open. Furthermore, different levels of continuity may be required across these curves: C 0, C 1 or higher for each or some of the intersecting curves. 6.3 Interpolation of curves with controlled cross-slopes It may reasonably be required that the surface near an interpolated or boundary curve be controlled by specifying cross-slopes. The problem is how to specify the way the tangent planes vary along the curve. In a blending context, the information from the initial surfaces can be used to specify such slopes (Levin 1999b; Nasri 2001b). Another question is the compatibility issue of interaction with the boundary or intersecting curves to be interpolated. This remains an open problem. 6.4 Higher-order interpolation constraints Higher-order interpolation constraints should also be considered. Curvature across interpolated curves can be specified and met, which is subject to further research (Nasri 2001b). The interface to specify such a constraint is also another issue to be studied. 7 Conclusions In this paper, we have described many of the situations which arise in applying recursive subdivision surface theory in practice and have identified the known solutions. Not all of them have neat solutions, however, the major outstanding problems are as follows: What is the best solution to the interpolation of concave corners in the general setting? How can surfaces with multiple boundary loops be generated? How can a subdivision surface be constrained to interpolate given curvature or higher-order derivatives across an interpolated curve? Given a set of control polygons defining n (n 4) intersecting mesh of curves, how can a recursive subdivision surface that interpolates these curves be constructed? If software embodying the techniques described here were available, we believe that the surface designer would be able to define an appropriate polyhedron which converges to a surface satisfying the required constraints. Acknowledgements. Thanks are due to the American University of Beirut, the Lebanese National Council for Scientific Research, and the Royal Society of London for supporting this work. The authors are grateful to the anonymous referees for their valuable comments. References 1. Ball A, Storry D (1984) Recursively generated B-spline surfaces. Proceeding of CAD 84, Butterworths, Brighton, pp 112 119 2. Biermann H, Levin A, Zorin D (2000) Piecewise smooth subdivision surfaces with normal control. SIGGRAPH 00 Conference Proceedings. ACM, New York, pp 113 120 3. Catmull E, Clark J (1978) Recursively generated B-spline surfaces on arbitrary topological meshes. Comput Aided Des 10(6):350 355 4. Chaikin GM (1974) An algorithm for high speed curve generation. Comput Graph Image Process 3(12):346 349 5. Doo DW (1978) A method of smoothing highly irregular polyhedrons. Proceedings of Computer-Aided Geometric Design, IEEE Computer Society, Bologna 6. Doo D, Sabin M (1978) Behavior of recursive division surfaces near extraordinary points. Comput Aided Des 10(6):356 360 7. Dubuc S, Deslauriers G (1989) Symmetric iterative interpolation processes. Constr Approx 5:49 68 8. Dyn N, Levin D (1990) A butterfly subdivision scheme for surface interpolation with tension control. ACM Trans Graph 9:160 169 9. Dyn N, Gregory JA, Levin D (1987) A 4-point interpolatory subdivision scheme for curve design. Comput Aided Geom Des 4:257 268 10. Dyn N, Gregory JA, Levin D (1990) Uniform subdivision algorithms for curves and surfaces. In: Mason JC, Cox MG (eds) Algorithms for Approximation II. Chapman and Hall, New York, pp 278 295 11. Gregory JA, Qu R (1996) Non-uniform Corner Cutting. Comput Aided Geom Des 20:1 10 12. Habib A (1996) Three approaches to building curves and surfaces in CAGD. PhD dissertation, Rice University, Houston 13. Halstead M, Kass M, De Rose T (1993) Efficient, fair interpolation using Catmull Clark surfaces. Comput Graph 27(3):35 44

14. Hoppe H, DeRose T, Duchamp T, Halstead M, Jin H, McDonald J, Schweitzer J, Stuetzle W (1994) Piecewise smooth surface reconstruction. Comput Graph 28(3):295 302 15. Kobbelt L (1996) Interpolatory subdivision on open quadrilateral nets with arbitrary topology. Comput Graph Forum 15:409 420 16. Levin A (1999a) Interpolating nets of curves by smooth subdivision surfaces. In: SIGGRAPH 99 Conference Proceedings. ACM, New York, pp 57 64 17. Levin A (1999b) Combined subdivision schemes for the design of surfaces satisfying boundary conditions. Computer Aided Geom Des 16:345 354 18. Loop CT (1994) Smooth spline surfaces over irregular meshes. Comput Graph 24(3):303 310 19. Nasri A (1987) Polyhedral subdivision methods for free form surfaces. ACM Trans Graph 8(1):89 96 20. Nasri A (1991a) Surface interpolation on irregular network with normal constraints. Comput Aided Geom Des 8(1):89 96 21. Nasri AH (1991b) Boundary-corner control in recursive subdivision surfaces. Comput Aided Des 23(6):405 410 22. Nasri AH (1997a) Curve interpolation in recursively generated surfaces over arbitrary topology. Comput Aided Geom Des 14(1):13 30 23. Nasri AH (1997b) A non-uniform Doo Sabin subdivision scheme with boundary control. Technical Report TR97/1, American University of Beirut 24. Nasri AH (1998) A 4-sided approach for interpolating B-spline curves by recursive subdivision surfaces. Visual Comput 14(7):343 353 25. Nasri AH (2000) Recursive subdivision of polygonal complexes and its applications in CAGD. Comput Aided Geom Des 17(7):1 25 26. Nasri AH (2001a) Interpolating unlimited number of curves through an extraordinary point of Doo Sabin subdivision surfaces. Technical Report TR01/2, American University of Beirut 27. Nasri AH (2001b) Constructing polygonal complexes with shape handles for curve interpolation by subdivision surfaces. Comput Aided Des 33(11):753 765 28. Nasri A, Abbas A (2002) Designing Catmull Clark subdivision surfaces with curve interpolation constraints. To appear in: J Comput Graph 29. Nasri AH, Sabin MA (2001) Designing subdivision surfaces from various constraints. Technical Report TR-01/3, American University of Beirut 30. Nasri A, Sabin M (2002) Taxonomy of interpolation constraints on recursive subdivision curves. Visual Comput 31. Nasri A, Kim T, Lee K (2002) Polygonal mesh regularization for subdivision surfaces. To appear in Visual Comput 32. Peters J (1993) Smooth free-form surfaces over irregular meshes generalizing quadratic splines. Comput Aided Geom Des 10(4):347 361 33. Peters J, Reif U (1998) Analysis of generalized B-spline subdivision algorithms. SIAM J Numer Anal 35(2):728 748 34. Peters J, Reif U (1997) The simplest subdivision scheme for smoothing polyhedra. ACM Trans Graph 16(4):420 431 35. Prautzsch H (1995) Analysis of C k -subdivision surfaces at extraordinary points. Preprint, IBDS, Universität Karlsruhe, presented at Oberwolfach 36. Reif U (1995) A unified approach to subdivision algorithms near extraordinary vertices. Comput Aided Geom Des 12:153 174 37. Reif U (1999) Analyse und Konstruktion von Subdivisionsalgorithmen für Freiformflächen beliebiger Topologie D93. Habil-Schr, Universität Stuttgart. Shaker, Aachen 38. Sabin MA (1986) Recursive subdivision. In: Gregory JA (ed) The Mathematics of Surfaces. Clarendon, Oxford, pp 269 282 39. Schweitzer J (1996) Analysis and application of subdivision surfaces. PhD dissertation, Department of Computer Science and Engineering, University of Washington, Seattle 40. Sederberg TW, Zheng J, Sewell D, Sabin M (1998) Nonuniform recursive subdivision surfaces. In: SIGGRAPH 98 Conference Proceedings. ACM, New York, pp 387 394 41. Warren J (1995) Binary subdivision schemes for functions over irregular knot sequences. In: Dæhlen M, Lyche T, Shumaker L (eds) Mathematical methods for curves and surfaces. Vanderbilt University, Nashville, pp 543 562 42. Zorin D, Schröder P (2000) Subdivision For modeling and animation. In: SIGGRAPH 00 Course Notes. ACM, New York Photographs of the authors and their biographies are given on the next page.

AHMAD H. NASRI is an associate professor at the Department of Mathematics and Computer Science, American University of Beirut, Lebanon. He received a B.S. degree in Mathematics from the Lebanese University (Lebanon) in 1978, and a Ph.D. degree in Computer Graphics from the University of East Anglia, U.K., in 1985. He was a research visitor at MIT, Arizona State University, Purdue University, Seoul National University (Korea), Cambridge University (UK), and Bremen University (Germany). He is on the editorial board of the International Journal of CAD/CAM and the International Journal of Shape Modeling and has served on the PC committee of several international conferences. He is the Co-editor (with M. Sabin) of the TVC special issue on subdivision (2002). Since 1982 he has been involved in promoting subdivision surfaces and providing solutions to various interpolation constraints on them. His research interests include Recursive Subdivision in Geometric Modeling and Computer Graphics, Data Visualization, and Computer Graphics in Education. MALCOLM SABIN was first involved with subdivision surfaces in the mid 1970s work which led to the joint paper with D.W.H. Doo. Ever since then he has maintained his interest in the subject, making occasional contributions to conferences. More recently, with the upsurge of commercial interest in subdivision, he has been involved in the MINGLE project on multiresolution methods. He gave tutorials on the subject at Shape Modeling 2001 and at the Primus Summer School. His current interest within subdivision is in categorisation and analysis so that we can be certain that all possible refinement schemes can be considered by those responsible for choosing which variant to embody in commercial products, and that we really understand their properties.