Multi-degree reduction of tensor product Bézier surfaces with general boundary constraints

Multi-degree reduction of tensor product Bézier surfaces with general boundary constraints

Applied Mathematics and Computation 217 (2011) 4596–4611 Contents lists available at ScienceDirect Applied Mathematics and Computation journal homep...

3MB Sizes 0 Downloads 15 Views

Applied Mathematics and Computation 217 (2011) 4596–4611

Contents lists available at ScienceDirect

Applied Mathematics and Computation journal homepage: www.elsevier.com/locate/amc

Multi-degree reduction of tensor product Bézier surfaces with general boundary constraints Stanisław Lewanowicz ⇑, Paweł Woz´ny Institute of Computer Science, University of Wrocław, ul. F. Joliot-Curie 15, 50-383 Wrocław, Poland

a r t i c l e

i n f o

Keywords: Rectangular Bézier surface Multi-degree reduction Constrained dual Bernstein basis Jacobi polynomials Hahn polynomials

a b s t r a c t We propose an efficient approach to the problem of multi-degree reduction of rectangular Bézier patches, with prescribed boundary control points. We observe that the solution can be given in terms of constrained bivariate dual Bernstein polynomials. The complexity of the method is Oðmn1 n2 Þ with m :¼ min(m1, m2), where (n1, n2) and (m1, m2) is the degree of the input and output Bézier surface, respectively. If the approximation—with appropriate boundary constraints—is performed for each patch of several smoothly joined rectangular Bézier surfaces, the result is a composite surface of global Cr continuity with a prescribed r P 0. In the detailed discussion, we restrict ourselves to r 2 {0, 1}, which is the most important case in practical application. Some illustrative examples are given. Ó 2010 Elsevier Inc. All rights reserved.

1. Introduction Degree reduction of Bézier curve or surface is one of the important approximation problems in computer aided geometric design. It facilitates data transfer and exchange between diverse design systems which impose incompatible constraints on the representation schemes, also results in data compression. In the recent 30 years, the degree reduction of Bézier curves has been investigated extensively; see the references in our recent paper [1], where we have proposed a novel approach of the least complexity among existing algorithms. Let us stress that the results of that paper will play fundamental role in the present study. Smoothly joined Bézier patches, triangular or rectangular, provide a uniform description of a surface on any topology mesh [2,3]. Degree reduction of triangular Bézier surfaces, with or without constraints, has been recently considered in several articles, just to mention [4–12]. However, not all of these methods have the advantage that if one starts with a patchwork of smoothly joined Bézier triangles, and applies the degree reduction to each patch, one does obtain C1 continuity of the composite surface. In a recent paper [13], we gave an algorithm to solve the problem of the multi-degree reduction with very general constraints, which enables to meet arbitrary order continuity requirements for the resulting composite surface. The case of tensor product Bézier surfaces is conceptually simpler, as an algorithm for the surface can be obtained by extending one of the methods of degree reduction of Bézier curves; see the pioneering work of Eck [14,15], and, e.g., [16–19]. In this paper, we propose an efficient approach to the problem of multi-degree reduction of tensor product Bézier patches, with a subset of control points being prescribed. The explicit solution is given in case when this ‘‘frame-shape’’ subset is formed by an arbitrary number of the close-to-boundary columns and rows of the control points net. As well-known, continuity conditions for any two adjacent patches are given in terms of several rows of control points ‘‘parallel’’ to their common boundary control polygon (see, e.g., [2, Section 17.1]). Therefore, our method can be used to meet the Cr-consistent ⇑ Corresponding author. E-mail addresses: [email protected], [email protected] (S. Lewanowicz), [email protected] (P. Woz´ny). 0096-3003/$ - see front matter Ó 2010 Elsevier Inc. All rights reserved. doi:10.1016/j.amc.2010.11.011

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4597

requirement with r P 0. However, it is not easy to give all the details of the corresponding algorithm for degree reducing of a Bézier patchwork for r > 1. Hence, in practice, we restrict ourselves to r 6 1. In Section 5, we discuss the special cases of degree reducing of two and four adjacent patches, preserving C1 continuity. It is worth noting that the complexity of the method is Oðmn1 n2 Þ with m :¼ min(m1, m2), (n1, n2) and (m1, m2) being the degree of the input and output Bézier surface, respectively. The outline of this paper is as follows. Section 2 contains definitions and notation. Section 3 brings a complete solution to the problem of the constrained multi-degree reduction of tensor product Bézier surfaces. A detailed description of algorithmic implementation of the proposed method is given in Section 4. In Section 5, some examples are shown.

