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:
[email protected] Abstract We present a new kind of subdivision schemes, which we call combined subdivision schemes. Such schemes are used to re ne a given control net, taking into consideration boundary conditions on the limit surface. Several schemes are presented that generate limit surfaces interpolating given boundary curves and cross boundary derivatives. The interpolated boundary curves are arbitrary parametric curves, and are not restricted to subdivision curves or to spline curves. Key words: Subdivision schemes, Combined subdivision schemes, boundary conditions.
1 Introduction The attractivity of bi-variate subdivision schemes for the representation of smooth surfaces of three-dimensional objects, comes from their simplicity and adaptivity to meshes of general topology. This is their main advantage over the commonly used tensor-product surfaces. Subdivision schemes operate as follows: Given a set of initial control points 0 , the scheme performs local operations to calculate a ner set of points 1. This process is repeated recursively, generating n with = 2 3 . In the limit, the points n converge to a limit surface . In this setting, the way to force boundary conditions on the limit surface, is to translate these conditions to conditions on 0. P
P
P
P
n
;
; :::
s
P
Subdivision schemes have already been used by Schweitzer [6], by Nasri [5] and by Kobbelt [2] to de ne 'open surfaces', i.e. surfaces with boundaries. In [5], the boundaries of limit surfaces of Doo-Sabin's subdivision scheme, are identi ed as quadratic B-spline curves, under certain conditions on the control polygon. Preprint submitted to Elsevier Preprint
23 November 1998
In [6], Loop's scheme is extended to a non-uniform subdivision scheme whose limit surfaces can have creases and corner points, by introducing dierent subdivision rules near special areas of the control net. In [2] the tensor product four point scheme is extended to an interpolatory subdivision scheme that works for quadrilateral meshes of arbitrary topology. All of these papers deal with speci cs schemes, and remain within the classical subdivision setting, providing a rule that re nes control points by local operations on them. In this paper, we present a new kind of subdivision schemes, named combined subdivision schemes. A combined scheme calculates the points on the next re nement level, taking into consideration given boundary conditions. In this setting, conditions on the limit surface can be translated to conditions on the scheme itself, rather than on the initial control points as done in [5,6,2] reviewed above. A key requirement is that combined subdivision schemes remain as local and as simple as ordinary subdivision schemes. As a result, the process of constraining the boundaries of the limit surface becomes considerably simpler. The combined schemes that we design dier from ordinary subdivision schemes only in their action near the boundary of the control net. Away from the boundary we apply known subdivision schemes. The input to a combined subdivision scheme consists of a set of initial control points 0 and boundary conditions on the limit surface. The scheme performs local operations on 0 and on to calculate a ner set of points 1. This process is repeated recursively, generating n with = 2 3 . P
c
P
c
P
P
n
;
; :::
This paper demonstrates the implementation of this idea in several cases. For each example, we constructed special schemes that operate near the boundary and we checked their smoothness using the theory developed in [3].
2 Interpolating smooth boundary curves with Catmull Clark's scheme Catmull Clark's scheme is de ned in [1] over meshes with no boundaries, as follows: Every 'face' of the mesh is divided into 4-sided 'faces', as shown in gure 1. There are three types of vertices in the resulting mesh (see gure 2): (a) A vertex that corresponds to an old 'face' is calculated by averaging the control points de ning the 'face'. (b) A vertex that corresponds to an old edge is calculated by averaging the control points corresponding to the two old vertices at the ends of 2
Fig. 1. Quadrilateral subdivision made by Catmull Clark's scheme
1
1
1
1
1 1
1
1
1
1 Wn 1
1
1
1
(a)
1
(b)
1
1
(c)
Fig. 2. Stencils of Catmull Clark's scheme (up to division by the sum of the weights)
that edge, and to the two new vertices that correspond to the two old 'faces' near that edge. (c) A vertex corresponding to an old vertex is calculated by averaging the control points corresponding to the old vertex, the old beighboring vertices and the new vertices corresponding to the 'faces' sharing the old vertex. The old vertex is given a higher weight n, which depends on the valency of that vertex. w
n
The topology of the new mesh can be deduced from gure 1. The value 4 = 8 guarantees that the scheme generates cubic tensor product splines, except near extraordinary vertices (i.e. vertices with valency 6= 4). There are dierent possible formulas for n when 6= 4. In the following examples, we take n = ( ? 2) for 6= 4. w
w
w
n n
n
n
For the combined scheme we use a simple rule called boundary sampling: We assume that the boundary condition is given in the form of a smooth parametric curve ( ) and that every boundary vertex lies on the given curve. A new c u
3
c(u0)
old boundary edge
c(u1)
C
c( u0+u1 ) 2 new boundary vertex
Fig. 3. Boundary sampling
Fig. 4. The input to the combined scheme
boundary vertex is calculated by appropriate sampling of the given curve, as depicted in gure 3. The combined scheme is de ned as follows: Apply Catmull Clark's scheme everywhere except for the boundary of the mesh. On the boundary of the mesh apply Boundary sampling. Figure 4 shows an example for the input to the combined scheme: A curve, with an initial control net. The boundary vertices lie on the given curve. Figure 5 shows the resulting meshes after four iterations of subdivision. In the next example, we use the combined scheme to design a surface with three prescribed boundaries. Figure 6 shows the input to the combined scheme, along with two iterations of the scheme, and the surface obtained after 4 iterations. A sucient condition for 2 smoothness of the limit surface near the boundary is that (a) The given boundary curves are 2 (b) The boundary vertices are placed on the boundary curves uniformly with respect to the curves' parametrization (c) Every boundary vertex has valency 3. The required analysis tools can be found in [3]. C
C
4
Fig. 5. Four iterations of the combined scheme
Fig. 6. A surface with three prescribed boundaries
3 Interpolating piecewise smooth boundary curves with Loop's scheme Loop's scheme is de ned in [4] over triangulations with no boundaries, as follows: Every face of the triangulation is divided into four triangles, as shown in gure 7. There are two types of vertices in the resulting mesh: 5
Fig. 7. Triangular subdivision made by Loop's scheme
1
1 1 Wn
1
3
3
1 1
1
Fig. 8. The stencils of Loop's scheme
(1) A vertex that corresponds to an old edge. (2) A vertex that corresponds to an old vertex.
The two stencils that are used to calculate the new vertices are depicted in gure 8. The weight n depends on the valency of the vertex, through the formula 8 ? (1) n= 1 5 ? 8 (3 + 2 cos( 2n ))2 W
n
n
W
n:
We extend this scheme to a combined scheme by the rule of boundary sampling depicted in gure 3. Near corners (breakpoints) of the boundary curves, we introduce the a dierent stencil, for a new vertex which corresponds to an old edge that starts with a corner vertex, as depicted in gure 9. The choice of this scheme guarantees that the limit surfaces are almost 2 near corners of the boundary (An application of the Loop's stencil given in gure 8 near the breakpoints generates limit surfaces with in nite curvature on the boundary breakpoints). G
In the following example, we start with a boundary curve that has ve breakpoints. The initial mesh contains the ve breakpoints, and another internal vertex. Figure 10 shows a top view of the subdivision process. Figure 11 shows a side view of two subdivision iterations, and the surface obtained after 4 iterations. We have shown that the limit surface is 6
C
2
near the boundary, except at the
1
1
1
1
Fig. 9. The stencil used near corner vertices
Fig. 10. Three iterations of the combined scheme
corners of the boundary curves, where we only have a necessary condition for smoothness.
4 Prescribing cross-boundary derivatives with Catmull Clark's scheme The schemes we have developed in sections 2 and 3 accept as boundary conditions only given boundary curves. In this section, we introduce a scheme that accepts as input boundary conditions of higher order. Our motivation is to prescribe not only the boundary curves, but also the normal vectors (or the tangent plane) of the surface at the boundary, in order to force tangency to a given neighboring surface. Assuming that the neighboring surface is a parametric surface where the 7
Fig. 11. Two iterations of the combined scheme, and the limit surface
boundary curve is an iso-parametric curve, we have the boundary curve given as a parametric curve, and the surface partial derivatives on the boundary (with respect to the second parameter) given as a second function. We call the values of this function cross boundary derivatives. The following scheme is based on the scheme developed in section 2, namely Catmull Clark's scheme away from the boundary, and boundary sampling on the boundary. Here we add two more stencils for the calculation of one layer of new vertices near the boundary. These vertices should depend on given cross-boundary derivatives. There are two kinds of such vertices: (a) Vertices that correspond to old edges with a vertex on the boundary. (b) Vertices that correspond to old boundary faces. The stencils for the two cases are depicted in gure 12. The bold lines signify boundary edges. The arrow signi es the given cross boundary derivative. The weight 6 in stencil (b) multiplies the value of the boundary curve at the averaged parameter. The cross boundary derivative is multiplied by L and added to the average of the control points with unnormalized weights depicted in gure 12. The weight L depends on the level of subdivision, and is given by W
W
L
WL
The constant
C
= 2?L C
:
(2)
aects the shape of the resulting surface.
The cross boundary derivative has to be given as a function of the correspond8
(a)
2
4
(b)
2
1
WL
−3
38
1 WL
−3
1
6
1
Fig. 12. Stencils that consider cross-boundary derivatives
Fig. 13. An initial mesh for a blend surface between three cylinders
ing parameter on the boundary curve. A sample of that function between two existing vertices is taken at the averaged parameter value. In the following example, we use this combined scheme to create a blending surface between given cylinders. Figure 13 shows the initial mesh, with the three given cylinders that de ne the cross boundary derivatives. Figure 14 shows three iterations of subdivision, and the limit surface. In a similar way, we can blend any number of cylinders. Figures 15 and 16 show the initial mesh and the limit surface, Blending 5 and 7 cylinders respectively.
5 Conclusions Combined subdivision schemes can be used to generate surfaces satisfying different kinds of boundary conditions. These schemes oer a simple alternative to other methods for prescribing boundary conditions, since they do not involve the solution of systems of equations, but only explicit evaluation of the boundary conditions. 9
Fig. 14. Four iterations of the combined scheme, and the limit surface
Fig. 15. Blending ve cylinders
Fig. 16. Blending seven cylinders
Their main advantage over existing methods is that they enable the representation of surfaces that satsify arbitrary boundary conditions, while in existing surface representations the boundary curves are restricted to subdivision curves or spline curves. 10
Acknowledgement This work is sponsored by the Israeli Ministry of Science. I also wish to thank my supervisor in this work, Nira Dyn, for her guidance and helpful comments.
References [1] D. Doo and M. Sabin. Behaviour of recursive division surface near extraordinary points. Computer Aided Design, 10:356{360, 1978. [2] L. Kobbelt, T. Hesse, H. Prautzsch, and K. Schweizerhof. Interpolatory subdivsion on open quadrilateral nets with arbitrary topology. Computer Graphics Forum, 15:409{420, 1996. Eurographics '96 issue. [3] A. Levin. Analysis of combined subdivision schemes for the design of surfaces satisfying boundary conditions. http://www.math.tau.ac.il/~adilev, 1998. [4] C. Loop. Smooth spline surfaces based on triangles. Master's thesis, University of Utah, Department of Mathematics, 1987. [5] A. H. Nasri. Free-form curve generation by recursive subdivision of polygonal complexes. presented at Nashville, November 1997. [6] J. Schweitzer. Analysis and Applications of Subdivision Surfaces. PhD thesis, University of Washington, Seattle, 1996.
11