A weak condition for the convexity of tensor-product Bézier and B-spline surfaces

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

Rational Bezier Surface

On the deviation of a parametric cubic spline interpolant from its data polygon

Discrete Coons patches

The Essentials of CAGD

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

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

Curves and Surfaces for Computer-Aided Geometric Design

08 - Designing Approximating Curves

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331

Sung-Eui Yoon ( 윤성의 )

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

Curve and Surface Basics

Adaptive and Smooth Surface Construction by Triangular A-Patches

A generalized conversion matrix between non-uniform B-spline and Bézier representations with applications in CAGD

A new 8-node quadrilateral spline finite element

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

Quasi-Quartic Trigonometric Bézier Curves and Surfaces with Shape Parameters

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

On an approach for cubic Bézier interpolation

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

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

Using Farin points for rational Bézier surfaces

On the Dimension of the Bivariate Spline Space S 1 3( )

Rational Bezier Curves

Lecture 9: Introduction to Spline Curves

Figure 5.1: Spline and ducks.

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

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

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

SPLINE APPROXIMATION VIA THE CONTROL POLYGON

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

CHAPTER 6 Parametric Spline Curves

Computer Graphics Curves and Surfaces. Matthias Teschner

Generalised Mean Averaging Interpolation by Discrete Cubic Splines

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

Derivative. Bernstein polynomials: Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 313

Efficient Degree Elevation and Knot Insertion for B-spline Curves using Derivatives

Freeform Curves on Spheres of Arbitrary Dimension

February 2017 (1/20) 2 Piecewise Polynomial Interpolation 2.2 (Natural) Cubic Splines. MA378/531 Numerical Analysis II ( NA2 )

REGULAR GRAPHS OF GIVEN GIRTH. Contents

Closest Points, Moving Surfaces, and Algebraic Geometry

Generalized barycentric coordinates

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:

Design considerations

INTERPOLATION BY QUARTIC SPLINE

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Need for Parametric Equations

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes)

Important Properties of B-spline Basis Functions

PACKING DIGRAPHS WITH DIRECTED CLOSED TRAILS

A general matrix representation for non-uniform B-spline subdivision with boundary control

Parameterization. Michael S. Floater. November 10, 2011

Dimensions of Spline Spaces over 3D Hierarchical T-Meshes

Quadratic and cubic b-splines by generalizing higher-order voronoi diagrams

ECE 600, Dr. Farag, Summer 09

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

p y = 0 x c Figure : Stereographic projection. r p p y = 0 c p Figure : Central projection. Furthermore, we will discuss representations of entire sph

Kai Hormann, N. Sukumar. Generalized Barycentric Coordinates in Computer Graphics and Computational Mechanics

2D Spline Curves. CS 4620 Lecture 13

Convergence of C 2 Deficient Quartic Spline Interpolation

Parameterization for curve interpolation

Positivity Preserving Interpolation of Positive Data by Rational Quadratic Trigonometric Spline

On-Line Geometric Modeling Notes REFINEMENT

Computergrafik. Matthias Zwicker. Herbst 2010

Deficient Quartic Spline Interpolation

C 1 Quintic Spline Interpolation Over Tetrahedral Partitions

Spline curves. in polar and Cartesian coordinates. Giulio Casciola and Serena Morigi. Department of Mathematics, University of Bologna, Italy

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

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo

A Practical Review of Uniform B-Splines

Construct Piecewise Hermite Interpolation Surface with Blending Methods

Discrete Cubic Interpolatory Splines

Knot Insertion and Reparametrization of Interval B-spline Curves

Linear Precision for Parametric Patches

3D Modeling Parametric Curves & Surfaces

Parametric curves. Brian Curless CSE 457 Spring 2016

On the graphical display of Powell-Sabin splines: a comparison of three piecewise linear approximations

Natural Quartic Spline

2D Spline Curves. CS 4620 Lecture 18

lecture 10: B-Splines