2. Preliminaries Let N be positive integers, and N0 :¼ N [ f0g. For n 2 N, the symbol Pn denotes the space of all univariate polynomials of degree 6n. For n ¼ ðn1 ; n2 Þ 2 N20 ; P2n is the space of all the polynomials of two variables x1, x2, of degree at most ni with respect to xi (i = 1, 2). For a vector v ¼ ðv 1 ; v 2 Þ 2 R2 we will denote j v j:¼ v 1 þ v 2 . The univariate Bernstein polynomial basis of degree n 2 N is given by (see, e.g., [2, p. 41])

  n k x ð1  xÞnk k

Bnk ðxÞ :¼

ð0 6 k 6 nÞ:

ð2:1Þ

We define the inner product by

Z

hf ; gia :¼

1

wa ðtÞf ðtÞgðtÞdt;

ð2:2Þ

0

where wa ðtÞ :¼ ð1  tÞa1 ta2 with a = (a1, a2), ai >1 (i = 1, 2). Associated with the basis (2.1), there is a unique dual Bernstein polynomial basis of degree n,

Dn0 ðx; aÞ; Dn1 ðx; aÞ; . . . ; Dnn ðx; aÞ 2 Pn ;

ð2:3Þ

defined so that

hDni ; Bnj ia ¼ dij

ði; j ¼ 0; 1; . . . ; nÞ;

ð2:4Þ

where dij equals 1 if i = j and 0 otherwise. Given c ¼ ðc1 ; c2 Þ 2 N20 with jcj 6 n, let

n

o

Pcn :¼ P 2 Pn : P ðiÞ ð0Þ ¼ 0 ð0 6 i 6 c1  1Þ; and PðjÞ ð1Þ ¼ 0 ð0 6 j 6 c2  1Þ

be the space of all polynomials of degree 6n, whose derivatives of order 6c11 at t = 0, as well as derivatives of order 6 c21 at t = 1, vanish. Obviously, dim Pcn ¼ n  jcj þ 1, and the Bernstein polynomials fBnc1 ; Bnc1 þ1 ; . . . ; Bnnc2 g form a basis of this space. There is a unique dual constrained Bernstein basis of degree n,

n o ðn;cÞ ðn;cÞ c Dðn;cÞ c1 ðx; aÞ; Dc1 þ1 ðx; aÞ; . . . ; Dnc2 ðx; aÞ  Pn ;

ð2:5Þ

D E ðn;cÞ ðn;hÞ satisfying the relation Dk ; Bnl ¼ dkl ðk; l ¼ c1 ; c1 þ 1; . . . ; n  c2 Þ: Obviously, we have Dk ðx; aÞ ¼ Dnk ðx; aÞ; where h = (0, 0). a 2 For n ¼ ðn1 ; n2 Þ 2 N we define the following set:





Hn :¼ k ¼ ðk1 ; k2 Þ 2 N20 : k1 6 n1 ; k2 6 n2 :

ð2:6Þ

The tensor product Bernstein polynomial basis of degree n ¼ ðn1 ; n2 Þ 2 N20 is given by

Bnk ðxÞ :¼

2 Y

n

Bkii ðxi Þ;

where k ¼ ðk1 ; k2 Þ 2 Hn ; x ¼ ðx1 ; x2 Þ 2 R2 :

ð2:7Þ

i¼1

Given

 A¼







a1 a11 a12 ¼ 2 R22 with aij > 1 ði; j ¼ 1; 2Þ; a2 a21 a22

ð2:8Þ

we define the inner product

hF; GiA :¼

ZZ

W A ðxÞFðxÞGðxÞdx;

S

where S :¼ [0, 1]  [0, 1], and W A ðxÞ :¼ wa1 ðx1 Þwa2 ðx2 Þ.

ð2:9Þ

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4598

The dual tensor product Bernstein polynomial basis of degree n ¼ ðn1 ; n2 Þ 2 N2 ,

Dnk ðx; AÞ :¼

2 Y

n

Dkii ðxi ; ai Þ ðk ¼ ðk1 ; k2 Þ 2 Hn Þ;

ð2:10Þ

i¼1

satisfies

 n n Dk ; Bl A ¼ dk1 ;l1 dk2 ;l2 For m ¼ ðm1 ; m2 Þ 2 N20 , and



C  CðmÞ :¼

c1



for k ¼ ðk1 ; k2 Þ; l ¼ ðl1 ; l2 Þ 2 Hn : 

¼

c2

c11

c12

c21

c22



2 N022

ð2:11Þ

with jc i j 6 mi

ði ¼ 1; 2Þ;

ð2:12Þ

we define the following sets:

 )



XCm :¼ k ¼ ðk1 ; k2 Þ 2 N20 : ci1 6 ki 6 mi  ci2 ði ¼ 1; 2Þ ;

CCm ¼ Hm n XCm :

ð2:13Þ

Also, let

zC ðxÞ :¼

2 Y

c

xi i1 ð1  xi Þci2

i¼1

and introduce the constrained bivariate polynomial space



2 C PC;2 m ¼ P 2 Pm : P ¼ z  Q

with Q 2 P2me ;

 where e :¼ ðjc 1 j; jc 2 jÞ :

ð2:14Þ

C Obviously, the bivariate Bernstein polynomials fBm k ; k 2 Xm g form a basis in this space. The bivariate dual constrained Bernstein basis polynomials,

ðm;CÞ

Dk

ðx; AÞ :¼

2 Y

ðmi ;ci Þ

D ki

ðxi ; ai Þ 2 PC;2 m

ðk ¼ ðk1 ; k2 Þ 2 XCm Þ;

ð2:15Þ

i¼1

where we use the notation (2.5) for the univariate constrained dual Bernstein polynomials, satisfy

D E ðm;CÞ Dk ; Bm ¼ dk1 ;l1 dk2 ;l2 l A

for k ¼ ðk1 ; k2 Þ; l ¼ ðl1 ; l2 Þ 2 XCm :

ð2:16Þ

3. Multi-degree reduction problem The problem studied in this article is as follows. Given n = (n1, n2), m ¼ ðm1 ; m2 Þ 2 N2 , where mi < ni (i = 1, 2), let C 2 N22 0 be given by (2.12). Given the polynomial Pn 2 P2n ,

X

Pn ðxÞ :¼

ak Bnk ðxÞ ðx 2 SÞ

ð3:1Þ

k2Hn

and quantities

gk

for k 2 CCm ;

ð3:2Þ

find a polynomial Qm of degree m,

Q m ðxÞ :¼

X

ek Bm k ðxÞ;

ð3:3Þ

k2Hm

satisfying the conditions

ek ¼ g k

for k 2 CCm ;

ð3:4Þ

which gives minimum value of the squared norm

kPn  Q m k2L2 :¼ hPn  Q m ; Pn  Q m iA :

ð3:5Þ

Theorem 3.1. Given the coefficients ak (k 2 Hn) of the polynomial (3.1), the coefficients ek (k 2 Hm) of the polynomial (3.3) with the prescribed values (3.2), obtained by the optimal multi-degree reduction, are given by

ek ¼

X l2Hn

al Ukl

k 2 XCm ;

ð3:6Þ

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4599

where

D

E

Ukl  Ukl ðn; m; A; CÞ :¼ Bnl ; Dðm;CÞ ð; AÞ k

A

k 2 XCm ; l 2 Hn

ð3:7Þ

and

X

al :¼ al 

Ej ðm; n  m; l  jÞg lj

ðl 2 Hn Þ

ð3:8Þ

j2Hnm

with

Ej ðm; d; hÞ :¼

 2  Y di ðhi þ 1Þj ðmi þ 1  hi Þd j i

i¼1

i

i

ð3:9Þ

ðmi þ 1Þdi

ji

for j = (j1, j2) 2 Hd, d ¼ ðd1 ; d2 Þ 2 N20 , and h = (h1, h2) 2 Hm. We use the notation ðcÞk ¼ adopt the convention that gk = 0 for k R CCm .

Qk1 j¼0

ðc þ jÞ for the shifted factorial, and

Proof. Let us write

Q m ¼ Sm þ T m ; where

Sm ¼

X

ek Bm k ;

Tm ¼

k2XCm

X

ek B m k :

k2CCm

Using the degree elevation formula

Bm k ¼

X

Ej ðm; d; kÞBmþd kþj

ðd 2 N20 Þ;

j2Hd

notation used being that of (3.9), we write

Tm ¼

X

g l Bnl ;

l2Hn

where

g l :¼

X

Ej ðm; n  m; l  jÞg lj :

j2Hnm

Now, observe that

kPn  Q m k2L2 ¼ kRn  Sm k2L2 ; where

Rn ¼ Pn  T m ¼

