Constrained multi-degree reduction of triangular B´ ezier surfaces ZHOU Lian WANG Guo-jin

advertisement
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
Download