E-learning solutions in curve and surface design Corina DanaSimian

An Introduction to B-Spline Curves

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

BS-Patch: Constrained Bezier Parametric Patch

Almost Curvature Continuous Fitting of B-Spline Surfaces

(Spline, Bezier, B-Spline)

Central issues in modelling

An introduction to interpolation and splines

Local Approximation by Splines with Displacement of Nodes

A New Class of Quasi-Cubic Trigonometric Bezier Curve and Surfaces

= f (a, b) + (hf x + kf y ) (a,b) +

Transcription:

A weak condition for the convexity of tensor-product Bézier B-spline surfaces Michael S. Floater SINTEF-SI P.O. Box 124, Blindern 0314 Oslo Norway September 1993 Abstract. A sufficient condition for a tensor-product Bézier surface to be convex is presented. The condition does not require that the control surface itself is convex which is known to be a very restrictive property anyway. The convexity condition is generalised to C 1 tensor-product B-spline surfaces. Keywords. convexity, Bézier surface, B-spline surface, tensor-product 1. Introduction It was shown by Chang & Davis (1984) that if the control polygon (defined as the piecewise linear interpolant to the control points) of a Bézier triangle surface is convex then so is the Bézier surface itself. This work led to a good deal of research in this area, surveys papers have been written by Goodman (1989) Dahmen (1991). The condition has been generalised to higher dimensional domains higher dimensional functions. Weaker conditions have been found, for example by Chang & Feng (1984). Meanwhile the tensor-product Bézier surface seems to have been somewhat neglected. Apparently, the only existing convexity condition is Theorem 1, due to Cavaretta & Sharma (1990), which is an analogy of Chang & Davis s result for triangles. Yet this condition is unrealistic in most situations. To put this paper in context we now briefly describe Theorem 1 its weakness. The tensor-product Bézier surface with control points p i,j IR is defined as m n S(x,y) = B i,m (x)b j,n (y)p i,j (1) for x [0, 1], y [0, 1] where B i,k (t) = ( ) k t i (1 t) k i i is the ith Bernstein basis function of degree k. The surface (or function) S is said to be of degree m n we assume that m 1, n 1. The control surface Ŝ(x,y) corresponding to S is the piecewise bilinear surface interpolating the control points p i,j at the abscissae (i/m,j/n). More precisely let Ŝ(x,y) = (i + 1 mx)(j + 1 ny)p i,j + (mx i)(j + 1 ny)p i+1,j + (i + 1 mx)(ny j)p i,j+1 + (mx i)(ny j)p i+1,j+1 1

for Thus i m x i + 1 m, Ŝ j n y j + 1, 0 i m 1, 0 j n 1. n ( i m, j ) = p i,j, 0 i m, 0 j n, n Ŝ is bilinear on each rectangle of a regular subdivision of [0, 1] [0, 1], see Goodman (1989). The following theorem was proved by Cavaretta Sharma (1990). Theorem 1. If Ŝ is convex then S is convex. The condition that Ŝ is convex is simple to formulate it has a pleasing geometric interpretation. But unfortunately it rules out the vast majority of surfaces. Indeed, if Ŝ is to be convex, S must be a translational surface, as pointed out by Dahmen (1991). The function S is said to be translational if it can be expressed in the form S(x,y) = f(x) + g(y). To see that S is translational whenever Ŝ is convex, observe that within each rectangular patch, Ŝxx = Ŝyy = 0 which in turn implies that Ŝ xy = mn(p i,j p i+1,j p i,j+1 + p i+1,j+1 ) = 0. So Ŝ is not only bilinear but also linear in each patch. By successively adding the above expression together using different indices, one also finds It follows that S(x,y) = p 0,0 p i,0 p 0,j + p i,j = 0. m B i,m (x)p i,0 + n B j,n (y)p 0,j p 0,0 (2) every row of control points is a translation of any other row; hence the name. It was this deficiency that motivated this paper. Is it possible to derive a weaker condition for the convexity of S in terms of the p i,j which at least does not dem that S is translational? The answer is yes we present the new convexity condition in Theorem 2, Section 2. Though lacking somewhat in elegance, perhaps, the condition in Theorem 2 bears a resemblance to the improved condition of Chang & Feng (1984) for triangles. By this we mean that we work directly with the Hessian matrix rather than use degree raising. The main difficulty with tensor-product surfaces is that the three partial second derivatives are polynomials of different degrees, unlike in the Bézier triangle case. We overcome this obstacle by artificially reducing the degrees as necessary so as to obtain the same degree throughout (compare (7) with (10)). If one wanted to carry out a computation to see whether the condition in Theorem 2 was satisfied, one would use the alternative form Theorem 2. Theorems 2 2 apply only when the degree of S is at least 2 in both variables. In the remaining cases, m = 1 n = 1, we present convexity conditions in Theorem 3. We complete Section 2 with a description of 2