X

ak Bnk

k2Hn

with ak :¼ ak  g k . Thus we are looking for the best approximation polynomial for Rn in the space PC;2 m . Clearly, the solution is the polynomial Sm with

D E X ðm;CÞ ek ¼ Rn ; Dk ð; AÞ ¼ al Ukl A

ðk 2 XCm Þ

l2Hn

where we used the notation (3.7). h The multi-degree reduction of the tensor product Bézier surface of degree n,

h i Pn ðxÞ :¼ P1n ðxÞ; P2n ðxÞ; P3n ðxÞ ðx 2 ½0; 1  ½0; 1Þ;

ð3:10Þ

to the degree m surface

h i Q m ðxÞ ¼ Q 1m ðxÞ; Q 2m ðxÞ; Q 3m ðxÞ

ð3:11Þ

with the prescribed control points g k ¼ ðg 1k ; g 2k ; g 3k Þ 2 R3 for k 2 CCm , where C = [c1, c2]T, and c i ¼ ðci1 ; ci2 Þ 2 N20 with jcij < mi (i = 1, 2) being given vectors, is obtained by the component-wise applying Theorem 3.1. This approach may be applied to the problem of multi-degree reduction of Bézier patches with a subset of control points being prescribed. Remember that continuity conditions for any two adjacent surfaces are given in terms of several rows of control points ‘‘parallel’’ to their common boundary control polygon (see, e.g., [2, Section 17.1]). Thus our algorithm can be

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4600

used to meet the C1-consistent requirement. In Section 4, we show that computing quantities Ukl may be done very efficiently, using recursive properties of the related quantities wkl (cf. (4.3)). As a result, the complexity of the method is Oðmn1 n2 Þ with m :¼ min(m1, m2) (cf. Algorithm 4.4). Some aspects of practical use of our method in degree reduction of Bézier surfaces are illustrated by examples given in Section 5. 4. Algorithm We need the following extension of a result of [1] on univariate constrained dual Bernstein polynomials. Lemma 4.1. Given n; m 2 N, where m < n, also given c ¼ ðc1 ; c2 Þ 2 N20 , where jcj 6 m, and a ¼ ða1 ; a2 Þ 2 R2 , where a1, a2 >1, let us define

D E ðm;cÞ /kl ðn; m; a; cÞ :¼ Bnl ; Dk ð; aÞ

a

ðc1 6 k 6 m  c2 ; 0 6 l 6 nÞ:

ð4:1Þ

Then for any (k, l) from the above range we have

/kl ðn; m; a; cÞ ¼



m  jcj



1   n ða1 þ c2 þ 1Þnl ða2 þ c1 þ 1Þl k w ðn; m; a; cÞ; k l ða1 þ c2 þ 1Þc2 ða2 þ c1 þ 1Þc1 l

m

k  c1

ð4:2Þ

where mjcj X

wkl ðn; m; a; cÞ : ¼

j¼0

n  jcj j



ða2 þ 2c1 þ 1Þj ð2j þ jaj þ 2jcj þ 1Þ Q ðk  c1 ; a2 þ 2c1 ; a1 þ 2c2 ; m  jcjÞ ða1 þ 2c2 þ 1Þj ðj þ jaj þ 2jcj þ 1Þnjcjþ1 j

 Q j ðl  c1 ; a2 þ 2c1 ; a1 þ 2c2 ; n  jcjÞ;

ð4:3Þ

notation (A.3) being used for the Hahn polynomials. Proof. See Appendix A. h Observe that quantities wkl  wkl ðn; m; a; cÞ (c1 6 k 6 m  c2; 0 6 l 6 n), defined in (4.3), can be put in a rectangular table W (see Table 1). Now, all the entries of the table can be computed using a recursive property of these quantities pointed out in [1]. As a result, we obtain the following algorithm. Algorithm 4.2 (Computing the W-table). Let be given n, m, c, a, where n; m 2 N, m < n, c ¼ ðc1 ; c2 Þ 2 N20 , with jcj 6 m, and a ¼ ða1 ; a2 Þ 2 R2 , with a1, a2 >1. Step 1. Compute the boundary values wc01 ; wc11 ; . . . ; wcn1 (the first row of the Table 1) by the formula

wcl 1 ¼

ðjcj  n þ 1Þmjcj ðm  jcjÞ!ðm þ jaj þ jcj þ 2Þnjcj

Q mjcj ðn  c2  l; a1 þ 2c2 ; a2 þ 2c1 þ 1; n  jcj  1Þ:

ð4:4Þ

Step 2. (a) For l = 0, n, compute recursively the auxilliary quantities q0(l), q1(l), . . .,qmjcj(l) by

qjþ1 ðlÞ ¼ FðjÞqj ðlÞ þ GðjÞqj1 ðlÞ ðj ¼ 0; 1; . . . ; m  jcj  1; q0 ðlÞ ¼ 1; q1 ðlÞ ¼ 0Þ;

ð4:5Þ

where

ðn  c2  lÞðm þ j þ jaj þ jcj þ 2Þ jðn þ j þ jaj þ jcj þ 1Þ þ ; ðn  m þ jÞða1 þ 2c2 þ j þ 1Þ ðn  m þ jÞða1 þ 2c2 þ j þ 1Þ jðn þ j þ jaj þ jcj þ 1Þðm  j  l  c2 þ 1Þ GðjÞ :¼ : ðn  m þ j  1Þ2 ða1 þ 2c2 þ j þ 1Þ

FðjÞ :¼ 1 

2 2 (b) Compute the boundary values wc01 þ1 ; wc01 þ2 ; . . . ; wmc (the first column), and wcn1 þ1 ; wcn1 þ2 ; . . . ; wmc (the last coln 0 umn) by the formula

Table 1 The W-table. wc01

wc11

...

wcn1

wc01 þ1 ... 2 wmc 0

w1c1 þ1

...

wcn1 þ1

2 wmc 1

...

2 wmc n

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

wkl ¼

ðjcj  n þ 1Þmjcj ðc1  c2  a1  mÞkc1

kc X1

ða2 þ 2c1 þ 1Þkc1 ðm  jcjÞ!ðm þ jaj þ jcj þ 2Þnjcj

j¼0

ðc1  kÞj ðm  n  jaj  1Þj q ðlÞ: ðc1  c2  a1  mÞj ðjcj  n þ 1Þj mjcjj

4601

ð4:6Þ

Step 3. For k = c1, c1 + 1, . . ., m  c2  1, and l = 1, 2, . . ., n  1 compute wlkþ1 by

Aðn; lÞwkl1 þ ½Cðm; kÞ  Cðn; lÞwkl þ Bðn; lÞwklþ1  Aðm; kÞwk1 l ; Bðm; kÞ

