Appl. Math. J. Chinese Univ. 2009, 24(4): 417-430 Constrained multi-degree reduction of triangular Bézier surfaces ZHOU Lian WANG Guo-jin∗ Abstract. This paper proposes and applies a method to sort two-dimensional control points of triangular Bézier surfaces in a row vector. Using the property of bivariate Jacobi basis functions, it further presents two algorithms for multi-degree reduction of triangular Bézier surfaces with constraints, providing explicit degree-reduced surfaces. The first algorithm can obtain the explicit representation of the optimal degree-reduced surfaces and the approximating error in both boundary curve constraints and corner constraints. But it has to solve the inversion of a matrix whose degree is related with the original surface. The second algorithm entails no matrix inversion to bring about computational instability, gives stable degree-reduced surfaces quickly, and presents the error bound. In the end, the paper proves the efficiency of the two algorithms through examples and error analysis. §1 Introduction Bézier curves(surfaces) are one of the most widely used modeling tools in CAD/CAM systems[1] . It is of great importance in geometry processing to achieve degree reduction, which is a process to find a lower degree curve(surface) to approximate another parameter curve(surface) with a given degree, while keeping the error within a given tolerance. Considerable methods have been developed to reduce degrees, which mainly fall into two categories. One adopts discretization methods[2-7] , and the other, algebraic methods[8-12] . Some researchers have made certain achievements[13-17] in the degree reduction of tensor product Bézier surfaces. But few studies have been done on triangular Bézier surfaces[18-19] . Thus, what is needed now is to enable the multi-degree reduction of triangular Bézier surfaces at one time while keeping corner and boundary curve constraints, so as to create a more efficient and precise modeling system. The work of Lu[20] meets the stated requirement. Again it has to solve the inversion of a high degree matrix, which needs long computing time and is questionable in its stability. Received: 2008-12-18 MR Subject Classification: 65D18 Keywords: triangular Bézier surface, explicit, boundary curve constraint, corner constraint, degree reduction, Jacobi polynomial Digital Object Identifier(DOI): 10.1007/s11766-009-2149-5 Supported by the National Natural Science Foundation of China (60873111; 60933007) *Corresponding author, E-mail: wanggj@zju.edu.cn 418 Appl. Math. J. Chinese Univ. Vol. 24, No. 4 With a fair view of former research achievements, we present the algorithms for multi-degree reduction of triangular Bézier surfaces under both corners and boundary curves constraints respectively. The basic idea is to achieve dimensional reduction of control points and basis functions by using the conversion between bivariate Jacobi basis functions and bivariate Bernstein basis functions as well as the orthogonality of Jacobi polynomials. The first algorithm derives the optimal degree-reduced surface and the best explicit presentation of approximating error under the two constraints in a most precise way. But it also needs to solve the inversion of a matrix whose degree is O(n) , where n is the degree of the original surface. The second algorithm avoids the inverse matrix by using the property of bivariate Bernstein polynomials. It provides stable numerical calculation with minor computational error tolerance and presents the error bound. §2 Preliminaries Defined on triangular domain T := {(s, t) : s, t ≥ 0, 1 − s − t ≥ 0}, a triangular Bézier surface of degree n is defined as follows[1] : P n P(s, t) = pi,j Bi,j (s, t), (2.1) n Bi,j (s, t) n! i j i!j!(n−i−j)! s t (1 i,j≤n n−i−j − s − t) is the bivariate Bernstein basis function of where = degree n, pi,j are the control points of the surface. 2.1 Jacobi basis functions on triangular domain α,β,γ Bivariate Jacobi basis functions Jn,k (s, t) on triangular domain are defined as follows[21] : t (α,β,γ) (2k+β+γ,α−1/2) (γ−1/2,β−1/2) Jn,k (s, t) = h−1 (s)(1 − s)k Jk ( ), n,k Jn−k 1−s where α, β, γ > −1/2, and Jn(u,v) (t) = −n, n + u + v + 1 (u + 1)n F1 ( |1 − t) n! 2 u+1 is univariate Jacobi polynomial[22] of degree n. Denote λ = β + γ, σ = α + β + γ + 1/2, then (α + 1/2)n−k (β + 1/2)k (γ + 1/2)k (k + λ)n+1 (α,β,γ) h2n,k ≡ [hn,k ]2 = . k!(n − k)!(2k + λ)(2n/σ + 1)(σ)n+k In this paper, generalized hypergeometric series[23] is denoted as Qi ∞ X a1 , · · · , ai l=1 (al )k F ( |z) = zk, Qj i j b1 , · · · , bj (1) (b ) k l=1 l k k=0 Qk−1 where i, j ∈ Z+ , z, ai , bj , c ∈ C, (c)k = l=0 (c + l). Bivariate Jacobi basis functions have the following properties: Property 1. Bivariate Jacobi basis functions of degree n on triangular domain T are orthogonal with weight function ω (α,β,γ)(s, t) = A(α,β,γ) sα−1/2 tβ−1/2 (1 − s − t)γ−1/2 , where A(α,β,γ) = (α + β + γ + 1/2)! . (α − 1/2)!(β − 1/2)!(γ − 1/2)! Constrained multi-degree reduction of triangular Bézier surfaces ZHOU Lian, et al. That is, ZZ T (α,β,γ) ω (α,β,γ)(s, t)Jm,l (α,β,γ) (s, t)Jn,k 419 (s, t) ds dt = δm,n δl,k . Lemma 1. For any i, j, l, k, n ∈ N0 such that i + j ≤ n and l ≤ k ≤ n, the bivariate Bernstein (α,β,γ) n polynomials Bi,j (s, t) and bivariate Jacobi polynomials Jl,k (s, t) can be expressed each other as follows[23] : X (α,β,γ) (α,β,γ) n Bi,j (s, t) = el,k (n, i, j)Jl,k (s, t), 0≤k≤l≤n (α,β,γ) Jl,k (s, t) = X (α,β,γ) di,j n (n, l, k)Bi,j (s, t), i+j≤n where (α,β,γ) el,k (n, i, j) =(−1)l−k n n−i l (α + 1/2)i (β + 1/2)j (γ + 1/2)n−i−j i j k hl,k l!(σ + 1)n+l · Hl,k (j, n − i − j; α − 1/2, β − 1/2, γ − 1/2, n), Hl,k (s, t; a, b, c, N ) :=(N − l + 1)l−k (a + 1)n−k (b + 1)k (−s − t)k · Ql−k (N − s − t; a, 2k + b + c + 1, N − k)Qk (s; b, c, s + t), −l, l + µ + ν + 1, −t Ql (t; µ, ν, M ) :=3 F2 ( |1), µ + 1, −M l (−1)k Hl,k (j, n − i − j; α − 1/2, β − 1/2, γ − 1/2, n) (α,β,γ) di,j (n, l, k) = . l!(−n)l hl,k k 2.2 One dimensional sorting of control points of surface and basis functions In 1959 when de Casteljau invented Bézier curves, he realized the need for the extension of curve ideas to surfaces. Interestingly enough, the first surface type he considered was what we now call Bézier triangular. This historical ‘first’ of triangular patches is reflected by the mathematical statement that they are a more ‘natural’ generalization of Bézier curves than tensor product patches[1] . Based on this ‘natural’ generalization, this paper first considers the re-sorting of the control points. Then using the conversion between Bernstein basis and Jacobi basis, and the orthogonality of Jacobi polynomials, we derive the optimal degree-reduced surface and the corresponding error. Definition 1. If a binary array pi,j (i + j ≤ n) arranged in a row vector conforms to the order of the subscript (i, j) in the index set Ωn = {(n, 0), (n − 1, 1), · · · , (0, n), (0, n − 1), · · · , (0, 0), (1, 0), · · · , (n − 1, 0), (n − 2, 1), · · · , · · · , (1, n − 2), · · · , (1, 1), · · · , (n − 3, 1), · · · }, we say the array satisfies (i, j) ∈ Ωn . This sorting method is called helical sorting. When n = 5, the sorting is presented in Fig. 1(a). Definition 2. If a binary array Jk,l (s, t)(0 ≤ l ≤ k ≤ n) arranged in a row vector conforms to the order of the subscript (i, j) in the index set Λn = {(n, n), (n, n − 1), · · · , (n, 0), (n − 1, n − 1), (n − 1, n − 2), · · · , (n − 1, 0), (n − 2, n − 2), · · · , (0, 0)}, we say the array satisfies (k, l) ∈ Λn . When n = 5, the sorting is presented in Fig. 1(b). Using the above two sorting methods and Lemma 1, the conversion of the two base is described as follows: (α,β,γ) n Theorem 1. Bivariate Bernstein basis Bi,j (s, t) and Jacobi basis Jk,l (s, t) can represent 420 Vol. 24, No. 4 Appl. Math. J. Chinese Univ. p50 J00 p41 p32 p23 p14 J11 p40 p31 J20 p30 p21 p22 p13 p04 p03 J41 p01 p00 J55 J54 (a) (i, j) ∈ Ω5 Fig. 1 J30 J31 J32 J44 p11 p02 J22 J21 J40 p10 p12 p05 J33 p20 J10 J42 J53 J43 J52 J51 J50 (b) (i, j) ∈ Λ5 When n = 5, binary arraies pi,j and Jk,l are arranged each other with Bn = J(α,β,γ) E(α,β,γ) , J(α,β,γ) = Bn D(α,β,γ) . n n n n Here, (α,β,γ) n Bn = (Bi,j (s, t))1×[(n+2)(n+1)/2] , J(α,β,γ) = (Jl,k n (s, t))1×[(n+2)(n+1)/2] , (α,β,γ) = = (di,j (n, l, k)), (i, j) ∈ Ωn , (l, k) ∈ Λn , (α,β,γ) where the elements of each row of matrix En satisfy (i, j) ∈ Ωn and the elements of each (α,β,γ) (α,β,γ) n column of matrix En satisfy (l, k) ∈ Λ . The elements of each row of matrix Dn (α,β,γ) satisfy (l, k) ∈ Λn and the elements of each column of matrix Dn satisfy (i, j) ∈ Ωn . E(α,β,γ) n (α,β,γ) (el,k (n, i, j)), D(α,β,γ) n As this paper only discusses Jacobi polynomials in two occasions, when α = β = γ = 0 and α = β = γ = 5/2, the following abbreviated notations are used for convenience: , , D0n := D(0,0,0) , E0n := E(0,0,0) J0n := J(0,0,0) n n n (5/2,5/2,5/2) (5/2,5/2,5/2) . , D5/2 , En5/2 := E(5/2,5/2,5/2) J5/2 n n := Dn n := Jn §3 The problem of degree reduction and preconditioning of boundary curves (n − m)-degree reduction of triangular Bézier surface Pn (s, t) in (2.1) is to find a triangular Bézier surface of degree m(m < n), X m Qm (s, t) = qi,j Bi,j (s, t), (3.1) i+j≤m whose control points are {qi,j }i+j≤m , so that the distance function between two surfaces in L2 -norm is minimized. That is, sZ Z d(Pn (s, t), Qm (s, t)) = kPn (s, t) − Qm (s, t)k2 dsdt = min. T As the information of corners of surfaces in a CAD/CAM system usually needs to be preserved, we need to consider the continuities at the corners of degree-reduced surfaces. Moreover, most of the products consist of complex surfaces which are composed of several patches. In ZHOU Lian, et al. Constrained multi-degree reduction of triangular Bézier surfaces 421 order to preserve the continuities globally, we should make constraints on the boundary curves of the degree-reduced surfaces. So this section presents the preconditioning of boundary curves under these two constraints. 3.1 Boundary constraints To a single triangular Bézier surface, its three boundary curves are respectively as follows: n X (3.2) s + t = 1 : P1 (s) = pi,n−i Bin (s), 0 ≤ s ≤ 1, i=0 s = 0 : P2 (t) = t = 0 : P3 (s) = n X j=0 n X p0,j Bjn (t), 0 ≤ t ≤ 1, (3.3) pi,0 Bin (s), 0 ≤ s ≤ 1, (3.4) i=0 where Bin (s) = ni (1 − s)n−i si is the Bernstein basis function of degree n. The three boundary curves are Bézier curves of degree n. To make constraints on these boundary curves, we need to keep high-order interpolation at the endpoints. In order to get the degree-reduced curves of these three boundary curves, we use the existing method[11] to obtain the degree-reduced curves of (3.2)-(3.4) with constraints of endpoints high-order interpolation. The basic idea is summarized as follows. Given a Bézier curve of degree n, Sn (t) = n X bk Bkn (t), t ∈ [0, 1]. (3.5) k=0 The optimal (n−n1 )-degree-reduced approximating curve having equal derivatives up to (r−1)th and (s − 1)-th orders at the endpoints, respectively i.e., (k) (l) (l) S(k) n (0) = Tn1 (0), k = 0, 1, · · · , r − 1; Sn (1) = Tn1 (1), l = 0, 1, · · · , s − 1, is denoted as Tn1 (t) = n1 X b̃k Bkn1 (t). k=0 The control points of the curve Tn1 (t) of degree n1 can be expressed in matrix form b̃0 b0 . . = (F Ba − Fa Aa (Ab )−1 Bb ) .. . n1 . . b̃n1 bn1 Here, 0, i < j, Bn = (bi,j )(n+1)×(n+1) , bi,j = i, j = 0, 1, · · · , n, (−1)i+j n i , i ≥ j, i j 0, i < j, Fn1 = (fi,j )(n1 +1)×(n1 +1) , fi,j = i, j = 0, 1, · · · , n1 , n −j n 1 / 1 , i ≥ j, i−j i (3.6) 422 Appl. Math. J. Chinese Univ. Ar,s n,n1 n1 −r−s+1 n1 −r−s+2 c0 c0 · · · cn−r−s−1 0 . . .. .. .. . n1 −r−s+1 n1 −r−s+2 cn1 −r+1 cn1 −r+1 · · · cn−r−s−1 n1 −r+1 n1 −r−s+2 n−r−s−1 = 0 c · · · c n −r+2 n 1 1 −r+2 n−r−s−1 0 0 · · · c n1 −r+3 .. .. .. . . . 0 0 ··· 0 P l (−1)i−j l+2s l+2r+2s+i i+s, l−i i j l cj = Pi=0 l (−1)i−j l+2s l+2r+2s+i i+s , i=j−s and l−i i Vol. 24, No. 4 cn−r−s 0 .. . n−r−s cn1 −r+1 , cn−r−s n1 −r+2 n−r−s cn1 −r+3 .. . n−r−s cn−r (n−r+1)×(n−n ) j 1 0 ≤ j ≤ s, s + 1 ≤ j ≤ l + s, a a B A a = Fb , b , Bn = b , Fn1 = F A B where the dimensions of six submatrices are shown in the following table. Ar,s n,n1 Matrix Aa Ab Ba Bb Fa Fb Dimension (n1 − r + 1) × (n − n1 ) (n − n1 ) × (n − n1 ) (n1 + 1) × (n + 1) (n − n1 ) × (n + 1) (n1 + 1) × r (n1 + 1) × (n1 − r + 1) The matrix Bn is a conversion matrix from degree n Bernstein basis to power basis of the same degree. The matrix Fn1 is a conversion matrix from degree n1 power basis to Bernstein basis at the same degree. Denote the error function between original curve Sn (t) and the degree-reduced curve Tn1 (t) as ε(t) = Sn (t) − Tn1 (t). The corresponding approximating error is denoted as ε. Its explicit expression is s 2 2 (2s,2r) (2s,2r) bn−r−s δn−r−s + · · · + bm−r−s δm−r−s+1 ε= , 22s+2r+1 where T T = (Ab )−1 Bb b0 b1 · · · bn , bm−r−s+1 bm−r−s+2 · · · bn−r−s (3.7) 2r+s+1 (n + 1) · · · (n + r) . 2n + r + s + 1 (n + s + 1) · · · (n + s + r) Using the above principle of degree reduction of curves, we can derive three degree-reduced matrices K1 , K2 , K3 , whose degrees are all (m + 1) × (n + 1), such that qm,0 pn,0 q0,m p0,n q0,0 p0,0 qm−1,1 pn−1,1 q0,m−1 p1,n−1 q1,0 p1,0 . = K1 . , . = K2 . , . = K3 . . (3.8) . . . . . . . . . . . . q0,m p0,n q0,0 p0,0 qm,0 pn,0 δn(r,s) = Constrained multi-degree reduction of triangular Bézier surfaces ZHOU Lian, et al. 423 pn0 r1 s3 T r3 s1 p0n Fig. 2 r2 s2 p00 The continuities at the corners The three degree-reduced curves are denoted respectively as m m m X X X qi,n−i Bim (s), Q2 (t) = q0,j Bjm (t), Q3 (s) = qi,0 Bim (s). Q1 (s) = i=0 j=0 (3.9) i=0 They have equal derivatives (r1 , s1 ), (r2 , s2 ), (r3 , s3 ) at the endpoints with the original curve respectively(see Fig.2). Then, denote the error function and approximating error of (3.7) as ε1 (s), ε2 (t), ε3 (s) and ε1 , ε2 , ε3 respectively. Write triangular Bézier surface of degree m as Q̃m (s, t) = X i+j≤m m q̃i,j Bi,j (s, t), q̃i,j = q0,j , q , i,0 qm−j,j , 0, j = 0, · · · , m, i = 0, · · · , m, j = 0, · · · , m, (3.10) else. m Its control points q̃i,j sorted in helix order, that is, (i, j) ∈ Ω , construct a row vector, which is denoted as Q̃m . Also, the control points pi,j of the surface in (1) satisfying (i, j) ∈ Ωm , make a row vector which is denoted as Pn . The control points ql,k of degree-reduced surface satisfying (l, k) ∈ Ωm , constitute a row vector which is denoted as Qm . Obviously, the relation between the control points vector Q̃m and Pn can be shown as follows: (Q̃m )T = C(Pn )T , (3.11) where the matrix C can be described in Matlab language as: C = zeros((m + 2)(m + 1)/2, (n + 2)(n + 1)/2), C(1 : m + 1, 1 : n + 1) = K1 , C(m + 2 : 2m + 1, n + 1 : 2n + 1) = K2 (2 : m + 1, n + 1 : 2n + 1), C(2m + 2 : 3m, 2n + 1 : 3n) = K3 (2 : m, 1 : n), C(2m + 2 : 3m, 1) = K3 (2m + 2 : 3m, n + 1). Here, zeros(n, m) denote a zero matrix of degree n × m. The notation C(· · · , · · · ) means the submatrix of the matrix C obtained by extracting the specific rows and columns. Finally, write vector Qm = Qm − Q̃m . (3.12) 424 Vol. 24, No. 4 Appl. Math. J. Chinese Univ. q40 q40 q31 q13 q04 q22 q20 q12 q03 q31 q30 q21 q22 q13 q10 q11 q02 q01 q00 q30 q04 q03 0 q20 0 0 (a) Q4 Fig. 3 0 q02 q01 (b) Q4 q21 0 q10 0 0 0 q00 0 0 q12 0 0 q11 0 0 0 (c) Q̃4 The vectors Q4 , Q4 and Q̃4 sorted in helix order are presented as (a)-(c), respectively When m = 4, the sorting of vectors Qm , Qm , Q̃m is shown in Fig. 3. 3.2 Interpolation at corners In (3.8), we have got the degree-reduced matrices K1 , K2 , K3 of the three boundary curves. Based on the interpolation at the corners and the three matrices, we also construct three corner constraints matrices. Denote K1i Hi = 0i , i = 1, 2, 3, K2i 1 2 where the submatrices Ki and Ki are formed respectively by the first (ri + 1) rows and last (si + 1) columns of the matrix Ki . Matrix 0i is a zero matrix of degree (m− ri − si − 1)× (n+ 1). Using the three corner constraints matrices, we can derive the constrained control points of the degree-reduced surface at the corners. Just the same as (3.10), denote the triangular Bézier surface of degree m as j = 0, · · · , s2 , m − r2 , · · · , m − 1; q0,j , q , X j = 0, · · · , r2 , m − s2 , · · · , m − 1; i,0 m Q̃cm (s, t) = q̃ci,j Bi,j (s, t), q̃ci,j = qm−j,j , j = 0, · · · , r1 , m − s1 , · · · , m; i+j≤m 0, else. The control points q̃ci,j satisfying (i, j) ∈ Ωm make a row vector Q̃cm . Similarly to the construction of matrix C in (3.11), we construct a matrix H such that (Q̃cm )T = H(Pn )T . Finally, denote vector c Qm = Qm − Q̃cm . (3.13) When m = 4 and the continuities at the three corners are all 0, the sorting of the vectors Qm and Q̃m is shown in Fig. 4. §4 Algorithm I of degree reduction of triangular Bézier surfaces The paper here first presents the algorithm for the optimal explicit multi-degree reduction of triangular Bézier surfaces with constraints of three boundary curves. As to corners interpolation in Section 3.2, we can obtain the degree-reduced surface by a simple alteration of the q40 0 0 0 0 q04 425 Constrained multi-degree reduction of triangular Bézier surfaces ZHOU Lian, et al. q31 0 0 q22 0 0 0 0 q13 0 0 0 q00 0 q21 q20 q12 q10 q11 q03 q02 q01 0 (b) Q̃c4 (a) Qc4 Fig. 4 q30 The vectors Qc4 and Q̃c4 sorted in helix order are presented above-presented algorithm. 4.1 Degree reduction with boundary constraints In Section 3.1, we have pretreated the three boundary curves of degree-reduced surface. To obtain the inner control points, we should subtract the surface Qm (s, t) from the surface Pn (s, t). The identity Pn (s, t) − Qm (s, t) = Bn (Pn )T − Bm (Q̃m + Qm )T T 0 0 T = J0n E0n (Pn )T − Jm0Em(C(Pn ) + (Qm ) ) E 0 = J0n−m J0m [ En−m − E0 C ](Pn )T − J0m E0m (Qm )T 0 m where J0n = J0n−m as follows. (4.1) m = J0n−m E0n−m (Pn )T − J0m [(E0m − E0m C)(Pn )T − E0m (Qm )T ], E0 , the dimensions of the four block matrices are shown J0m , E0n = En−m 0 m Matrix J0n−m J0m E0n−m E0m Dimension 1 × [(n − m)(n + m + 3)/2] 1 × [(m + 2)(m + 1)/2] [(n − m)(n + m + 3)/2] × [(n + 2)(n + 1)/2] [(m + 2)(m + 1)/2] × [(n + 2)(n + 1)/2] Because the elements of the first 3m columns of the vector Qm are all 0, we take out the first 3m columns of vector Qm and the matrix E0m . Denote the new vector and matrix as Q̂m and M respectively, then M(Q̂m )T = E0m (Qm )T . (4.2) Based on the orthogonality of bivariate Jacobi basis functions, we can see that the approximat ing error Pn (s, t) − Qm (s, t) reaches minimum if and only if L2 ZZ J0m [(E0m − E0m C)(Pn )T − E0m (Qm )T ][(E0m − E0m C)(Pn )T − E0m (Qm )T ]T (J0m )T dsdt = min. T That is, ǫI = [(E0m − E0m C)(Pn )T − M(Q̂m )T ]T [(E0m − E0m C)(Pn )T − M(Q̂m )T ] = min, 426 Vol. 24, No. 4 Appl. Math. J. Chinese Univ. so (Q̂m )T = (MT M)−1 MT (E0m − E0m C)(Pn )T . (4.3) According to (3.13),(4.2)-(4.3), the control points of the degree-reduced surface Qm (s, t) are ! 0 3m×1 (Qm )T = [C + ](Pn )T . (MT M)−1 MT (E0m − E0m C) Its approximating error in matrix form is q dI = (Pn (E0n−m )T E0n−m (Pn )T + εI )/2. (4.4) 4.2 Degree reduction with boundary constraints As the same in Section 4.1, we also obtain the equation (4.1). When s3 > 0, the 1, · · · , r1 + c 1, n − s1 + 1, · · · , n + r2 + 1, n − s1 + 1, · · · , n + r2 + 1 elements of vector Qm are all zero. When s3 = 0, the 1, · · · , r1 + 1, n − s1 + 1, · · · , n + r2 + 1, 2n + 1 − s2, · · · , 2n + 1 + r3 elements of vector c c Qm are all zero. So we subtract the corresponding column of vector Qm and matrix E0m , and denote the new vector and matrix as Q̂cm and N respectively. Then the unconstrained control points can be expressed as follows: (Q̂cm )T = (NT N)−1 NT (E0m − E0m H)(Pn )T . Based on (3.13), the control points of degree-reduced surface are given by c Qm = Qm + Q̃cm . The approximating error is similar to (4.4). §5 Algorithm II of degree reduction of triangular Bézier surfaces Using the degree elevation property of Bézier triangle i j n+1−i−j qi,j = qi−1,j + qi,j−1 + qi,j , n+1 n+1 n+1 we can raise the degree of a triangular Bézier surface from m to n and write it as X n QIn (s, t) = qIi,j Bi,j (s, t). (5.1) (5.2) i+j≤n Denote QIn = (qIi,j ), (i, j) ∈ Ωn . Subtract the degree-reduced curves of the three boundary curves in (3.2)-(3.4) from surface Pn (s, t) in (2.1). Based on (5.1)-(5.2), we obtain a new surface P Pm Pm m m P̃n (s, t) = i+j≤n pi,j Bi,j (s, t) − i=0 q0,i B0,i (0, t) − i=0 qi,0 Bi,0 (s, 0) Pm m m m (5.3) − i=0 qi,m−i Bi,m−i (s, 1 − s) + q0,0 (1 − s − t) + qm,0 s + q0,m tm = P̂n Bn , where P̃n = Pn − QIn = (p̃i,j ), (i, j) ∈ Ωn . According to the degree elevation in (5.1), it is clear that the error functions of the three boundary curves and the control points of surface P̃n (s, t) have the following relationship: ε1 (s) = m X i=0 p̃n,0 = 0, p̃0,n = 0, p̃0,0 = 0, m m X X p̃i,n−i Bim (s), ε2 (t) = p̃0,j Bjm (t), ε3 (s) = p̃i,0 Bim (s). j=0 i=0 (5.4) ZHOU Lian, et al. 427 Constrained multi-degree reduction of triangular Bézier surfaces The above equations illuminate that the three boundary curves of surface P̃n (s, t) are just the error functions of the boundary curves of surface Pn (s, t). So we remove the three boundary curves of P̃n (s, t) although they create minor error in this progressing. This is done to give the surface X n Pn (s, t) = p̃i,j Bi,j (s, t) ij(n−i−j)6=0 X = st(1 − s − t) p̃i,j ij(n−i−j)6=0 = st(1 − s − t) X n(n − 1)(n − 2) n−3 Bi−1,j−1 (s, t) ij(n − i − j) n−3 pi,j Bi,j (s, t), i+j≤n−3 n(n − 1)(n − 2) , 0 ≤ i + j ≤ n − 3, (i, j) ∈ Ωn−3 (5.5) (i + 1)(j + 1)(n − 2 − i − j) a common factor st(1 − s − t) so that we can use the orthogonality of bivariate Jacobi basis function to derive the optimal degree-reduced surface of Pn (s, t). Write the surface Pn (s, t) in matrix form, and then make basis transformation, pi,j = p̃i+1,j+1 Pn (s, t) =st(1 − s − t)Bn−3 (Pn−3 )T 5/2 5/2 =st(1 − s − t)Jn−3 En−3 (Pn−3 )T 5/2 =st(1 − s − t)Jn−3 P̂n−3 , where Pn−3 = (pi,j ), (i, j) ∈ Ωn−3 , 5/2 P̂n−3 = Em−3 (Pn−3 )T = (p̂i,j ), (i, j) ∈ Λn−3 . (5.6) Based on property 1, we can see that the optimal (n − m)-degree-reduced surface of Pn (s, t) is 5/2 5/2 R(s, t) = st(1 − s − t)Jm−3 P̂II = st(1 − s − t)Bm−3 Dm−3 P̂II = st(1 − s − t)Bm−3 R, where 5/2 R = Dm−3 P̂II = (ri,j ), (i, j) ∈ Ωm−3 , (5.7) I P̂ 5/2 P̂n−3 = (p̂k ) (n−1)(n−2) ×1 = , Jn−3 = (Jk )1× (n−1)(n−2) = JI JII . (5.8) 2 2 P̂II Column vector P̂II and row vector JII are formed by the last (m − 1)(m − 2)/2 elements of 5/2 column vector P̂n−3 and row vector Jn−3 respectively. Using the orthogonality of Jacobi basis function, the approximating error of Pn (s, t) is εII = Pn (s, t) − R(s, t) L2 R 1 R 1−t = ( 0 0 s2 t2 (1 − s − t)2 (JI P̂I )2 dsdt)1/2 (5.9) r I T I = (P̂ ) P̂ /5040. L1 Then we transform the surface R(s, t) in bivariate Bernstein basis, P m−3 R(s, t) = st(1 − s − t) i+j≤m−3 ri,j Bi,j (s, t) P (i+1)(j+1)(m−i−j−2) m = i+j≤m−3 ri,j Bi+1,j+1 (s, t) m(m−1)(m−2) P m = ij(m−i−j)6=0 qi,j Bi,j (s, t), (5.10) 428 Vol. 24, No. 4 Appl. Math. J. Chinese Univ. (a) 0.25 0.2 0.15 0.1 0.05 0 5 4 3 2 (b) 1 2 4 6 0 2 4 6 0 2 4 6 0 (e) 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 5 4 3 2 (c) 1 (f) 0.16 0.14 0.12 0.1 0.08 0.06 0.04 0.02 0 5 (d) 4 3 2 1 (g) Fig. 5 (a) a triangular Bézier surface of degree 6; (b)-(c) optimal 2-degree-reduced surfaces with constraints (1) and (2) by algorithm I respectively; (d) 2-degree-reduced surfaces with constraint (2) by algorithm II; (e)-(g) the corresponding error functions of (b)-(d), respectively Constrained multi-degree reduction of triangular Bézier surfaces ZHOU Lian, et al. 429 where ij(m − i − j) , 2 ≤ i + j ≤ m − 1 or ij(m − i − j) 6= 0. (5.11) m(m − 1)(m − 2) Finally, according to (3.8)-(3.11), (5.1)-(5.3), (5.5)-(5.8), (5.11), the degree-reduced surface X m Qm (s, t) = qi,j Bi,j (s, t). qi,j = ri−1,j−1 i+j≤m Based on (3.7), (5.4), (5.9)-(5.10), the error bound is given d2 = Pn (s, t) − Qm (s, t) = P̃n (s, t) − R(s, t) L2 Pm Pm Pm L2 =k i=0 p̃i,n−i Bim (s) + j=0 p̃0,j Bjm (s) + i=0 p̃i,0 Bim (s) P n 2 + ij(n−i−j)6=0 p̃i,j Bi,j (s, t) − R(s, t) kL = ε1 (s) + ε2 (t) + ε3 (s) + Pn (s, t) − R(s, t) (5.12) L2 ≤ ε1 + ε2 + ε3 + εII . §6 Examples and Analysis Example 1. Given a triangular Bézier surface of degree 6, its control points in helix order are {(6, 0, 2), (5.2, 1, 3), (4.5, 2, 5), (4, 3, 6), (3.5, 3.5, 4), (3, 4.2, 2), (2, 5, 1), (2, 4, 2), (1.5, 3.5, 3), (1, 2, 3), (0.8, 1.5, 1.5), (0.4, 0.8, 0.6), (0, 0, 0), (0.4, 0.4, 1), (1.5, 0.5, 2), (3,0.2, 4), (4,0.5, 3.5), (5, 0, 3), (4.5, 1, 3), (4, 2.2, 4), (2.5, 2.5, 5), (2.5, 3, 5), (1.5, 2.8, 4), (2, 1.2, 2), (1.2, 1, 2), (2, 0.9, 3), (3, 0.6, 4), (3, 2, 3) }. We consider two constraints, that is, (1) preserving C 1 continuities at three corners. (2) preserving boundary constraints and the continuities at the endpoints of the boundary curves are all 1. First, using algorithm I, we present the 2-degree-reduced surface with constraints (1)-(2) respectively. Then, using algorithm II, we present the 2-degree-reduced surface with constraint (2) (see Fig. 5). The approximating errors of Fig. 5(b)-(c) derived by (4.4) are 0.0399, 0.0482 respectively. The error bound of Fig. 5(d) is 0.2125, which is obtained by (5.12). The absolute error of Figure 5(d) is 0.0498, which is obtained by numerical method. The errors of Fig. 5(c) are greater than those of Fig. 5(b). This is because the former has more constraints than the latter. Compare Fig. 5(c) with 5(d), we can find that with boundary constraints, the best error 0.0482 is near to the absolute error 0.0498. It suggests that algorithm II has high precision and avoids inverse matrix. And algorithm II has many advantages such as boundary constraints, multi-degree reduction at one time, explicit expression, error forecast, time saving and high precision and so on. It has practical value in CAD design. References 1 Farin G. Curves and Surfaces for CAGD. 5th ed, San Francisco: Morgan Kaufmann, 2001. 2 Forrest A R. Interactive interpolation and approximation by Bézier polynomials, The Computer Journal, 1972, 15(1): 71-79. 3 Farin G. Algorithms for rational Bézier curves, Comput Aided Design, 1983, 15(2): 73-77. 430 Appl. Math. J. Chinese Univ. Vol. 24, No. 4 4 Piegl L, Tiller W. Algorithm for degree reduction of B-spline curves, Comput Aided Design, 1995, 27(2): 101-110. 5 Danneberg L, Nowacki H. Approximate conversion of surface representations with polynomial bases, Comput Aided Geom Design, 1985, 2(2): 123-132. 6 Hoschek J. Approximation of spline curves, Computer Aided Geome Design, 1987, 4(1): 59-66. 7 Hu S M, Sun J G, Jin T G. Approximate degree reduction of Bézier curves, Tsinghua Sci Technol, 1998, 3(2): 997-1000. 8 Lachance M A. Chebyshev economization for parametric surfaces, Computer Aided Geom Design, 1988, 5(3), 195-208. 9 Eck M. Degree reduction of Bézier curves, Comput Aided Geom Design, 1993, 10(4), 237-257. 10 Chen G D, Wang G J. Optimal multi-degree reduction of Bézier curves with constraints of endpoints continuity, Comput Aided Geome Design, 2002, 19(6): 365-377. 11 Zhang R J, Wang G J. Constrained Bézier curves’ best multi-degree reduction in the L2 -norm, Progr Natur Sci, 2005, 15(9): 843-850. 12 Zhou L, Wang G J. The optimal constrained multi-degree reduction of Bzier curves with explicit expressions based on divide and conquer, Journal of Zhejiang University Natural Science A, 2009, 10(4): 577-582. 13 Zhou D W, Liu F, Ju T, et al. New method of approximate degree reduction of Bézier surface, J Comput Aided Design & Computr Graph, 2002, 14(6): 553-556. 14 Hu S M, Zheng G Q, Sun J G. Approximate degree reduction of rectangular Bézier surfaces, Journal of Software, 1997, 4(4): 353-361. 15 Chen G D, Wang G J. Multi-degree reduction of tensor product Bézier surfaces with conditions of corners interpolations, Science in China (Ser F), 2002, 45(1): 51-58. 16 Guo Q W, Zhu G Q. New approach to approximate multi-degree reduction of tensor product Bézier surfaces, J Comput Aided Design & Comput Graph, 2004, 16(6): 777-782. 17 Zhou L, Wang G J. Constrained multi-degree reduction of Bzier surfaces using Jacobi polynomials, Comput Aided Geome Design, 2009, 26(3): 259-270. 18 Hu S M, Zuo Z, Sun J G. Approximate degree reduction of triangular Bézier surface, Tsinghua Sci Technol, 1998, 3(2): 1001-1004. 19 Rababah A. Distance for degree raising and reduction of triangular Bézier surfaces, J Comput Appl Math, 2003, 158(2): 233-241. 20 Lu L Z, Wang G Z. Multi-degree reduction of triangular Bézier surfaces with boundary, Comput Aided Design, 2006, 38: 1215-1223. 21 Dunll C, Xu Y. Orthogonal Polynomials of Several Variables, Cambridge: Cambridge University Press, 2001. 22 Borwein P, Erdelyi T. Polynomial and Polynomial Inequalities, Berlin: Spring-Verlag, 1995. 23 Lewanowicz S, Wozny P. Connections between two-variable Bernstein and Jacobi polynomials on the triangle, J Comput Appl Math, 2006, 197: 520-533. Department of Mathematics, Zhejiang University, Hangzhou 310027, China; State Key Laboratory of CAD&CG, Zhejiang University, Hangzhou 310027, China