a simple example of a convex polynomial for which Theorem 2 is valid while Theorem 1 is not. An analogous condition, Theorem 6, for the convexity of a C 1 (non-uniform) B-spline surface is presented in Section 4. The proof uses de Boor points in place of de Casteljau points. Definitions for B-spline surfaces are given in Section 3. 2. A convexity condition for Bézier surfaces The cases m = 1 or n = 1 will be covered later in this section. For now we will assume that m 2 n 2. Recall that a C 2 function S(x,y) of two variables is convex iff its Hessian matrix [ Sxx S xy S xy S yy ] is positive semi-definite for all x y. This is equivalent to the property S xx λ 2 1 + 2S xy λ 1 λ 2 + S yy λ 2 2 0, (3) for any λ 1,λ 2 IR any x, y. Thus we seek a condition on p i,j to ensure that (3) holds. It is also well known from linear algebra that the inequality holds for all λ 1,λ 2 IR iff Thus the convexity of S is equivalent to aλ 2 1 + 2bλ 1 λ 2 + cλ 2 2 0, (4) a 0, c 0, ac b 2. (5) S xx 0, S yy 0, S xx S yy S 2 xy. (6) We shall derive convexity conditions in the form of (5). By using the identity B i,k(x) = k(b i 1,k 1 (x) B i,k 1 (x)), see Farin (1988), one can write the second derivatives of S as Bézier surfaces: where m 2 S xx (x,y) = S xy (x,y) = S yy (x,y) = m 1 n B i,m 2 (x)b j,n (y)a i,j, n 1 B i,m 1 (x)b j,n 1 (y)b i,j, m n 2 B i,m (x)b j,n 2 (y)c i,j, a i,j =m(m 1)(p i,j 2p i+1,j + p i+2,j ), b i,j =mn(p i,j p i+1,j p i,j+1 + p i+1,j+1 ), c i,j =n(n 1)(p i,j 2p i,j+1 + p i,j+2 ). 3 (7) (8)