wkþ1 ¼ l

ð4:7Þ

with A(r, s) :¼ (c1  s) (r + c2  s + a1 + 1), B(r, s) :¼ (s + c2  r) (c1 + s + a2 + 1), and C(r, s) :¼ A(r, s) + B(r, s). Remark 1. The quantities computed in the Step 2(a) are evaluations of Hahn polynomials, namely qj(l) = Qj(n  c2  l; a1 + 2c2, a2 + c1  c2 + m  j + 1, nm + j  1). Having in mind the hypergeometric character of these polynomials (cf. (A.3)), recurrence (4.5) can be obtained as a transcription of an identity for contiguous 3F2(1) functions in [20]. Now, recall that the solution of the constrained degree reduction problem of Section 3 is given in terms of quantities Ukl ðn; m; A; CÞ defined by (3.7) (see Theorem 3.1). We have the following result. Theorem 4.3. Given n = (n1, n2), m ¼ ðm1 ; m2 Þ 2 N2 , where mi < ni (i = 1, 2), let C 2 N22 be given by (2.12). For 0 k ¼ ðk1 ; k2 Þ 2 XCm , and l = (l1, l2) 2 Hn, we have

Ukl ðn; m; A; CÞ ¼

2 Y

k

/lii ðni ; mi ; ai ; c i Þ;

ð4:8Þ

i¼1

where the notation used is that of (2.8) and Lemma 4.1. Proof. It is easy to observe that

D

Ukl ðn; m; A; CÞ ¼ Bnl ; Dðm;CÞ ð; AÞ k

E A

¼

2 D 2 E Y Y ðm ;c Þ n k Bli i ; Dki i i ð; ai Þ ¼ /lii ðni ; mi ; ai ; c i Þ; i¼1

ai

i¼1

where the notation used is that of (2.8), (2.3), (2.10) and (4.1). h Thus, all we have to do in order to solve the problem of the multi-degree reduction of the polynomial (3.1) is to compute the tables

h

Wi :¼ wklii ðni ; mi ; ai ; ci Þ

i

ðci1 6 ki 6 mi  ci2 ; 0 6 li 6 ni ; i ¼ 1; 2Þ

in the way described above in Algorithm 4.2. The presented method is summarized in the following algorithm. Algorithm 4.4 (Constrained multi-degree reduction of Bézier polynomials). Given the coefficients ak for k 2 Hn of the polynomial (3.1), and the quantities gk for k 2 CCm (mi < ni for i = 1, 2), the coefficients ek for k 2 XCm of the multi-degree reduced polynomial (3.3), satisfying the condition (3.4), can be computed in the following way. STEP 1 For i = 1, 2, k (i) apply Algorithm 4.2 with n = ni, m = mi, c = ci and a = ai to compute wlii ðni ; mi ; ai ; ci Þ (ci1 6 ki 6 mi  ci2, 0 6 li 6 ni); k (ii) compute /lii ðni ; mi ; ai ; c i ) (ci1 6 ki 6 mici2, 0 6 li 6 ni) by (4.2). STEP 2 Let p 2 {1, 2} be such that mp = min(m1, m2), and let q :¼ 3  p. For kp = cp1, cp1 + 1, . . ., mp  cp2, and lq = 0, 1,. . ., nq, compute

Skp ;lq :¼

np X

k

al1 ;l2 /lpp ðnp ; mp ; ap ; c p Þ;

lp ¼0

where the coefficients al1 ;l2 are defined by (3.8). STEP 3 For k ¼ ðk1 ; k2 Þ 2 XCm , compute

ek ¼

nq X

k

Skp ;lq /lqq ðnq ; mq ; aq ; c q Þ:

lq ¼0

Remark 2. It can be observed that the cost estimation of the three steps of the algorithm is Oðn1 m1 þ n2 m2 Þ, Oðn1 n2 mp Þ, and Oðnq m1 m2 Þ, respectively. The total cost has the order Oðn1 n2 minðm1 ; m2 ÞÞ. Remark 3. A Maple™ implementation of the Algorithm 4.4 is available on the Web page http://www.ii.uni.wroc.pl/ pwo/ programs.html.

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4602

50

100 50 50

100

Fig. 1. Two patches obtained by subdivision of the Bézier surface (5.1), and their parametrization.

5. Examples In this section, we present several examples of multi-degree reduction of tensor product Bézier surfaces with constraints, described in Section 3. Notice that a Maple™ worksheet containing the illustrative material of this section (see Figs. 1–11, below) is available on the page http://www.ii.uni.wroc.pl/ pwo/programs.html. Let us note that it is difficult to decide which is the best choice of the

parameters a1 and a2 occurring in the error functional (see (3.5)). In all the examples, we have taken a1 ¼ a2 ¼  12 ;  12 or a1 = a2 = (0, 0). Based on some numerical computations we suggest that the former choice of a1, a2 is the best one. Example 5.1. Let be given Bézier surface of degree n = (7, 7),

Pn ðxÞ :¼

X

ak Bnk ðxÞ ðx 2 SÞ;

ð5:1Þ

k2Hn

with S :¼ [0, 1]  [0, 1], the control points ak 2 R3 being listed in Table 2. We divide the surface (5.1) in two parts corresponding to the rectangular subsets of the domain S,

R1 :¼

  1 ðx1 ; x2 Þ : 0 6 x1 6 ; 0 6 x2 6 1 ; 2

R2 :¼

  1 ðx1 ; x2 Þ : 6 x1 6 1; 0 6 x2 6 1 ; 2

each being a patch of degree (7, 7). See Fig. 1. Now, we perform the constrained degree reduction of the patch corresponding

to R1 (marked in Red1 in Fig. 1) to degree (5, 5), with a1 ¼ a2 ¼  12 ;  12 , c1 = (0, 1) and c2 = (0, 0). The prescribed points C g k 2 Cð5;5Þ are the control points of the degree 5 Bézier curve obtained as a result of the constrained degree reduction of the seven degree curve, being the common boundary of the two patches, using the method given by the authors in [1] (with n = 7, m = 5, a ¼ b ¼  12, and k = l = 2); let eR50 ; eR51 ; . . . ; eR55 be the control points of the resulting degree five curve. Next, the degree of the second patch is reduced to (5, 5), too, with c1 = (0, 1) and c2 = (0, 0), and the points g k 2 CCð5;5Þ being chosen so that C0 continuity is guaranteed: g 5i :¼ eR5i (0 6 i 6 5). We repeat the second step, taking c1 = (0, 2) and c2 = (0, 0), and points g k 2 CCð5;5Þ chosen so that C1 continuity is obtained, i.e.,

