New method for distinguishing planar rational cubic B-spline

advertisement
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
165
Journal of Zhejiang University SCIENCE A
ISSN 1009-3095 (Print); ISSN 1862-1775 (Online)
www.zju.edu.cn/jzus; www.springerlink.com
E-mail: jzus@zju.edu.cn
New method for distinguishing planar rational cubic B-spline
curve segments as monotone curvature variation*
XU Hui-xia1,2, WANG Guo-jin†‡1,2
(1Department of Mathematics, Zhejiang University, Hangzhou 310027, China)
2
( State Key Laboratory of CAD&CG, Zhejiang University, Hangzhou 310027, China)
†
E-mail: gjwang@hzcnc.com
Received Sept. 6, 2005; revision accepted Mar. 3, 2006
Abstract: In order to fair and optimize rational cubic B-spline curves used frequently in engineering, and to improve design
system function, some formulae on the degree and the knot vector, of the product of three B-spline functions, are presented; then
Marsden’s identity is generalized, and by using discrete B-spline theory, the product of three B-spline functions is converted into a
linear combination of B-splines. Consequently, a monotone curvature variation (MCV) discriminant for uniform planar rational
cubic B-spline curves can be converted into a higher degree B-spline function. Applying the property of positive unit resolution of
B-spline, an MCV sufficient condition for the curve segments is obtained. Theoretical reasoning and instance operation showed
that the result is simple and applicable in curve design, especially in curve fair processing.
Key words: Discrete B-spline, The product of B-spline functions, Rational B-spline curve, Monotone curvature variation
doi:10.1631/jzus.2006.AS0165
Document code: A
CLC number: TP391
INTRODUCTION
Curve curvature is an important metric index of
the geometric property of the curve (Tai and Wang,
2004; Poston et al., 1995). It is a basic manipulation
to design a planar curve segment with monotone curvature variation (MCV) and distinguish whether a
planar curve segment is MCV or not, especially as it
is of great significance in curve fairing procedure
(Dill, 1981; Jones, 1970; Farin and Sapidis, 1989). As
we all know, one of the basic principles of curve
fairing is that the curve should consist of relatively
few MCV segments (Farin and Sapidis, 1989). So,
one important task for CAD workers is to find an
MCV criterion. However, results about MCV curves
have been obtained only in some special cases so far.
For example, there exist necessary and sufficient
‡
Corresponding author
Project supported by the National Natural Science Foundation of
China (Nos. 60373033 and 60333010), the National Natural Science
Foundation for Innovative Research Groups of China (No.
60021201), and the National Basic Research Program (973) of China
(No. 2002CB312101)
∗
conditions for quadratic Bézier curves (Sapidis and
Frey, 1992) and quadratic rational Bézier curves
(Frey and Field, 2000; Wang et al., 2000), and sufficient conditions for Bézier curves and B-spline curves
(Wang et al., 2004), etc. As the curvature computation is complicated, and the B-spline product and knot
vector analysis are full of difficulties, we have not
obtained any results of MCV condition for rational
B-spline curves that are the most common tools in
geometric design, which seriously affects the development of rational B-spline design system.
To deal with the above problem, we first apply
ourselves to studying B-spline expression of the
product of three B-spline functions. By generalizing
the Marsden’s identity representing the single power
function as a linear combination of B-spline functions
to the case of the product of three-power functions,
we deduce the degree formula and the knot vector
formula of the product of three B-spline functions;
then we get the coefficients’ expressions converting
the product into a summation, and thereby change the
166
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
product of three B-spline functions into a linear
combination of B-splines. Then, the MCV discriminant for uniform planar rational cubic B-spline curves
can be converted into an expression of higher order
B-spline functions, and using the property of positive
unit resolution of the latter, we finally get a novel and
simple sufficient discriminant condition. Three numerical examples presented in this paper indicate that
the result is correct and effective.
We also denote by Fj (j=1,2,3) the polynomial
formed by substituting the subscript “kj−1” for “kj” in
the polynomial ψ i , k1 , k2 , k3 , t ( y1 , y2 , y3 ). For example,
F1 = ψ i , k1 −1, k2 , k3 ,t ( y1 , y2 , y3 ) .
Lemma 1 Let y1, y2 and y3 be arbitrary real numbers,
aj=(kj−1)/(k−1),
3
∑a
j =1
j
= 1 , then we have
3
DERIVATION OF GENERALIZED MARSDEN’S
IDENTITY
ψ i , k , k , k , t ( y1 , y2 , y3 ) = ∑ a j Fj (ti + k −1 − y j ) ,
1
2
Definition 2
3
Let k = ∑ ki − 2 , here ki (i=1,2,3) are
i =1
positive integers. Suppose P1={p11, p12, …, p1, k1 −1}
with k1–1 elements is a subset of Ik–1={1,2,…,k−1},
and P2={p21, p22, …, p2,k2 −1} with k2−1 elements is a
subset of the set Ik–1−P1, then let P3 be the set
Ik–1−P1−P2 with the remaining k3−1 elements. Given
an integer i, we define the corresponding knot vector
t
Pj
and polynomial ψ i , k
j ,t
Pj
( y ) with the digital subset
Pj (j=1,2,3) as follows:
j =1
3
ψ i −1, k , k , k , t ( y1 , y2 , y3 ) = ∑ a j Fj (ti − y j ) .
1
Definition 1 Let k be a positive integer, and Ni,k,t(x)
defined on a non-decreasing sequence t=(ti), is called
the ith B-spline basis of order k (degree k−1). Then we
denote by Sk,t the linear space spanned by these
B-splines.
3
2
3
j =1
Proof We only prove the first equality. According
to Definition 3, the polynomial ψ i , k1 , k2 , k3 , t ( y1 , y2 , y3 )
corresponds to the digital set ∏, which implies that
the digital sets Ik–1 and Pj (j=1,2,3) can be uniquely
confirmed. Furthermore, three B-spline functions
corresponding to the digital set Pj, can also be confirmed, and the associated order of each B-spline
3
function is kj (j=1,2,3) which satisfies k = ∑ k j − 2 .
j =1
Similar to Definition 2, the digital sets Ik–2 and
{
Q js = q j1 , q j 2 ,…, q j , k js −1
}
(s=1,2,3),
corresponding
with the polynomial Fj (j=1,2,3), can be uniquely
confirmed, along with the associated B-spline functions. The order of each B-spline function is kjs
3
Pj
t =(..., ti −1 , ti , ti + p j1 , ti + p j 2 ,..., ti + p j ,k −1 , ti + k , ti + k +1 ,...),
(1)
ψ i ,k
(2)
j
j ,t
Pj
( y )=( ti + p j1 − y )( ti + p j 2 − y )...( ti + p j , k −1 − y ).
Definition 3
j
Let ∏= ∏ k −1,k
k −1,k − k1
1
2 −1
be the digital set
consisting of all the integer subsets {P1, P2, P3} defined in Definition 2, then define its corresponding
polynomial as
 3