Now in order to combine the left h side of (3) into a single Bézier surface, we introduce the de Casteljau points (Farin, 1988). The de Casteljau point p r,s i,j (x,y), a function of x y, is defined recursively as p 0,0 i,j (x,y) = p i,j, for all other r {0,...,m}, s {0,...,n}, p r,s i,j p r,s i,j (x,y) =(1 x)pr 1,s i,j (x,y) + xp r 1,s i+1,j (x,y), (x,y) =(1 y)pr,s 1 i,j (x,y) + yp r,s 1 i,j+1 (x,y). (9) The order of evaluation does not matter; the de Casteljau points are unique despite there being a choice of the two definitions in (9). Then it is well known that S(x,y) = p m,n 0,0 (x,y) = m r n s B i,m r (x)b j,n s (y)p r,s i,j (x,y). We can then express the three second derivatives of S in terms of Bernstein polynomials of degree m 2 n 2: S xx (x,y) = S xy (x,y) = S yy (x,y) = m 2 m 2 m 2 n 2 n 2 n 2 B i,m 2 (x)b j,n 2 (y)a 0,2 i,j (y), B i,m 2 (x)b j,n 2 (y)b 1,1 i,j (x,y), B i,m 2 (x)b j,n 2 (y)c 2,0 i,j (x). (10) Then (3) becomes where m 2 n 2 B i,m 2 (x)b j,n 2 (y)d i,j (x,y) 0 d i,j (x,y) = λ 2 1a 0,2 i,j (y) + 2λ 1λ 2 b 1,1 i,j (x,y) + λ2 2c 2,0 i,j (x). Because the basis functions are non-negative it is thus sufficient to show that d i,j (x,y) 0 (11) for all x y in [0, 1] for all i {0,...,m 2}, j {0,...,n 2}. Our goal is now to reduce (11) to a set of inequalities not involving x y. We take advantage of the fact that a 0,2 i,j (y) b1,1 i,j (x,y) are linear combinations of de Casteljau points of lower degree in y. From the second equation in (9) one finds b 1,1 i,j a 0,2 i,j (y) =(1 y)a0,1 i,j (y) + ya0,1 i,j+1 (y), (x,y) =(1 y)b1,0 i,j (x) + yb1,0 i,j+1 (x). 4

Therefore d i,j (x,y) =(1 y)(λ 2 1a 0,1 i,j (y) + 2λ 1λ 2 b 1,0 i,j (x) + λ2 2c 2,0 i,j (x)) so a sufficient condition for (11) to hold is that for l {0, 1}. Similarly we may employ + y(λ 2 1a 0,1 i,j+1 (y) + 2λ 1λ 2 b 1,0 i,j+1 (x) + λ2 2c 2,0 i,j (x)) λ 2 1a 0,1 i,j+l (y) + 2λ 1λ 2 b 1,0 i,j+l (x) + λ2 2c 2,0 i,j (x) 0, b 1,0 i,j+l (x) =(1 x)b i,j+l + xb i+1,j+l, c 2,0 i,j (x) =(1 x)c1,0 i,j (x) + xc1,0 i+1,j (x), to prove that the following four inequalities are sufficient. λ 2 1a 0,1 i,j+l (y) + 2λ 1λ 2 b i+k,j+l + λ 2 2c 1,0 i+k,j (x) 0, for k,l {0, 1}. Finally, by using the linear interpolations it is sufficient that the sixteen conditions a 0,1 i,j+l (y) =(1 y)a i,j+l + ya i,j+l+1, c 1,0 i+k,j (x) =(1 x)c i+k,j + xc i+k+1,j, λ 2 1a i,j+l+s + 2λ 1 λ 2 b i+k,j+l + λ 2 2c i+k+r,j 0, (12) for k,l,r,s {0, 1} are satisfied. Due to the equivalence of (4) (5) we have the equivalent conditions a i,j+l+s 0, c i+k+r,j 0, a i,j+l+s c i+k+r,j b 2 i+k,j+l, for i = 0,...,m 2, j = 0,...,n 2 k,l,r,s {0, 1}. We have thus proved the following theorem. Theorem 2. Let S be the Bézier surface (1) suppose that m 2 n 2. If a i,j 0 for,...,m 2,,...,n, (13) c i,j 0 for,...,m,,...,n 2, (14) a i,j+l+s c i+k+r,j b 2 i+k,j+l for,...,m 2,,...,n 2, k,l,r,s {0,1}, (15) where the terms a i,j, b i,j, c i,j are defined in (8), then S is convex. There is some cancellation in the inequalities in practice one would define A i,j =p i,j 2p i+1,j + p i+2,j, B i,j =p i,j p i+1,j p i,j+1 + p i+1,j+1, C i,j =p i,j 2p i,j+1 + p i,j+2. 5