g 5i :¼ eR5i ;



g 4i :¼ g 5i þ eR5i  eR4i ð0 6 i 6 5Þ:

The results are shown in Fig. 2. Here as well as in other examples below, we plot the error function

EðxÞ :¼ kPn ðxÞ  Q m ðxÞk: Example 5.2. In [19, Example 1], Lu considered the Bézier surface of degree n = (6, 6),

Pn ðxÞ :¼

X

ak Bnk ðxÞ ðx 2 S :¼ ½0; 1  ½0; 1Þ;

k2Hn

1

For interpretation of color in Figs. 1–11, the reader is referred to the web version of this article.

ð5:2Þ

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4603

50

1 0.8

100

50

0.6 0.4 0.2

50

100

0

1

0 0.5

1 00

50 1 0.8 0.6 0.4

100

50

0.2 0

0 1

50

100

1

0.5 0

0

Fig. 2. Constrained reduction of two smoothly joined rectangular Bézier surfaces from degree (7, 7) to degree (5, 5), with the corresponding error plots. Original surfaces are shown on Fig. 1. The resulting composite surface is C0 continuous (top), or C1 continuous (bottom).

2

0

-2 6 0

4 2

2

4 06

Fig. 3. Subdivision of the Bézier surface (5.2), with the corresponding parametrization.

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4604

2

0

0.3 0.25 0.2 0.15 0.1 0.05 0 0

-2 6

0

0

4

0.5 1

2

2

4

1

06

0

2

0

0.4 0.3 0.2 0.1 0 0

-2 6

0 0.5

0

4

1

2

2

4

1

0

06 Fig. 4. Degree reduction preserving C0 continuity (top), or C1 continuity (bottom), with corners interpolation. Original surface is shown in Fig. 3.

2

0

-2 6 0

4 2

2 06

4

Fig. 5. A subdivision of a Bézier surface (5.2) in four patches, with parametrization given.

with the control points ak 2 R3 being listed in Table 3. The surface is subdivided in two patches of degree (6, 6) each, corresponding to the subdomains

R1 :¼

  1 ðx1 ; x2 Þ : 0 6 x1 6 1; 0 6 x2 6 ; 2

shown in Fig. 3.

R2 :¼



ðx1 ; x2 Þ : 0 6 x1 6 1;

1 6 x2 6 1 2



S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4605

2

0

0.03 0.02 0.01 0 0

-2 6

0

0

4

1

2

2

1

4 0

0 6

0

2

0

0.03 0.02 0.01 0 0

-2 6

0

0

4 2

2

1

1

4 06

0

0

Fig. 6. Degree reduction preserving C0 continuity (top), or C1 continuity (bottom), with corners interpolation. Original composite surface is shown in Fig. 5.

Below, we are considering the degree reduction problem with two different sets of constraints. In each case, we assume that a1 = a2 = (0, 0).

Degree reduction preserving C0 continuity, with corners interpolation. We reduce the degree of the patch corresponding to R1 (marked in Yellow in Fig. 3) to (4, 4), with c1 = c2 = (1, 1). The prescribed boundary points g Yij and g Yji (i = 0, 4; j = 0, 1, . . . , 4) of the reduced patch are chosen to be the control points of the degree 4 Bézier curves obtained as a result of the constrained degree reduction of the degree 6 boundary curves of the original patch, using the method given in [1] (with n = 6, m = 4, a = b = 0 and k = l = 2). Next, the degree of the second patch, i.e., the Red one, is reduced to (4, 4), too, with c1 = c2 = (1, 1) and the prescribed points g Rij ; g Rji (i = 0, 4; j = 0, 1, . . . , 4). Here g Yij are the control points of the degree 4 Bézier curves approximating the corresponding boundary curves of the patch, obtained by the method of [1] with the same parameters as above; obviously, the curve being the common boundary of the patches, was already handled in the first step. The results are shown in Fig. 4 (upper part). The maximum error is 0.30, i.e., the same as the error in the Lu’s approach of [19] in case of C0 continuity. Degree reduction preserving C1 continuity, with corners interpolation. In the first step, we reduce the degree of the Yellow patch to (4, 4), in the way just described above. Next, the degree of the second patch is reduced to (4, 4), too, with c1 = (1, 1) and c2 = (1, 2), with the prescribed points g Rij and g Rji (i = 0, 4; j = 0, 1, . . . , 4) being the control points of the degree 4 Bézier curves approximating the boundary curves of the patch, obtained by the method of [1] (with the same parameters as above), and



g Yi3 :¼ g Yi4 þ eRi4  eRi3 ði ¼ 1; 2; 3Þ; where eYij are the control points of the reduced Yellow patch, obtained in the first step. The results are shown in Fig. 4 (lower part).

4606

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

Fig. 7. Adjusting the control points related to the twist at the common corner g U44 of the four patches.

Fig. 8. Control points involved in the C1 continuity constraints. The boundary and next-to-boundary points eUij are marked by black discs, while six of eight points surrounding the central corner point, which are obtained in a way described in the Step 1 – by grey discs, and the points adjusted so that the crossboundary derivative continuity is obtained – by white discs.

The maximum error is 0.44, while in the Lu’s approach of [19], the corresponding result is 0.34 (G1 continuity). The reason of better performance of the latter method is that it uses more sophisticated algorithm of adjusting the control points to obtain smooth joining of the patches.

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4607

Fig. 9. The combined set of constraints.

Fig. 10. Control points involved in the C1 continuity constraints of the type c1 = (1,2), c2 = (0,2). Compare with Fig. 8.

Example 5.3. Now, let us subdivide the surface (5.2) in four degree n = (6, 6) subsurfaces,

PUn ðxÞ :¼

X

aUk Bnk ðxÞ ðU ¼ Y; G; P; R; x 2 SÞ

k2Hn

(see Fig. 5), corresponding to the subdomains

  1 ; ðx1 ; x2 Þ : 0 6 x1 ; x2 6 2   1 R3 :¼ ðx1 ; x2 Þ : 6 x1 ; x2 6 1 ; 2

R1 :¼



 1 ðx1 ; x2 Þ : 0 6 x2 6 6 x1 6 1 ; 2   1 R4 :¼ ðx1 ; x2 Þ : 0 6 x1 6 6 x2 6 1 : 2

R2 :¼

ð5:3Þ

Here Y, G, P, and R stands for Yellow, Green, Pink, and Red patch, respectively. Also this time, we are considering the degree reduction problem with different sets of constraints. In each case, we assume that a1 = a2 = (0, 0). Degree reduction preserving C0 continuity. We reduce the degree of each of the four patches to (4, 4) with c1 = c2 = (1, 1), for the boundary control points obtained by the degree reduction of the four boundary curves of the patch using the method of [1] for n = 6, m = 4, k = l = 2 and a = b = 0.

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4608