∏ψ i ,k j ,t Pj ( y j ) 
{P , P , P }∈∏ j =1
.
ψ i ,k1 ,k2 ,k3 ,t ( y1 , y2 , y3 ) = 1 2 3 
 k − 1  k − k1  



 k1 − 1  k2 − 1  
∑
(s=1,2,3), and it satisfies k − 1 = ∑ k js − 2 , kjs =ks, j≠s,
s =1
s =1,2,3; kjj =kj−1.
In this way, the procedure of forming the digital
subsets P1,P2,P3 can be seen as selecting digital subsets Qj1,Qj2,Qj3 firstly, and then inserting the element
(k−1) into the digital subset Qjj. From this viewpoint,
the digital subsets Qj1,Qj2,Qj3 are equivalent to the
part of the subsets P1,P2,P3 in which the corresponding subset Pj contains the element (k−1). Therefore,
the digital subsets P1,P2,P3 can be seen as the sum
aggregates of all selected digital subsets Qj1,Qj2,Qj3,
which correspond to the polynomials Fj (j=1,2,3).
According to Eq.(2), to each polynomial Fj
(j=1,2,3), we have
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
ψ i,k
j ,t
Pj
( y j ) = (ti + k −1 − y j )ψ i , k
ψ i , k , t ( ys ) = ψ i , k
s
Ps
js , t
Q js
jj , t
Q jj
(yj ) ,
( ys ), s ≠ j , s = 1, 2,3,
 k − 1  k − k1  k − 1  k − 2   k − k j1 − 1
.


=


 k1 − 1  k2 − 1  k j − 1  k j1 − 1  k j 2 − 1 
