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