2

0 0.03 0.02 0.01 0 0

-2 6

0

0

4

1

2

2

1

4 0

06

0

Fig. 11. Degree reduction preserving C1 continuity, with corners interpolation – constraints of the type c1 = (1, 2), c2 = (0, 2). Original composite surface is shown in Fig. 5.

Table 2 Control points ak of the surface (5.1). k1nk2

0

1

2

3

4

5

6

7

0 1 2 3 4 5 6 7

(25, 10, 40) (35, 10, 20) (45, 20, 135) (55, 20, 45) (70, 30, 35) (80, 30, 55) (90, 35, 25) (140, 10, 25)

(30, 20, 45) (50, 25, 40) (55, 30, 130) (45, 30, 45) (30, 30, 35) (90, 40, 50) (75, 20, 30) (130, 50, 10)

(25, 30, 50) (60, 35, 60) (65, 40, 120) (55, 35, 45) (40, 45, 35) (70, 50, 40) (70, 40, 40) (120, 60, 0)

(20, 40, 65) (55, 45, 80) (65, 50, 105) (60, 45, 45) (120, 55, 35) (60, 60, 25) (75, 60, 20) (110, 65, 10)

(10, 50, 95) (45, 55, 100) (60, 60, 90) (90, 55, 40) (100, 65, 40) (90, 70, 10) (70, 70, 20) (100, 75, 20)

(5, 60, 60) (20, 110, 140) (55, 70, 75) (80, 70, 40) (90, 70, 40) (85, 75, 5) (100, 30, 5) (100, 80, 30)

(5, 75, 115) (10, 90, 115) (55, 70, 60) (60, 90, 40) (70, 85, 40) (80, 55, 20) (100, 60, 15) (115, 90, 25)

(15, 100, 40) (45, 85, 50) (50, 90, 55) (55, 100, 45) (60, 95, 40) (70, 120, 35) (90, 100, 30) (120, 110, 40)

Table 3 Control points ak of the surface (5.2). k1nk2

0

1

2

3

4

5

6

0 1 2 3 4 5 6

(0.0, 0.0, 0.8) (1.0, 0.7, 1.6) (2.3, 0.6, 2.1) (3.1, 0.2, 2.8) (3.6, 0.6, 0.1) (5.1, 0.1, 0.6) (6.4, 0.8, 0.1)

(0.2, 0.8, 1.8) (1.2, 0.6, 2.2) (2.1, 1.4, 3.2) (3.2, 0.8, 1.2) (3.9, 0.3, 0.9) (5.5, 1.1, 0.1) (6.4, 1.6, 1.2)

(0.5, 2.1, 2.3) (1.0, 1.6, 2.4) (1.6, 2.4, 3.6) (3.1, 2.2, 2.1) (4.0, 1.2, 1.2) (5.6, 2.3, 1.1) (6.7, 2.7, 2.5)

(0.3, 3.2, 1.6) (0.7, 2.5, 1.6) (1.9, 3.4, 2.4) (2.8, 3.2, 0.2) (3.9, 2.2, 1.2) (5.1, 3.1, 2.2) (6.4, 3.6, 3.2)

(0.0, 3.8, 0.2) (1.0, 3.4, 0.0) (2.2, 4.7, 1.3) (2.6, 4.1, 0.4) (3.6, 3.3, 0.1) (4.9, 4.1, 1.1) (6.3, 4.6, 1.7)

(0.2, 4.8, 1.2) (1.3, 4.3, 0.5) (1.8, 5.5, 0.2) (3.1, 4.8, 2.8) (3.6, 4.3, 1.1) (4.6, 5.1, 0.8) (5.9, 4.9, 0.6)

(0.5, 5.5, 1.7) (1.4, 4.4, 0.8) (1.5, 4.7, 1.8) (2.8, 5.0, 3.2) (3.9, 4.6, 1.1) (4.8, 5.2, 1.8) (5.7, 6.0, 1.2)

The results are shown in Fig. 6 (upper part). Degree reduction preserving C1 continuity. Step 1. We perform the above described degree reduction preserving C0 continuity of the composite surface, and obtain four reduced patches of degree m = (4, 4),

Q Um ðxÞ :¼

X

eUk Bm ðx 2 S; U ¼ Y; G; P; RÞ: k ðxÞ

k2Hm

In the following steps, we adjust the positions of the nine central control points of the joined nets eUk to obtain a desirable result shown in Fig. 7: all the points are coplanar, and each three points in a row or in a column are colinear. The idea is similar to the one described in [3, Section 6.2.3]. We start with renaming the three points eY34 , eY44 , and eY43 to g Y34 , g Y44 , and g Y43 , respectively, and choosing the point g Y33 to lie in the plane passing through these points, more

specifically: g Y33 :¼ eY43 þ eY34  eY44 . Now, the remaining five points are easily obtained by the colinearity and symmetry principles.

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4609

Step 2. Degree of the patch P Yð6;6Þ is reduced to (4, 4) with c1 = c2 = (1, 2), and the constraints

g Yi4 ¼ eYi4

ði ¼ 0; 1; . . . ; 4Þ;

g Y4i ¼ eY4i

ði ¼ 0; 1; 2; 3Þ;

g Yi3 g Y3i g Y0i

:¼ eYi3 ¼ eG4i þ ¼ eY0i ;



Y ði ¼ 0; 1; 2Þ; g Y33 ¼ eY43 þ eY34  e44 ; G

e4i  eG3i ði ¼ 0; 1; 2Þ; g Yi0 ¼ eYi0

ði ¼ 0; 1; 2Þ:

The points involved in these constraints as well as those given in Steps 3–5, below, can be seen in Fig. 8. Step 3. Degree of the patch P Gð6;6Þ is reduced to (4, 4) with c1 = c2 = (1, 2), and the constraints

g G4i ¼ eG4i

ði ¼ 0; 1; . . . ; 4Þ;

g Gi4 ¼ eGi4

ði ¼ 0; 1; 2Þ; g G34 ¼ eY44 þ ðeY44  eY34 Þ;



g Gi3 ¼ ePi4 þ ePi4  ePi3 ði ¼ 0; 1; 2Þ; g G33 ¼ eY43 þ eY43  g Y33 ;

g G0i ¼ eG0i ;

g Gi0 ¼ eGi0

ði ¼ 0; 1; 2Þ:

Step 4. Degree of the patch P Pð6;6Þ is reduced to (4, 4) with c1 = c2 = (1, 2), and the constraints