y 1 j/n 0 0 i/m 1 x Figure 1. For fixed i j each inequality only involves points in a 3 3 subgrid. Then, since a i,j =m(m 1)A i,j, b i,j =mnb i,j, c i,j =n(n 1)C i,j, we can express Theorem 2 in an alternative form. Theorem 2. Let S be the Bézier surface (1) suppose that m 2 n 2. If A i,j 0 C i,j 0 for,...,m 2,,...,n, for,...,m,,...,n 2, A i,j+l+s C i+k+r,j KB 2 i+k,j+l for,...,m 2,,...,n 2, k,l,r,s {0,1}, where then S is convex. K = mn (m 1)(n 1), The conditions in Theorem 2 are local in the sense that they are inequalities which only involve control points in the vicinity of p i,j. Indeed each inequality of the form (13) (14) involves three consecutive control points along a horizontal or vertical mesh line respectively, while inequality (15) involves six control points lying within a 3 3 subgrid; see Figure 1. If one insists on a condition which is not only local but also independent of the degree, we can use the fact that K 4 whenever m 2 n 2 replace K by 4 in Theorem 2. There are essentially only three different configurations of the elements a i,j, b i,j, c i,j in inequality (15). These are shown in Figure 2. The others are symmetries of these three. Rotation reflection in horizontal vertical mesh lines give four configurations of types (i) (iii) eight of type (ii) resulting in 16 altogether (there are 16 permutations of the 6

c i,j c i+1,j c i+1,j a i,j+1 b i,j b i,j b i,j j i a i,j j i a i,j j i (i) (ii) (iii) Figure 2. The three configurations of the elements in inequality (15) of Theorem 2. indices k, l, r, s in (15)). The total number of inequalities of type (13) is (m 1)(n+1), of type (14) is (m + 1)(n 1) of type (15) is 16(m 1)(n 1). Note that the conditions of Theorem 2 are necessary if S of degree 2 2 is quadratic rather than merely biquadratic. If S is of the form S(x,y) = A + Bx + Cy + Dx 2 + 2Exy + Fy 2, (16) then S xx, S xy, S yy are constant then from (7), S xx = a 0,0 = a 0,1 = a 0,2, S xy = b 0,0 = b 0,1 = b 1,0 = b 1,1, S yy = c 0,0 = c 1,0 = c 2,0. Therefore from (6) if S is convex then (13 15) hold. In the cases m = 1 or n = 1 the theorem is is no longer relevant. Indeed if S is to be convex when m = 1, for example, we are back to the translational case, as defined in Section 1. If (6) is to hold, we must have S xy = 0 since S xx = 0. So S must be translational it merely remains to get a condition for when S yy 0. But from (7) it is sufficient that c i,j 0 for all i j. Further, due to the form (2) of S we only need c i,j 0 when i = 0. This the other cases are summarised below. Theorem 3. Let S be the Bézier surface (1) suppose that either m = 1 or n = 1 or both. (i) If S is convex then S is translational. (ii) Suppose m = 1, n > 1. If S is translational, if c 0,j 0 for all j {0,...,n 2}, then S is convex. (iii) Suppose m > 1, n = 1. If S is translational, if a i,0 0 for all i {0,...,m 2}, then S is convex. (iv) Suppose m = 1, n = 1. S is convex iff S is translational iff S is linear. Finally, we present an example of a convex function for which Theorem 2 applies while Theorem 1 does not. This is a special case of S being quadratic. Example. Let S(x,y) = A + Bx + Cy + Dx 2 + 2Exy + Fy 2, where A, B, C are arbitrary D 0, F 0, DF E 2. Now if E 0, S is not translational so the condition of Theorem 1 is not satisfied. Meanwhile, from (6) 7