Thus, it indicates that the value of the polynomial ψ i , k1 , k2 , k3 , t ( y1 , y2 , y3 ), corresponding to the polynomial Fj (j=1,2,3) equals (kj−1)Fj(ti+k−1−yj)/(k−1).
From all the above analyses, we know that
Lemma 1 is true.
By Lemma 1 and some mathematical deduction,
we can easily obtain the generalized form of the
Marsden’s identity (Wang et al., 2001; Marsden,
1970).
Theorem 1 Let y1, y2 and y3 be arbitrary real numbers, then we have the generalized Marsden’s identity:
3
∏ (x − y )
i =1
i
ki −1
Let


max  ∑ k j + mE1 − 2  .
 j∈H 2

The following theorem will illustrate the relation
between the coefficients of the B-spline product and
the coefficients of each factor.
Theorem 2 Suppose three B-spline functions are the
3
same as that in Lemma 2. Let k = ∑ ki − 2 , and
i =1
construct the knot vector t as outlined above.
3
Then f = ∏ f i ∈ S k , t , and there exist coefficients di
i =1
such that f = ∑ i d i N i , k , t ( x) . Especially, for a given i,
the knot vector t Ps defined by Eq.(1) satisfies
τ s ⊆ t Ps (s=1,2,3), and di is given by
 3 

s
 ∏  ∑ c js α js ,ks ,τ s ,t Ps (i )  
{P1 , P2 , P3 }∈Π  s =1  js

.
di =
 k − 1  k − k1  



 k1 − 1  k2 − 1  
∑
i
f i = ∑ j c iji N ji ,ki ,τi ( f i ∈ Ski ,τi , i = 1, 2,3) be
The coefficient αj,k,τ,t(i) is called discrete
B-spline of order k (Wang et al., 2001; Cohen et al.,
1980), which can be defined by the following recurrent relation:
i
three given B-spline functions, where ki and τi are
their corresponding order and knot vector, respectively. If we want to get the explicit expression of the
product of some B-spline functions, we must construct a spline space Sk,t, which contains the product.
Concretely, we should determine the order and knot
vector of the space Sk,t. As an application of the results
in (Mørken, 1991), the following two lemmas can be
obtained.
3
Lemma 2
the knot y in the knot vector t satisfies m ≥ m =
= ∑ψ i , k1 , k2 , k3 , t ( y1 , y2 , y3 ) Ni , k , t ( x) .
EXPLICIT EXPRESSION OF THE PRODUCT OF
THREE B-SPLINE FUNCTIONS
167
The order of the product f = ∏ f i is at
i =1
3
least equal to k = ∑ ki − 2 .
i =1
Lemma 3 Let H2={h1, h2} be a subset of I3={1,2,3},
and denote the set consisting of the remaining one
integer by E1, i.e., E1= I3\H2. Suppose the knot y occurs with the multiplicity mi (mi>0, i=1,2,3) in the
knot vector τi respectively, then the multiplicity m of
α j , k , τ , t (i ) = α j , k (i )
= ω j , k , τ (ti + k −1 )α j , k −1 (i ) + (1 − ω j +1, k , τ (ti + k −1 ))α j +1, k −1 (i),
 x − ti
,

ωi , k ( x) = ωi , k , t ( x) =  ti + k −1 − ti
0,

if ti < ti + k −1 ,
otherwise.
Proof
By the generalized Marsden’s identity in
Theorem 1, we have
3
∏ (x − y )
j =1
j
k j −1
= ∑ψ i ,k1 ,k2 ,k3 ,t ( y1 , y2 , y3 ) N i ,k ,t ( x )
i
 3

ψ i ,k ,t Pj ( y j )  N i ,k ,t ( x ) (3)
∑i P ,P∑,P ∈Π  ∏
j
{ 1 2 3 }  j =1

.
=
 k − 1  k − k1  



 k1 − 1   k2 − 1  
168
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
Since f j ( x) = ( x − y j )
k j −1
(j=1,2,3), for any real
number aji in [ti, ti+k] we have
( y j − a ji )
k j −1− r j
= (−1)
(k j − 1 − rj )!
k j −1− r j
(k j − 1)!
B-spline coefficient di with that of Eq.(4), and remembering that the B-splines are linearly independent, we conclude that
3
(r )
f j j (a ji ) ,
di =
rj = 0,1,…, k j − 1 .
Note that fj(x) is a polynomial of degree kj−1
(j=1,2,3). Hence, the order of the polynomial
3
f = ∏ f i whose degree is not more than k−1, is
∑ ∏λ
{P1 , P2 , P3 }∈Π
.
3
k = ∑ ki − 2 . An arbitrary spline function f in the
di =
i =1
space Sk,t can be expressed by the dual basis {λi,k}.
Here, {λi,k} is defined by
k −1
λi , k f = λi ,k , t f =
∑ (−1)
k −1− r
r =0
ψ i(,kk−1− r ) (ai ) f ( r ) (ai )
(k − 1)!
,
where ai is an arbitrary real number in [ti, ti+k]
(Mørken, 1991). Thus, according to “the polynomial
theorem” (Richard, 1977) and “the Taylor expansions
of multivariate functions” (Lang, 1978), after rearrangement, Eq.(3) can be rewritten as follows:
j =1
(g j )
Since the above expression holds for all nonempty subintervals (ts, ts+1) in [ti, ti+k], we have
3
∏
Pj
 k − 1  k − k1  



 k1 − 1  k2 − 1  