g Pi4 ¼ ePi4

ði ¼ 0; 1; 2;

and 4Þ;

g P34 ¼ eP44 þ ðeY44  eY34 Þ;

g P4i ¼ eP4i ði ¼ 0; 1; 2Þ; g P43 ¼ eP44 þ eY44  eY43 ;

g P3i ¼ eR4i þ ðeR4i  eR3i Þ ði ¼ 0; 1; 2Þ; g P33 ¼ g P34 þ g G34  g G33 ; g P0i ¼ eP0i ;

g Pi0 ¼ ePi0

ði ¼ 0; 1; 2Þ:

Step 5. Degree of the patch P Rð6;6Þ is reduced to (4, 4) with c1 = c2 = (0, 2), and the constraints

g R4i ¼ eR4i

ði ¼ 0; 1; 2;

and 4Þ;

g Ri4 ¼ eRi4



g R43 ¼ eR44 þ eY44  eY43 ;

ði ¼ 0; 1; 2; 3Þ;

g Ri3 ¼ g Yi4 þ eYi4  eYi3 ði ¼ 0; 1; 2Þ;

g R0i ¼ eR0i ;

g Ri0 ¼ eRi0



g R33 ¼ eY34 þ B eY34  g Y33 ;

ði ¼ 0; 1; 2Þ:

A visualization of the combined set of the constraints appearing in Steps 1–5, is given in Fig. 9. The results of the constrained multi-degree reduction are shown in Fig. 6 (lower part). The maximum error is about 0.039, which is the same result as obtained in [19] (G1 continuity). Remark 4. Notice that a C1 continuity preserving degree reduction with corners interpolation of the above composed Bézier surface may be also obtained for the constraints in Steps 2–5 changed for c1 = (1, 2), c2 = (0, 2). In other words, this time only a part of boundary control points is prescribed (see Fig. 10). Observe that the maximum error has been decreased to 0.035. We

repeated the calculations of this example for a1 ¼ a2 ¼  12 ;  12 and obtained a result which has the maximum error 0.033. The resulting surface is shown in Fig. 11.

6. Conclusions In this paper, we propose an efficient approach to the problem of multi-degree reduction of tensor product Bézier surfaces, with a subset of control points being prescribed. The continuity conditions for any two adjacent patches are given in terms of control points close to their common boundary control polygon, so that we can meet the Cr-consistent requirement, using our algorithm. However, it should be remarked that is not easy to give a detailed description of the corresponding algorithm for degree reducing of a Bézier patchwork when r > 1. We discuss in detail the special cases of degree reducing of two and four adjacent patches, preserving Cr continuity with r 2 {0, 1}. The complexity of the method is Oðmn1 n2 Þ with m :¼ min(m1, m2), where (n1, n2) and (m1, m2) is the degree of the input and output Bézier surface, respectively. This result is obtained by exploiting difference properties of the orthogonal Hahn polynomials. Acknowledgments We thank the anonymous referees for their remarks which helped to improve the earlier version of the paper.

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

4610

Appendix A. Proof of Lemma 4.1 We need some auxilliary results involving classical orthogonal polynomials. The following notation is used for the generalized hypergeometric series (see, e.g., [21, Section 2.1]): r Fs



  1 X a1 ; . . . ; ar  ða1 Þk . . . ðar Þk k z :¼ z;  k!ðb1 Þk . . . ðbs Þk b1 ; . . . ; bs k¼0

ðA:1Þ

where r; s 2 Zþ and a1, . . ., ar, b1, . . . , bs, z 2 C, and where (c)0 :¼ 1, (c)k :¼ c(c + 1). . .(c + k1) (kP1). Recall that the shifted Jacobi polynomials are defined by (see, e.g., [21, p. 99], or [22, Section 1.8]) ða;bÞ

Rk

ðxÞ :¼ ð1Þk

   k; k þ a þ b þ 1  ðb þ 1Þk ðk P 0Þ; 2F1 x k! bþ1

ðA:2Þ

while the Hahn polynomials are defined by (see, e.g., [22, Section 1.5])

Q k ðx; a; b; NÞ :¼ 3 F 2



  k; k þ a þ b þ 1; x  ðk ¼ 0; 1; . . . ; N; N 2 NÞ: 1 a þ 1; N

ðA:3Þ

The first result which will be used is the following connection between dual Bernstein polynomials (2.3) and shifted Jacobi polynomials. Lemma A.1 [23]. Dual Bernstein polynomials have the following representation:

Dnk ðx; aÞ ¼

n X ð2j=r þ 1ÞðrÞj Cðr þ 1Þ ða ;a Þ ð1Þj Q j ðk; a2 ; a1 ; nÞRj 1 2 ðxÞ; Cða1 þ 1ÞCða2 þ 1Þ j¼0 ða1 þ 1Þj

ðA:4Þ

where r :¼ jaj + 1, and 0 6 k 6 n. ðm;cÞ Another result is that the constrained dual Bernstein polynomials Dk ðx; aÞ defined by (2.5) can be expressed in terms of the unconstrained dual Bernstein polynomials (2.3). Namely, we have Lemma A.2 [1]. For k = c1,c1 + 1,. . .,mc2, the following formula holds: ðm;cÞ

Dk

ðx; aÞ ¼



m  jcj



m k

k  c1

1

~ xc1 ð1  xÞc2 Dmjcj kc1 ðx; a þ 2c Þ;

ðA:5Þ

where ~c :¼ ðc2 ; c1 Þ:

The third result is related to the connection problem for Jacobi polynomials. We have the formula (see, e.g., [24, p. 62])

Z 0

1

ðc;dÞ

ð1  xÞa xb Rj

 



ðxÞdx ¼

j; j þ c þ d þ 1; d  b  Cða þ 1ÞCðb þ 1Þ ðd þ 1Þj ðc þ d  a  bÞj 1 3F2 Cða þ b þ 2Þ j!ða þ b þ 2Þj d þ 1; c þ d  a  b 

ðj P 0Þ:

Proof of the Lemma 4.1. We prove Eq. (4.2). By Lemma A.2, we have ðm;cÞ

/kl ðn; m; a; cÞ :¼ hBnl ; Dk

ð; aÞia ¼



m  jcj



k  c1

m

1   Z n l

k

0

1

~ ð1  xÞa1 þc2 þnl xa2 þc1 þl Dmjcj kc1 ðx; a þ 2c Þdx;

where ~ c :¼ ðc2 ; c1 Þ. Using the expansion (A.4), then formulas (A.6) and (A.3), we obtain

/kl ðn;m; a; cÞ ¼



m  jcj



m k

k  c1

1   n l