it follows that S is convex since S is also quadratic, the conditions of Theorem 2 are satisfied as explained earlier. 3. B-spline definitions Following the notation of Farin (1988), consider the tensor-product B-spline surface of degree m n containing L 1 L 2 polynomial patches (some of which may be null). It is specified by the knot sequences {u 0 u L1 +2m 2}, {v 0 v L2 +2n 2} the control points p i,j IR for i = 0,...,L 1 +m 1, j = 0,...,L 2 +n 1. The surface is defined by S(u,v) = L 1 +m 1 L 2 +n 1 N i,m (u)n j,n (v)p i,j (17) for u m 1 u u L1 +m 1, v n 1 v v L2 +n 1, where N i,m (u) is the ith basis function of degree m over the u knot sequence. We will assume that the multiplicity of any u/v knot is less than m/n so that S is C 1. N i,m (u) is only nonzero in the interval [u i 1,u i+m ] likewise for N j,n (v). The basis functions can be defined recursively by the Mansfield, de Boor, Cox recursion, see de Boor (1972): for k {1,...,m}, ( u ui 1 N i,k (u) = u i+k 1 u i 1 N i,0 = ) N i,k 1 (u) + ( ui+k u u i+k u i { 1, if ui 1 u < u i ; 0, otherwise. ) N i+1,k 1 (u) In order to obtain the results in Section 4 we need to define the de Boor algorithm the de Boor points. We can treat each (non-null) knot-rectangle separately so from now on we will assume that u I u < u I+1 v J v < v J+1 where I J are chosen arbitrarily such that m 1 I < L 1 +m 1, n 1 J < L 2 +n 1. The surface S(u,v) in this rectangle can be defined recursively by the de Boor algorithm, due to de Boor (1972). By considering the support of the basis functions one can deduce that the only control points which influence the surface in this rectangle are p i,j IR for i = I m + 1,...,I + 1, j = J n + 1,...,J + 1. Thus S(u,v) = I+1 J+1 i=i m+1 j=j n+1 N i,m (u)n i,n (v)p i,j. Now let p 0,0 i,j (u,v) = p i,j for i = I m + 1,...,I + 1, j = J n + 1,...,J + 1. Then define the functions αi,m(u), k βj,n(v) l p k,l i,j (u,v) as α k i,m(u) = (u u i 1 )/(u i+m k u i 1 ) (18) β l j,n(v) = (v v j 1 )/(v j+n l v j 1 ) (19) p k,l i,j (u,v) = (1 αk i,m(u))p k 1,l i 1,j (u,v) + αk i,m(u)p k 1,l i,j (u, v) (20) 8

or p k,l i,j (u,v) = (1 βl j,n(v))p k,l 1 i,j 1 (u,v) + βl j,n(v)p k,l 1 i,j (u, v) (21) for k = 0,...,m, l = 0,...,n, (k,l) (0, 0), i = I m + k + 1,...,I + 1, j = J n+k+1,...,j +1. Then it can be shown that S(u,v) = p m,n I+1,J+1 (u,v), see Farin (1988). The intermediate points p k,l i,j (u,v) in the recursive scheme are known as de Boor points. The order in which one evaluates the de Boor points does not matter (one may use either (20) or (21) if k 1 l 1). More generally, for any r {0,...,m}, s {0,...,n}, we have S(u,v) = I+1 J+1 i=i m+1+r j=j n+1+s N i,m r (u)n j,n s (v)p r,s i,j (u,v). Thus at a given point (u,v), S can be regarded pointwise as a B-spline surface of degree (m r) (n s) with control points p r,s i,j (u,v). We will make use of this property in the next section. 4. Convexity of B-spline surfaces In this section we generalise Theorem 2 to C 1 tensor-product B-splines of degree at least 2 where the multiplicity of each u/v knot is less than the degree m/n. The main difference is that we work with de Boor points instead of de Casteljau points. The proof of convexity within each rectangular patch is otherwise essentially the same. To show that we can work with each polynomial patch separately, we recall the following theorem; see Dahmen (1991). Theorem 4 (Dahmen). Given a convex domain Ω IR 2 which is the (essentially) disjoint union of convex tiles Ω i, then any function f C 1 (Ω) for which f Ω i is convex must be convex. In order to obtain a convexity condition for tensor-product B-spline surfaces, we will require formulas for the second derivatives of S. It is a stard result in spline theory that derivatives of B-splines can be expressed as B-splines themselves. In particular the second derivatives of S can be expressed in this form: where S uu (u,v) = S uv (u,v) = S vv (u,v) = L 1 +m 1 i=2 L 1 +m 1 i=1 L 1 +m 1 L 2 +n 1 L 2 +n 1 j=1 L 2 +n 1 j=2 9 N i,m 2 (u)n j,n (v)a i,j N i,m 1 (u)n j,n 1 (v)b i,j N i,m (u)n j,n 2 (v)c i,j

( pi,j p i 1,j a i,j =m(m 1) p ) i 1,j p i 2,j /(u m+i 2 u i 1 ), u i+m 1 u i 1 u i+m 2 u i 2 b i,j =mn p i,j p i 1,j p i,j 1 + p i 1,j 1 (u i+m 1 u i 1 )(v j+n 1 v j 1 ), ( pi,j p i,j 1 c i,j =n(n 1) p ) i,j 1 p i,j 2 /(v n+j 2 v j 1 ). v j+n 1 v j 1 v j+n 2 v j 2 Note that under the assumption made on the knots, the above expressions are always valid; there is no division by zero. Now suppose (u,v) [u I,u I+1 ] [v J,v J+1 ] for some I, J. Referring to Section 3, one can use the de Boor points to re-express the above identities as S uu (u,v) = S uv (u,v) = S vv (u,v) = I+1 J+1 i=i m+3 j=j n+3 I+1 J+1 i=i m+3 j=j n+3 I+1 J+1 i=i m+3 j=j n+3 Then S(u,v) is convex iff for all λ 1,λ 2 IR, where I+1 J+1 i=i m+3 j=j n+3 N i,m 2 (u)n j,n 2 (v)a 0,2 i,j (v) N i,m 2 (u)n j,n 2 (v)b 1,1 i,j (u,v) N i,m 2 (u)n j,n 2 (v)c 2,0 i,j (u) N i,m 2 (u)n j,n 2 (v)d i,j (u,v) 0 d i,j (u,v) = λ 2 1a 0,2 i,j (v) + 2λ 1λ 2 b 1,1 i,j (u,v) + λ2 2c 2,0 i,j (u). Since the basis functions are non-negative, it is thus sufficient to show that (22) d i,j (u,v) 0 (23) for all (u,v) [u I,u I+1 ] [v J,v J+1 ] for all i {I m + 3,...,I + 1}, j {J n + 3,...,J + 1}. Now we follow a similar approach as in Section 2. One can reduce (23) to a set of inequalities not involving u v. First we express a 0,2 i,j the v variable. Thus, from (21), we find noting that S uv is of degree n 1 in v, (v) b1,1 i,j a 0,2 i,j (v) = (1 β2 j,n(v))a 0,1 i,j 1 (v) + β2 j,n(v)a 0,1 i,j (v) b 1,1 i,j (u,v) =(1 β1 j,n 1(v))b 1,0 i,j 1 (u) + β1 j,n 1(v)b 1,0 i,j (u) =(1 β 2 j,n(v))b 1,0 i,j 1 (u) + β2 j,n(v)b 1,0 i,j (u), 10 (u,v) as linear interpolations in

by the definition of the β terms, (19). Thus a sufficient condition is that for l {0, 1}. Further we observe that Therefore, it is sufficient that for k, l {0, 1}. Finally by applying λ 2 1a 0,1 i,j l (v) + 2λ 1λ 2 b 1,0 i,j l (u) + λ2 2c 2,0 i,j (u) 0, b 1,0 i,j l (u) =(1 α1 i,m 1(u))b i 1,j l + α 1 i,m 1(u)b i,j l =(1 α 2 i,m(u))b i 1,j l + α 2 i,m(u)b i,j l, c 2,0 i,j (u) = (1 α2 i,m(u))c 1,0 i 1,j (u) + α2 i,m(u)c 1,0 i,j (u). λ 2 1a 0,1 i,j l (v) + 2λ 1λ 2 b i k,j l + λ 2 2c 1,0 i k,j (u) 0, a 0,1 i,j l (v) = (1 β1 j,n(v))a i,j l 1 + β 1 j,n(v)a i,j l c 1,0 i k,j (u) = (1 α1 i,m(u))c i k 1,j + α 1 i,m(u)c i k,j. we arrive at the sixteen sufficient conditions: λ 2 1a i,j l s + 2λ 1 λ 2 b i k,j l + λ 2 2c i k r,j 0, for k,l,r,s {0, 1} in analogy with the Bézier case in Section 2. We have proved the following lemma concerning S [u I,u I+1 ] [v J,v J+1 ]. Lemma 5. Let S be the B-spline surface (17) suppose that m 2 n 2. Choose I,J IN such that m 1 I < L 1 + m 1, n 1 J < L 2 + n 1 suppose that u I < u I+1 v J < v J+1. If a i,j 0 for i=i m+3,...,i+1, j=j n+1,...,j+1, c i,j 0 a i,j l s c i k r,j b 2 i k,j l for i=i m+1,...,i+1, j=j n+3,...,j+1, for i=i m+3,...,i+1, j=j n+3,...,j+1, k,l,r,s {0,1}, where the terms a i,j, b i,j, c i,j are defined in (22), then S is convex on the subdomain [u I,u I+1 ] [v J,v J+1 ]. We now have a condition for S to be convex in the subdomain [u I,u I+1 ] [v J,v J+1 ]. Using the fact that S is C 1 applying Theorem 4, we can simply combine all the conditions in Lemma 5 (many of which are repeated) to obtain a condition for the convexity of S over the whole domain [u m 1,u L1 m+1] [v n 1,v L2 m+1]. We have thus proved the following theorem. 11

Theorem 6. Let S be the B-spline surface (17) suppose that m 2 n 2. If a i,j 0 c i,j 0 for i=2,...,l 1 +m 1,,...,L 2 +n 1, for,...,l 1 +m 1, j=2,...,l 2 +n 1, a i,j l s c i k r,j b 2 i k,j l for i=2,...,l 1 +m 1, j=2,...,l 2 +n 1, k,l,r,s {0,1}, where the terms a i,j, b i,j, c i,j are defined in (22), then S is convex. Acknowledgement. The author wishes to thank the referee for helpful comments in particular for pointing out that the convexity conditions in Theorem 2 are necessary when the surface is quadratic. 5. References C. de Boor (1972) On calculating with B-splines, J. Approx. Theory, 6, 50 62. A. S. Cavaretta & A. Sharma (1990) Variation diminishing properties convexity for the tensor product Bernstein operator, to appear. G. Chang & P. J. Davis (1984) The convexity of Bernstein polynomials over triangles, J. Approx. Theory, 40, 11 28. G. Chang & Y. Feng (1984) An improved condition for the convexity of Bernstein-Bézier surfaces over triangles, Computer-Aided Geom. Design, 1, 279 283. W. Dahmen (1991) Convexity Bernstein-Bézier polynomials, Curves Surfaces, P. J. Laurent, A. Le Méhauté, L. L. Schumaker (eds.), Academic Press, Boston, 1, 107 134. G. Farin (1988) Curves surfaces for computer aided geometric design, Academic Press, San Diego. T. N. T. Goodman (1989) Shape preserving representations, Mathematical Methods in Computer-Aided Geom. Design, T. Lyche & L. L. Schumaker (eds.), Academic Press, Boston, 1, 333 351. 12