i =1
3
i ,k j , t
j =1
 3

ψ i , k , t Pj ( f j )  N i ,k , t ( x )
∑i P ,P∑,P ∈Π  ∏
j
{ 1 2 3 }  j =1

fj =
, (4)
 k − 1  k − k1  



 k1 − 1  k2 − 1  
Because of the way the knot vector t was con3
structed, we have f ( x) = ∏ f j ( x) ∈ Sk , t . From the
j =1
uniqueness of the expression of the B-spline function,
we can affirm there exist unique coefficients di such
that f ( x) = ∑ i d i N i , k , t ( x) . Especially, fix an integer i
and consider an arbitrary nonempty subinterval (ts,
ts+1) contained in the interval [ti, ti+k]. On this interval,
the polynomials fj and gj (j=1,2,3) are equivalent to
3
∑ ∏λ
{P1 , P2 , P3 }∈Π
j =1
i ,k j , t
Pj
( fj)
 k − 1  k − k1  



 k1 − 1  k2 − 1  
.
(5)
In fact, Eq.(5) is just a disguised form of Theorem 2. According to the theory of discrete B-spline
(Wang et al., 2001; Cohen et al., 1980), suppose
τ1 ⊆ t P1 , then the number λi , k , t P1 ( f1 ) is just the ith
1
B-spline coefficient of the B-spline function f1 on the
refined knot vector t P1 , so λi , k , t P1 ( f1 ) =
1
∑
j1
c1j1 α j , k , τ , t P1 (i ) , and similarly λi , k , t Ps ( f s ) ( s = 2,3) ,
1
1
1
s
we have the similar results.
It remains to prove that for a fixed integer i,
Ps
t ( s = 1,2,3) defined in Eq.(1) satisfy the relation
τ s ⊆ t Ps . Suppose y is a knot in the knot vector τs, and
let m1 , m2 , m3 , m, mP1 , mP2 , mP3 be the corresponding
multiplicity in the knot vector τ1 , τ 2 , τ 3 , t , t P1 , t P2 , t P3 ,
respectively. Now
ms ≤ mPs (s=1,2,3).
we
must
prove
that
Case 1 ms=0, recalling the construction of t Ps , we
conclude that mPs ≥ 0, namely, ms ≤ mPs .
Case 2 if ms>0, there are three cases to be considered.
(1) If y<ti+1 or y>ti+k−1, from Eq.(1) we deduce
mPs = m , and by Lemma 3 we have m ≥ ms .
3
∈ Sk , t , and its B-spline coef-
(2) If ti< ti+1 ≤y ≤ti+k−1< ti+k, we have ∑ mPs = m .
ficients can be obtained by Eq.(4). Comparing the
The worst case then occurs as max(m − mPs ) =
each other. Then
∏g
j =1
j
s =1
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
s −1
∑k
j =1
j
+
3
∑k
j = s +1
j
r )(r ⋅ r) − 3(r × r)(r ⋅ r )]
dK [ (r × .
=
6
ds
r
− 2. Therefore, we obtain mPs ≥ m −
3
 s −1

 ∑ k j + ∑ k j − 2  . By Lemma 3, the set I3 must
j = s +1
 j =1

include the selection condition of H2={1,…,s−1,
s+1,…,3}, E1={s}, so we have mPs ≥ ms .
(3) If y equals the knots both from within and
outside the range ti+1, ti+2, …, ti+k−1 (e.g. y=ti=ti+1), a
combination of the above two arguments can establish the required inequality.
Thus the proof of Theorem 2 is completed.
Applying p( l ) (t ) =
Consider the following uniform planar rational
cubic B-spline curve:
n
p(t )
=
r (t ) =
w(t )
∑wrN
i =1
n
i i
∑w N
i =1
i
i ,4,T
(t )
(6)
here, wi>0 is the weight of the associated control point,
and the knot vector is T = {t j }
∞
j =−∞
(tj=j, j=0, ±1,
±2, …).
Let us correct the definition of the curvature K of
the planar curve r(t) before solving the MCV condition for it. In order to differentiate convex curves from
concave curves, we take T(s) as a directed translation
angle of the tangent of the curve, defined on a point at
which the arc length of the planar curve is equal to s,
with regard to the forward direction of the x axis.
Then we can define
K = lim
∆s → 0
T ( s + ∆s ) − T ( s )
.
∆s
dr
d2r
d3r
, r = 2 ,
r = 3 , then
dt
dt
dt
the derivative of the curvature K, relative to the arc
length s (Farin, 1988), can be expressed as
Furthermore, let r =
where
p ,
q1 = wp − w p , q2 = w2 p − 2 w q1 − ww
q1 ,
wp − 3ww
q3 = w3
p − 3w q2 − w2 n
n
i=2
i=2
p (t ) = ∑ ∆wi −1ri −1 N i ,3,T (t ), w (t ) = ∑ ∆wi −1 N i ,3,T (t ) ,
n
n
i =3
i =3
n
n
i=4
i=4
w(t ) = ∑ ∆ 3 wi −1 Ni ,1,T (t ) .
p (t ) = ∑ ∆ 3 wi −3 ri −3 N i ,1,T (t ), (t )
ri=(xi,yi), t4≤t≤tn+1, n≥4,
q
q1
q
, r = 23 , r = 34 ,
w2
w
w
(t ) = ∑ ∆ 2 wi − 2 N i ,2,T (t ) ,
p(t ) = ∑ ∆ 2 wi − 2 ri − 2 N i ,2,T (t ), w
,
i ,4,T
l
l 
dl p
= ∑   w( i ) (t )r ( l −i ) (t ) to
l
dt
i =0  i 
the derivative formula of the product function, we
know that in order to solve the former third order
derivatives of the rational B-spline curve r(t), we
must seek for the former third order derivatives of p(t)
and w(t), namely
r =
A SUFFICIENT CONDITION OF MONOTONE
CURVATURE VARIATION FOR UNIFORM
PLANAR RATIONAL CUBIC B-SPLINE CURVES
169
Finally we obtain
dK
λ (t )
=
,
10
ds  w r 6 


λ (t ) = (q1 × q3 )(q1 ⋅ q1 ) − 3(q1 × q2 )(q1 ⋅ q2 ) ,
where λ(t) and dK/ds have the same sign because wi>0.
Therefore, if the MCV discriminant λ(t) satisfies
λ(t)≥0 (t4≤t≤tn+1), the curve r(t) is of monotone curvature and increases (MCI); otherwise, if λ(t)≤0
(t4≤t≤tn+1), the curve r(t) is of monotone curvature and
decreases (MCD).
The basic idea of the paper is as follows: first,
transforming the MCV discriminant λ(t) into an expression of the higher order B-splines; then, applying
the property of positive unit resolution of B-spline,
we can obtain a sufficient MCV condition for the
curve r(t).
Using Lemma 2, Lemma 3, Theorem 2 and results in (Mørken, 1991), the vectors q1, q2 and q3 can
be expressed as:
170
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
q1 = ∑ Ai1 N i ,6, τ1 (t ) ,


A = 2
∑
 {P221 , P222 }∈∏ 72

i
22
i
q2 = ∑ Ai2 N i ,10, τ 2 (t ) ,
i
q3 = ∑ Ai3 N i ,12, τ 3 (t ) ,
where τ1, τ2 and τ3 are the knot vectors with multiplicities of 4, 9 and 12 of each knot in T respectively,
and


Ai1 =  ∑ ∑ j ∑ j {( w j ∆w j −1rj −1 − w j rj ∆w j −1 )
{P , P }∈∏

1
5
2
1
2
2
2
1
1
}


2
Ai =  ∑
 P∈∏ 97

(∑
A α j ,8, τ
21
j1
j1
1
21 , t
P
(∑
j1
A α j ,10,τ
31
j1
1
31 , t
P
(i )
∏11
P∈
11
33 , t
P
9
 ,
7


Ai33 = 3
∑
 {P331 , P332 }∈∏ 112

j1
j3
 11
9 
 
j3
∑ ∑
j1
j2
∑ ∑
j1
j2
311
i
A
⋅ ( w j2 ∆ 2 w j3 − 2 rj3 − 2 − w j2 rj2 ∆ 2 w j3 − 2 )
 7   4  
     ,
 3   3  


=
∑
{P3111 , P3112 , P3113}∈∏ 9,6
3,3

 9   6 
    ,
 3   1 
∆w j1 −1
 11
 2 ,
 
A341
j1 w j2 rj2
∑ ∑ ∑
j1
9
 9,
 
w j1 ∆ 2 w j2 − 2 A1j3


⋅ α j ,7,τ ,t P341 (i )α j ,4,T ,t P342 (i ) 
1
341
2


w j1


⋅ α j ,4,T ,t P211 (i )α j ,4,T ,t P212 (i )α j ,2,T ,t P213 (i ) 
1
2
3


j2


⋅ A α j ,3,T ,t P331 (i )α j ,10,τ ,t P332 (i ) 
1
2
2




Ai34 = 
∑
{P341 , P342 }∈∏ 96

j2
∑ ∑ ∑
j1
7
 2,
 
3
A311
j1 ∆ w j2 − 3 rj2 − 3
j2
2
j2
(i ).
∑ ∑ ∑
∆w j1 −1


⋅ α j ,4,T ,t P321 (i )α j ,2,T ,t P322 (i )α j ,6,τ ,t P323 (i ) 
1
2
3
1


In the last two equalities above:


21
Ai = 
∑
{P211 , P212 , P213 }∈∏ 73,3,4

j2


⋅ α j ,10,τ ,t P311 (i )α j ,1,T ,t P312 (i ) 
1
311
2


(i )
)
A33
j α j ,12,τ
j
j1


A = 3
∑
 {P321 , P322 , P323}∈∏ 9,6
3,1



34
α
α
− ∑ j A32
−
A
(
i
)
(
i
)
∑ j4 j4 j4 ,10,τ34 ,t P 
j2
j2 ,10,τ 32 , t P
2


∑ ∑
∑ ∑
32
i
)
−
2
 5
 3 ,
 


22
− ∑ j A j2 α j ,8, τ , t P (i) 
2
22
2




3
Ai =  ∑
 P∈∏ 119



A =
∑
{P311 , P312 }∈∏ 99

31
i
3


⋅α j ,4,T ,t P1 (i )α j ,3,T ,t P2 (i ) 
1
2


j1


⋅ A1j2 α j ,3,T ,t P221 (i )α j ,6,τ ,t P222 (i ) 
1
2
1


i
1
∑ ∑
j2
j3
9
 6,
 
w j1 w j2 w j3


⋅ α j ,4,T ,t P3111 (i )α j ,4,T ,t P3112 (i )α j ,4,T ,t P3113 (i ) 
1
2
3


 9   6  
     ,
 3   3  
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
341
i
A


=
∑
{P3411 , P3412 , P3413}∈∏ 6,3
3,3

∑ ∑ ∑
j1
j2


B =
∑
{P111 , P112 }∈∏ 165

w j1 w j2 ∆ w j3 −3
3
j3


⋅ α j ,4,T ,t P3411 (i )α j ,4,T ,t P3412 (i )α j ,1,T ,t P3413 (i ) 
1
2
3


11
i
λ (t ) = ∑ ξi N i ,29,τ (t ),
(7)
where τ is the knot vector with multiplicities of 29 of
each knot in T respectively, and
∑ ∑B α
ξi =
∏ 26
P∈
28
j1
1
j1
j1 ,27,τ 1 , t P
1
2
In the equality above, τ and τ are the knot
vectors with multiplicities of 27 and 28 of each knot
in T respectively, and


B =
∑
{P11 , P12 }∈∏ 1626

∑ ∑
j1
j2
B11j1 B12j2


⋅ α j ,17,τ11 ,t P11 (i )α j ,11,τ12 ,t P12 (i ) 
1
2




Bi2 = 
∑
{P21 , P22 }∈∏1428

∑ ∑
j1
j2
B13j1 B14j2


⋅ α j ,15,τ13 ,t P21 (i )α j ,15,τ13 ,t P22 (i ) 
1
2


where,
 26 
 16  ,
 
 28 
 14  ,
 
j1
j2
( A1j1 × A3j2 )
∑ ∑
j1
j2


B =
∑
{P131 , P132 }∈∏ 145

∑ ∑
j1
j2


B =
∑
{P141 , P142 }∈∏ 145

∑ ∑
j1
j2
 10 
5 ,
 
( A1j1 × A2j2 )


⋅ α j ,6,τ ,t P131 (i )α j ,10,τ ,t P132 (i ) 
1
1
2
2


14
i
 16 
5 ,
 
( A1j1 ⋅ A1j2 )


⋅ α j ,6,τ ,t P121 (i )α j ,6,τ ,t P122 (i ) 
1
1
2
1


(i )
 28 
 26 
 
− ∑ ∑ B 2j2 α j ,29,τ 2 ,t P (i ).
2
28
j2
P∈∏
28
1
i


B =
∑
{P121 , P122 }∈∏ 105

12
i
13
i
i
∑ ∑


⋅ α j ,6,τ ,t P111 (i )α j ,12,τ ,t P112 (i ) 
1
1
2
3


 6   3  
     ,
 3   3  
where τ21, τ22, τ31, τ32, τ33, τ34, τ311, τ341 are the knot
vectors with the multiplicities of 7, 6, 10, 9, 11, 10, 7
and 7 of each knot in T, respectively.
By the results above, applying the results in
(Mørken, 1991), we can obtain the MCV discriminant
λ(t):
171
 14 
5 ,
 
( A1j1 ⋅ A2j2 )


⋅ α j ,6,τ ,t P141 (i )α j ,10,τ ,t P142 (i ) 
1
1
2
2


 14 
5 ,
 
where τ11, τ12 and τ13 are the knot vectors with multiplicities of 17, 9 and 14 of each knot in T respectively. The knot vector tP and the discrete B-splines
α j , k ,T , t P (i ) , which are involved in all equalities above,
are defined in Definition 2 and Theorem 2, respectively. The valued field of i is the field that makes
B-splines nonzero value in the corresponding knot
vector.
By Eq.(7), applying the property of positive unit
resolution of B-spline, we can directly obtain the
following theorem.
Theorem 3
Let r(t) be a uniform planar rational
cubic B-spline defined by Eq.(6), if the coefficients ξi
of the MCV discriminant in Eq.(7) satisfy ξi≥0 (≤0),
the valued field of i is that which makes B-splines
Ni,29,τ(t) have nonzero value in the knot vector τ and
that not all of the coefficients ξi equal zero, then r(t) is
172
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
of MCI (MCD).
NUMERICAL EXAMPLES
Theorem 3 is verified by three numerical examples in this section. In Figs.1a, 2a, and 3a, solid line,
dotted line and rhombic sign mark the curve, the
control polygon and the control points, respectively,
while horizontal and vertical axis represent x and
y coordinate components of the control points and the
curve’s points, respectively. In Figs.1b, 2b, and 3b,
we present the curvature plot of the corresponding
curve, where horizontal and vertical axis represent the
domain of knot t interval and the curvature K of the
curve, respectively.
Example 1 In this example, the curve is defined by
Eq.(6) where n=6 and k=4 hold (Fig.1). Its control
points are (1.5 5.5; 1 3; 3.8 6; 7 10; 10 12; 12 11.8),
and the corresponding weights are (1; 3; 3; 7; 9; 15).
All MCV discriminant coefficients of the curve satisfy ξi≤0, and Fig.1b shows that the curve is MCD,
0.6
11
0.4
9
0.2
K
y
The curve
The control polygon
The control points
7
0
5
−0.2
3
2
4
6
x
8
10
4
12
5
t
6
7
(b)
(a)
Fig.1 The control polygon and the corresponding curve (a) and the curvature plot of the curve (b). n=6, k=4
0
12
−0.05
K
y
10
8
The curve
The control polygon
The control points
6
4
−0.15
−0.25
x
5.0
t
(a)
(b)
5
6
4.0
7
4.5
5.5
6.0
Fig.2 The control polygon and the corresponding curve (a) and the curvature plot of the curve (b). n=5, k=4
10
1
8
The curve
The control polygon
The control points
0.6
K
y
6
4
0.2
2
0
−0.2
2
4
x
(a)
6
8
10
4.0
4.2
4.4
t
4.6
4.8
5.0
(b)
Fig.3 The control polygon and the corresponding curve (a) and the curvature plot of the curve (b). n=4, k=4
Xu et al. / J Zhejiang Univ SCIENCE A 2006 7(Suppl. II):165-173
which validate Theorem 3 is correct.
Example 2 In this example, the curve is defined by
Eq.(6) where n=5 and k=4 hold (Fig.2). Its control
points are (4 6; 7 12; 12 10; 14 8; 16 6), and the corresponding weights are (3; 3; 6; 9; 10). All MCV
discriminant coefficients of the curve satisfy ξi≥0, and
Fig.2b shows that the curve is MCI, which validate
Theorem 3 is correct.
Example 3 In this example, the curve is defined by
Eq.(6) where n=4 and k=4 hold (Fig.3). Its control
points are (1 10; 4 4; 9 2; 11 0), and the corresponding
weights are (1; 20; 3; 10). Fig.3b shows that the curve
is MCD, and after computing, it is known that not all
MCV discriminant coefficients of the curve satisfy
ξi≤0, which validate Theorem 3 is just a sufficient but
not necessary condition.
CONCLUSION
As illustrated from Theorem 3 and the numerical
examples, the discriminant method is applicable to
the whole rational B-spline curve containing segments of arbitrary number. If there are so many segments that the sufficient condition cannot hold, we
can successively decrease the number of the segments
and consider again whether the condition holds. In
contrast, the old method, which is applicable to Bézier
and rational Bézier curve, can only differentiate MCV
condition of a segment of the curve.
References
Cohen, E., Lyche, T., Riesenfeld, R., 1980. Discrete B-splines
and subdivision techniques in computer aided geometric
design and computer graphics. Computer Graphics &
Image Processing, 14(2):87-111. [doi:10.1016/0146664X(80)90040-4]
Dill, J.C., 1981. An application of color graphics to the display
of surface curvature. ACM SIGGRAPH Computer
Graphics, 15(3):153-161. [doi:10.1145/965161.806801]
Farin, G., 1988. Curves and Surfaces for Computer Aided
Geometric Design: A Practical Guide. Academic Press,
173
Boston, Massachusetts.
Farin, G., Sapidis, N., 1989. Curvature and the fairness of
curves and surfaces. IEEE Computer Graphics and
Applications, 9(2):52-57. [doi:10.1109/38.19051]
Frey, W.H., Field, D.A., 2000. Designing Bézier conic segments with monotone curvature. Computer Aided Geometric Design, 17(6):457-483. [doi:10.1016/S0167-8396
(00)00011-X]
Jones, J.I., 1970. A System for Designing and Approximating
Aesthetically Smooth Curves with Interactive Graphiccontrols. University of Detroit, Detroit, Michigan.
Lang, S., 1978. Analysis I. Addision-Wesley Publishing
Company, Reading, Massachusetts, p.287-289.
Marsden, M.J., 1970. An identity for spline functions with
applications to variation-diminishing spline approximation. Journal of Approximation Theory, 3(1):7-49.
[doi:10.1016/0021-9045(70)90058-4]
Mørken, K., 1991. Some identities for products and degree
raising of splines. Constructive Approximation, 7(1):
195-208. [doi:10.1007/BF01888153]
Poston, T., Fang, S.F., Lawton, W., 1995. Computing and
Approximating Sweeping Surfaces Based on Rotation
Minimizing Frames. Proc. the 4th International Conference on CAD/CG, Wuhan, China.
Richard, A.B., 1977. Introductory Combinatorics. Elsevier
North-Holland, Inc., New York, p.63-65.
Sapidis, N.S., Frey, W.H., 1992. Controlling the curvature of
quadratic Bézier curve. Computer Aided Geometric Design, 9(2):85-91. [doi:10.1016/0167-8396(92)90008-D]
Tai, C.L., Wang, G.J., 2004. Interpolation with slackness and
continuity control and convexity-preservation using
singular blending. Journal of Computational and Applied
Mathematics, 172(2):337-361. [doi:10.1016/j.cam.2004.
02.015]
Wang, Y.L., Wang, S.C., Li, D., Zhang, L.Z., Zhao, B.Y., 2000.
Study of curvature monotony condition for the quadratic
rational Bézier curves. Journal of Computer Aided Design and Computer Graphics, 12(7):507-511 (in Chinese).
Wang, G.J., Wang, G.Z., Zheng, J.M., 2001. Computer Aided
Geometric Design. China Higher Education Press, Beijing, China; Springer-Verlag Berlin, Heidelberg, Germany, p.53-54 (in Chinese).
Wang, Y.L., Zhao, B.Y., Zhang, L.Z., Xu, J.C., Wang, K.C.,
Wang, S.C., 2004. Designing fair curves using monotone
curvature pieces. Computer Aided Geometric Design,
21(5):515-527.
Download