mjcj X ð2j=r þ 1ÞðrÞj Cðjaj þ 2jcj þ 2Þ ð1Þj Cða1 þ 2c2 þ 1ÞCða2 þ 2c1 þ 1Þ j¼0 ða1 þ 2c2 þ 1Þj

Q j ðk  c1 ; a2 þ 2c1 ; a1 þ 2c2 ;m  jcjÞ 

0

1

ða1 þ2c2 ;a2 þ2c1 Þ

ð1  xÞa1 þc2 þnl xa2 þc1 þl Rj

ðxÞdx

1   X ð2j=r þ 1ÞðrÞj n Cða1 þ c2 þ n  l þ 1ÞCða2 þ c1 þ l þ 1Þ mjcj ð1Þj C ð a þ 2c þ 1Þ C ð a þ 2c þ 1Þ ð a1 þ 2c2 þ 1Þj l 1 2 2 1 j¼0    ðjcj  nÞj ða2 þ 2c1 þ 1Þj j; j þ jaj þ 2jcj þ 1; c1  l  1 Q j ðk  c1 ; a2 þ 2c1 ; a1 þ 2c2 ;m  jcjÞ 3F2 j!ðn þ jaj þ jcj þ 2Þj a2 þ 2c1 þ 1; jcj  n    1   m  jcj m n ða1 þ c2 þ 1Þnl ða2 þ c1 þ 1Þl k ¼ w ðn;m; a; cÞ; k  c1 k l ða1 þ c2 þ 1Þc2 ða2 þ c1 þ 1Þc1 l ¼

m  jcj k  c1

where r :¼ jaj + 2jcj + 1, and



Z

m k

ðA:6Þ

S. Lewanowicz, P. Woz´ny / Applied Mathematics and Computation 217 (2011) 4596–4611

wkl ðn; m; a; cÞ :¼

mjcj X j¼0

n  jcj j



4611

ða2 þ 2c1 þ 1Þj ð2j þ jaj þ 2jcj þ 1Þ Q ðk  c1 ; a2 þ 2c1 ; a1 þ 2c2 ; m  jcjÞ ða1 þ 2c2 þ 1Þj ðj þ jaj þ 2jcj þ 1Þnjcjþ1 j

 Q j ðl  c1 ; a2 þ 2c1 ; a1 þ 2c2 ; n  jcjÞ:



References [1] P. Woz´ny, S. Lewanowicz, Multi-degree reduction of Bézier curves with constraints, using dual Bernstein basis polynomials, Computer Aided Geometric Design 26 (2009) 566–579. [2] G.E. Farin, Curves and Surfaces for Computer Aided Geometric Design: A Practical Guide, fourth ed., Academic Press, Boston, MA, 1997. [3] J. Hoschek, D. Lasser, Fundamentals of Computer Aided Geometric Design, A.K. Peters, Wellesley, MA, 1993. [4] S.M. Hu, Z. Zuo, J.G. Sun, Approximate degree reduction of triangular Bézier surfaces, Tsinghua Science and Technology 3 (1998) 1001–1004. [5] A. Rababah, Distance for degree raising and reduction of triangular Bézier surfaces, Journal of Computational and Applied Mathematics 158 (2003) 233–241. [6] A. Rababah, L2 degree reduction of triangular Bézier surfaces with common tangent planes at vertices, International Journal of Computational Geometry and Applications 15 (2005) 477–490. [7] L. Lu, G. Wang, Multi-degree reduction of triangular Bézier surfaces with boundary constraints, Computer Aided Geometric Design 38 (2006) 1215– 1223. [8] H.S. Kim, Y.J. Ahn, Constrained degree reduction of polynomials in Bernstein–Bézier form over simplex domain, Journal of Computational and Applied Mathematics 216 (2008) 14–19. [9] Q.-Q. Hu, G.-J. Wang, Optimal multi-degree reduction of triangular Bézier surfaces with corners continuity in the norm L2, Journal of Computational and Applied Mathematics 215 (2008) 114–126. [10] Q.-Q. Hu, G.-J. Wang, A novel algorithm for explicit optimal multi-degree reduction of triangular surfaces, Science in China, Series F-Information Sciences 51 (2008) 13–24. [11] L. Lu, A note on constrained degree reduction of polynomials in Bernstein–Bézier form over simplex domain, Journal of Computational and Applied Mathematics 229 (2009) 324–326. [12] L. Zhou, G.-J. Wang, Constrained multi-degree reduction Bézier surfaces using Jacobi polynomials, Computer Aided Geometric Design 26 (2009) 259– 270. [13] P. Woz´ny, S. Lewanowicz, Constrained multi-degree reduction of triangular Bézier surfaces using dual Bernstein polynomials, Journal of Computational and Applied Mathematics 235 (2010) 785–804. [14] M. Eck, Degree reduction of Bézier surfaces, in: R. Fisher (Ed.), The Mathematics of Surfaces, vol. V, Oxford University Press, Oxford, 1994, pp. 135–154. [15] M. Eck, Least squares degree reduction of Bézier curves, Computer-Aided Design 27 (1995) 845–851. [16] G.D. Chen, G.J. Wang, Multi-degree reduction of tensor product Bézier surfaces with conditions of corners interpolations, Science in China, Series FInformation Sciences 45 (2002) 51–58. [17] D.W. Zhou, F. Liu, T.T. Lu, J.G. Sun, New method of approximate degree reduction of Bézier surfaces, Journal of Computer-Aided Design & Computer Graphics 14 (2002) 553–556. [18] Q.W. Guo, G.Q. Zhu, New approximate multi-degree reduction of tensor product Bézier surfaces, Journal of Computer-Aided Design & Computer Graphics 16 (2004) 777–782. [19] L. Lu, Approximating tensor product Bézier surfaces with tangent plane continuity, Journal of Computational and Applied Mathematics 231 (2009) 412–422. [20] W.N. Bailey, Contiguous hypergeometric functions of the 3F2(1) type, Proceedings of the Glasgow Mathematical Association 2 (1952) 62–66. [21] G.E. Andrews, R. Askey, R. Roy, Special Functions, Cambridge University Press, Cambridge, 1999. [22] R. Koekoek, R.F. Swarttouw, The Askey scheme of hypergeometric orthogonal polynomials and its q-analogue, Report 98-17, Faculty of Technical Mathematics and Informatics, Delft University of Technology, Delft, 1998. [23] S. Lewanowicz, P. Woz´ny, Dual generalized Bernstein basis, Journal of Approximation Theory 138 (2006) 129–150. [24] R. Askey, Orthogonal Polynomials and Special Functions, SIAM, Philadelphia, PA, 1975.