Journal of Information & Computational Science 11:17 (2014) 6359–6367 Available at

Journal of Information & Computational Science 11:17 (2014) 6359–6367
Available at http://www.joics.com
November 20, 2014
Modifiable Composite Curves and Surfaces with
Automatic Smoothness ⋆
Lanlan Yan a,b,∗,
a College
b School
Xuli Han b
of Science, East China Institute of Technology, Nanchang 330013, China
of Mathematics and Statistics, Central South University, Changsha 410083, China
Abstract
This paper presents a piecewise composite curve; each segment is defined by 3-5 control points. The
adjacent curve segments have two common control points. Moving one control point, at most two
segments will change. The curve has shape adjustability as well as continuity adjustability. Choosing
appropriate parameter, we can get the curve with expect continuity. We can modify the shape and the
continuity of the curve in whole or in part by simply changing the parameter of the curve. We also
extend the curve to surface. The numerical examples show the feasibility of the new modeling method.
Keywords: Curve Design; Shape Parameter; Piecewise Combination; Continuity; Tensor Product
Surface
1
Introduction
B-spline method is an important curve and surface modeling method. B-spline curve possesses
locality, and it can easily solve the problem of continuity. However, nothing can be perfect. Bspline method is no exception. Its continuity is closely related with its order. So if we want to
construct B-spline curve with higher order of continuity, we must increase the order of the curve.
But in doing so, the locality will weaken. In addition, the shape of B-spline curve is almost
uniquely determined by its control polygon. And B-spline curve can not exactly represent conic
curves in addition to parabola.
Precisely because B-spline curve has some shortcomings, many papers proposed new methods.
For example, [1]-[12] presented new curves which have the same structure as B-spline curve.
These curves inherit the locality, smoothness and some other characteristics of B-spline curve.
Furthermore, all the curves given in [1]-[12] have shape adjustable property. In particular, the
curves in [7, 8] and [10] can accurately represent ellipse (circle). The curves presented in [9] and
⋆
Project supported by the National Nature Science Foundation of China (No. 11261003, No. 60970097,
No. 11271376).
∗
Corresponding author.
Email address: [email protected] (Lanlan Yan).
1548–7741 / Copyright © 2014 Binary Information Press
DOI: 10.12733/jics20104431
6360
L. Yan et al. / Journal of Information & Computational Science 11:17 (2014) 6359–6367
[12] can represent all conic curves and some transcendental curves. The curves in [2], [10]-[12]
can reach higher order of continuity than B-spline curve.
Although so many papers improved B-spline curve, there is few paper research how to make
the continuity of B-spline curve adjusted freely without changing its order. In [13], the authors
did some research on this issue. A kind of B-spline-like curve of order two, which enjoys many
good properties, was defined. In the present paper, we further define the similar curves of order
three and order four. And define the composite curves which is composed of curves of different
order. To keep the integrity, here will still briefly introduce the B-spline-like curve of order two.
The rest of this paper is organized as follows. Section 2 gives the blending functions and their
properties. In Section 3, we define the piecewise composite curve and analyze its properties. In
Section 4, we extend the curve to surface. Finally, a short conclusion is given in Section 5.
2
2.1
Blending Functions
Construction of the Blending Functions
i i
Let Bm,i (t) = Cm
t (1 − t)m−i (i = 0, 1, ..., m) are the classical Bernstein basis functions. We use
them to construct the following functions.
Definition 1 Let k2 ≥ 1(k2 ∈ N ), m2 = k2 + 2, α ∈ (0, 1], for t ∈ [0, 1], the functions [13]

1
1−α


 f2,0 (t) = 2 Bm2 ,0 (t) + 2 Bm2 ,1 (t),
f2,1 (t) = 1 − f2,0 (t) − f2,2 (t),


 f (t) = 1−α B
(t) + 1 B
(t),
2,2
m2 ,m2 −1
2
2
m2 ,m2
are called the blending functions of order 2.
Definition 2 Let k3 ≥ 1(k3 ∈ N ), m3 = 2k3 + 1, α ∈ (0, 1], for t ∈ [0, 1], the functions


f3,0 (t) = 21 Bm3 ,0 (t) + 1−α
Bm3 ,1 (t),

2

∑3

 f (t) = 1 B
(t) + 1+α
Bm3 ,1 (t) + ki=2
Bm3 ,i (t),
3,1
2 m3 ,0
2
∑m3 −2
1+α

f3,2 (t) = i=k3 +1 Bm3 ,i (t) + 2 Bm3 ,m3 −1 (t) + 12 Bm3 ,m3 (t),




f3,3 (t) = 1−α
Bm3 ,m3 −1 (t) + 21 Bm3 ,m3 (t),
2
are called the blending functions of order 3.
Definition 3 Let k4 ≥ 1(k4 ∈ N ), 1 ≤ s ≤ k4 (k4 , s ∈ N ), m4 = 2k4 + s + 1, α ∈ (0, 1], for
t ∈ [0, 1], the functions

∑k 4
1−α
1

B
(t)
+
f
(t)
=

m
,0
4,0
4
i=1 Bm4 ,i (t),
2
2


∑k 4

1+α
1

B
(t) + 2

i=1 Bm4 ,i (t),
2 m4 ,0
 f4,1 (t) = ∑
4 +s
Bm4 ,i (t),
f4,2 (t) = ki=k
4 +1

∑

m
1
4 −1


f4,3 (t) = 1+α

i=k4 +s+1 Bm4 ,i (t) + 2 Bm4 ,m4 (t),
2


∑
 f (t) = 1−α m4 −1
B (t) + 1 B
(t),
4,4
2
i=k4 +s+1
m4 ,i
2
m4 ,m4
L. Yan et al. / Journal of Information & Computational Science 11:17 (2014) 6359–6367
6361
are called the blending functions of order 4.
For simplicity, we will abbreviate f·,· (t), B·,· (t) to f·,· , B·,· whenever there is no confusion.
2.2
Properties of the Blending Functions
The blending functions of order 2-4 have the following properties.
(1) Degeneracy[13] : When k2 = 1, α = 2/3, the blending functions of order 2 are the quadratic
uniform B-spline basis functions.
(2) Non-negativity: Under the conditions given in Definition 1-3, we always have fn,i ≥ 0, here
n = 2, 3, 4, i = 0, 1, . . . , n.
∑
(3) Normalization: ni=0 fn,i = 1, here n = 2, 3, 4.
(4) Symmetry: fn,i (t) = fn,n−i (1 − t), here n = 2, 3, 4, i = 0, 1, . . . , n.
(5) Endpoint property: For n = 2, 3, 4, i = 0, 1, . . . , n, we have
{
fn,0 (0) = fn,1 (0) = 12 , fn,i (0) = 0 (i ̸= 0, 1),
(1)
fn,n−1 (1) = fn,n (1) = 12 , fn,i (1) = 0 (i ̸= n − 1, n),
for any natural number L, when 1 ≤ L ≤ kn , we have
{ (L)
(L)
(L)
L 1−L(1−α)
L 1−L(1−α)
fn,0 (0) = (−1)L L!Cm
, fn,1 (0) = (−1)L−1 L!Cm
, fn,i (0) = 0 (i ̸= 0, 1),
n
n
2
2
(L)
(L)
(L)
L L(1−α)−1
L 1−L(1−α)
fn,n−1 (1) = L!Cm
, fn,n (1) = L!Cm
, fn,i (1) = 0 (i ̸= n − 1, n).
n
n
2
2
(2)
[13]
Besides, for the blending functions of order 2, when L = k2 + 1, α = 1, we have
{
(L)
f2,0 (0) = (−1)L m22 ! ,
(L)
(L)
f2,1 (0) = (−1)L−1 m22 ! ,
(L)
f2,0 (1) = 0, f2,1 (1) = − m22 ! ,
(L)
f2,2 (1) =
(L)
f2,2 (0) = 0,
m2 !
.
2
(3)
(6) Linear independence: The blending functions of order 2-4 are linearly independent.
The proof for (1)-(4) is simple. The proof for (5) and (6) can refer to [13].
3
3.1
Composite Curves
Construction of the Curve
Definition 4 Given n + 1(n = 2, 3, 4) control points Vi ∈ Rd (d = 2, 3; i = 0, 1, . . . , n), we can
use the blending functions of order n to define
∑n
fn (t) =
fn,i (t)Vi , t ∈ [0, 1],
(4)
i=0
we call fn (t) pc-curve segment of order n.
6362
L. Yan et al. / Journal of Information & Computational Science 11:17 (2014) 6359–6367
Definition 5 Given control points Vi ∈ Rd (d = 2, 3; i = 0, 1, . . . , l(n−1)+1; l ∈ N + ; n = 2, 3, 4),
we can construct a piecewise composite curve (pc-curve for short) consists of l pc-curve segments
of order n, the ith segment is defined as
∑n
fn,i (t) =
fn,j (t)Vj+(n−1)(i−1) , t ∈ [0, 1],
j=0
where i = 1, 2, . . . , l.
In Definition 5, each curve segment has the same order. In fact, we can also let different curve
segment select a different order.
∑
Definition 6 Given control points Vi ∈ Rd (d = 2, 3; k = 0, 1, . . . , li=1 ni − l + 1; l ∈ N + ; ni =
2, 3, 4), we can construct a pc-curve consists of l curve segments, the ith segment is a pc-curve
segment of order ni , which is defined as
∑ni
fni ,i (t) =
fni ,j (t)Vj+∑i−1
, t ∈ [0, 1],
(5)
s=1 (ns −1)
j=0
where i = 1, 2, . . . , l, in the case i = 1, we set
∑i−1
s=1
(ns − 1) = 0.
The definition mode of pc-curve is analogous to the classical B-spline curve, but in fact they are
different. For B-spline curve, between the two control polygons of two adjacent curve segments,
only one edge is not the same. But for pc-curve, only one edge is the same.
3.2
Properties of the Curve
The pc-curve has the following properties.
(1) Convex hull property: Since the blending functions are nonnegative and they sum to one,
the pc-curve segment fni ,i (t) given in (5) must lie inside the convex hull Hi of the control points
(j = 0, 1, . . . , ni ), and the entire pc-curve must lies inside H = ∪li=1 Hi .
Vj+∑i−1
s=1 (ns −1)
(2) Geometric invariance: Because pc-curve is an affine combination of the control points, its
shape is independent of the choice of the coordinate system.
(3) Symmetry: From the symmetry of the blending functions, we know both V0 , . . . , Vn and
Vn , . . . , V0 define the pc-curve segment in (4) with the same shape but different parameterization.
(4) Shape adjustability: Each pc-curve segment has two or three parameters, which can be
used to adjust the shape of the curve.
Figs. 1-3 give the pc-curve segments of order 2-4 determined by the same control polygon but
different parameters. The settings of parameters are as follows. In Fig. 1 (a), k2 = 1. In Fig. 1
(b), α = 1/5. In Fig. 2 (a), k3 = 2. In Fig. 2 (b), α = 1/5. In Fig. 3 (a), k4 = 3, s = 1. In Fig. 3
(b), α = 1, s = 4. In Fig. 3 (c), α = 1, k4 = 4. From top to bottom s = 1, 2, 3, 4. In Figs. 1 (a),
2 (a) and 3 (a), From bottom to top, α = 1/4, 1/2, 3/4, 1. In Figs. 1 (b), 2 (b) and 3 (b), From
bottom to top, kn = 1, 2, 3, 4 (n = 2, 3, 4).
As can be seen from Figs. 1-2, for the pc-curve segments of order 2 and 3, when only change α
or kn (n = 2, 3), the lager the parameter, the closer the curve approaches its control polygon. The
change of the approximation degree is uniform with the change of α but uneven with the change
L. Yan et al. / Journal of Information & Computational Science 11:17 (2014) 6359–6367
(a)
6363
(b)
Fig. 1: Pc-curve segments of order 2
(a)
(b)
Fig. 2: Pc-curve segments of order 3
(a)
(b)
(c)
Fig. 3: Pc-curve segments of order 4
of kn (n = 2, 3). As can be seen from Fig. 3, for the pc-curve segment of order 4, when change
α or k4 , the lager the parameter, the closer the curve approaches its second and fourth control
points, the farther the curve away from its third control point. With the change of α, the change
of the approximation degree is uniform. But the change of the approximation degree is uneven
with the change of k4 . If only change s, the lager the parameter, the closer the curve approaches
its third control point. The change of the approximation degree is uneven with the change of s.
In addition, from (b) and (c) we can see that when k4 = s, the curve can well maintain the shape
of the control polygon.
(5) Local control property: From the definition of pc-curve, we know moving one control point
will alter at most two curve segments.
6364
L. Yan et al. / Journal of Information & Computational Science 11:17 (2014) 6359–6367
(6) Endpoint property: From (1)-(4), we can get the following conclusions
fn (0) = 12 (V0 + V1 ),
fn (1) = 12 (Vn−1 + Vn ),
n = 2, 3, 4,
(6)
for any natural number L, when 1 ≤ L ≤ kn (n = 2, 3, 4),
fn(L) (0) = (−1)L−1 Sn,L (V1 − V0 ),
fn(L) (1) = Sn,L (Vn = Vn−1 ),
(7)
where
L 1−L(1−α)
L 1−L(1−α)
S2,L = L!Cm
, S3,L = L!Cm
,
2
3
2
2
L α
S4,L = L!Cm
,
4 2
when L = k2 + 1, α = 1,
(L)
(L)
f2 (0) = (−1)L−1 m22 ! (V1 − V0 ), f2 (1) =
m2 !
(V2
2
− V1 ).
(8)
Lemma 1 Let t ∈ [0, 1], assume two curve segments f (t) and g(t) are joined at f (1) = g(0). If
when 1 ≤ L ≤ k,
f (L) (1) = SL (Vb − Va ),
g (L) (0) = (−1)L−1 SL (Vb − Va ),
(9)
here SL is a constant related to L, then the two curve segments are Gk continuous at the junction.
Proof To make the two curve segments Gk continuous, there must

 
g ′ (0)
β1

 
 g ′′ (0)   β2
β12

 
 ′′′
 
 g (0)   β3
3β1 β2
β13

=
 g (4) (0)   β 4β β + 3β 2 6β 2 β β 4
1 3

  4
2
1 2
1

  .
.
.
.
.

  ..
..
..
..
.. . . .

 
g (k) (0)
βk
...
β1k
be

f ′ (1)



  f ′′ (1) 


  ′′′

  f (1) 


  f (4) (1)  ,




.


..


f (k) (1)
where β1 > 0. Substituting (9) into (10), we get
 

β1
S1
 




β12
−S2
  β2

 

  β3

3β1 β2
β13
S3
=

  β 4β β + 3β 2 6β 2 β β 4

−S4
1 3
  4

1
1 2
2
  .

.
.
.
.
  ..

..
..
.. . . .
..
 

βk
...
β1k
(−1)k−1 Sk













(10)
S1

S2 


S3 
.
S4 

.. 
. 

Sk
(11)
Obviously, from (11) we can get unique solution about βi (i = 1, 2, . . . , k), and β1 = 1 > 0. So the
two curve segments are Gk continuous.
From (6)-(8) and Lemma 1, we can get the following two propositions.
L. Yan et al. / Journal of Information & Computational Science 11:17 (2014) 6359–6367
6365
Proposition 1 For pc-curve defined by Definition 5, if kn (n = 2, 3, 4) of each segment are equal,
the adjacent curve segments are Gkn continuous. Specially, when n = 2, α = 1, they are Gk2 +1
continuous. If the parameters of each segment are unequal, then the ith and (i + 1)th segment are
Gk continuous, here k = min{kni , kni+1 }. Specially, if n = 2, αi = 1, then k = min{k2i + 1, k2i+1 }.
Proposition 2 For pc-curve defined by Definition 6, the ith and (i + 1)th curve segment are Gk
continuous, here k = min{kni , kni+1 }. In particular, if ni = 2, αi = 1, then k = min{k2 + 1, kni+1 }.
Figs. 4-6 show some pc-curves.
In Fig. 4, the curves are composed of pc-curve segments of order 3. All segments in (a) and (b)
take k3 = 2, α = 1. All adjacent curve segments are G2 continuous.
In Fig. 5, the curves are composed of pc-curve segments of order 4. All segments in (a) take
k4 = s = 1, α = 2. All adjacent curve segments are G1 continuous. All segments in (b) take
k = s = α = 2. All adjacent curve segments are G2 continuous.
In Fig. 6, the segment 1 is a pc-curve segment of order 3, the solid line takes k3 = 2, α = 1/2,
the dashed line takes k3 = 2, α = 1. The segments 2 and 4 are pc-curve segments of order 4 take
k4 = s = 2, α = 1. The segment 3 is a pc-curve segments of order 2, takes k2 = 2, α = 1/5. All
adjacent curve segments are G2 continuous.
(a)
(b)
Fig. 4: Pc-curve of order 3
(a)
(b)
Fig. 5: Pc-curve of order 4
6366
L. Yan et al. / Journal of Information & Computational Science 11:17 (2014) 6359–6367
3
4
2
1
Fig. 6: Pc-curve constituted by pc-curve segments of different order
4
Composite Surfaces
Definition 7 Given control points Vij ∈ R3 (i = 0, 1, . . . , l1 (n − 1) + 1; j = 0, 1, . . . , l2 (n − 1) +
1; l1 , l2 ∈ N + ; n = 2, 3, 4), we can construct a pc-surface which is composed of l1 × l2 surface
patches of order n, the (i, j)th surface patch is defined as
∑n ∑n
fij (u, v) =
fn,a (u)fn,b (v)Va+(n−1)(i−1),b+(n−1)(j−1) 0 ≤ u, v ≤ 1,
a=0
b=0
where i = 1, 2, . . . , l1 , j = 1, 2, . . . , l2 .
The pc-surface has similar properties with pc-curve. For example, if two adjacent surfaces have
the same parameter kn (n = 3, 4), then they are Gkn continuous at the common edge.
Figs. 7 and 8 show some pc-surfaces. In Fig. 7, the surface is composed of four surface patches
of order 3, take k3 = 1, α = 1, all adjacent surface patches are G1 continuous. In Fig. 8, the
surface is composed of two surface patches of order 4, take k4 = 2, s = 1, α = 2/3. The adjacent
surface patches are G2 continuous.
1
6
5
z
4
3
2
1
3 2
1
2
0
1
0
y −1
−1 x
−2
−2
−3 −3
Fig. 7: Pc-surface of order 3
5
3
Fig. 8: Pc-surface of order 4
Conclusion
By reconstructing the Bernstein basis functions, we construct three sets of blending functions.
Based on them, we define three kinds of curve segments, which have special endpoint properties.
At the endpoints, their derivative vectors from order one to order kn are collinear. To make full
L. Yan et al. / Journal of Information & Computational Science 11:17 (2014) 6359–6367
6367
use of this feature, using a special definition mode, we define the pc-curve based on the three kinds
of curve segments. The definition mode of pc-curve is different from the classical B-spline curve.
The change of one control point will affect at most two curve segments. So pc-curve has better
local controllability. Besides, each segment of pc-curve has two or three parameters, which can
be used to adjust the shape of the curve. In these parameters kn can also be used to adjust the
continuity of the curve. Changing the parameter kn of one curve segment, at most the continuity
at two connection points will change.
References
[1]
Paolo Costantini, Francesca Pelosi, Maria L. Sampoli, New spline spaces with generalized tension
properties [J], BIT Numerical Mathematics, 48(4), 2008, 665-688
[2]
Xuli Han, Yuanpeng Zhu, Curve construction based on five trigonometric blending functions [J],
BIT Numerical Mathematics, 52(4), 2012, 953-979
[3]
Xuli Han, Piecewise quadratic polynomial curves with a local shape parameter [J], Journal of
Computational and Applied Mathematics, 195(1-2), 2006, 34-45
[4]
Xumin Liu, Weixiang Xu, Uniform B-spline curve and surfaces with shape parameters [C], in:
2008 International Conference on Computer Science and Software Engineering, 2008, 975-979
[5]
Xuli Han, A class of general quartic spline curves with shape parameters [J], Computer Aided
Geometric Design, 28(3), 2011, 151-163
[6]
Xumin Liu, Weixiang Xu, Yong Guan, Shang yuanyuan, Hyperbolic polynomial uniform B-spline
curves and surfaces with shape parameter [J], Graphical Models, 72(1), 2010, 1-6
[7]
Xuli Han, Quadratic trigonometric polynomial curves with a shape parameter [J], Computer Aided
Geometric Design, 19(7), 2002, 503-512
[8]
Wentao Wang, Guozhao Wang, Trigonometric polynomial B-spline with shape parameter [J],
Progress in Natural Science, 14(11), 2004, 1023-1026
[9]
Ben-yue Su, Jie-qing Tan, A family of quasi-cubic blended splines and applications [J], Journal of
Zhejiang University Science A, 7(9), 2006, 1550-1560
[10] Xuli Han, Cubic trigonometric polynomial curves with a shape parameter [J], Computer Aided
Geometric Design, 21(6), 2004, 535-548
[11] Xuli Han, C2 quadratic trigonmetric polynomial curves with local bias [J], Journal of Computational and Applied Mathematics, 180(1), 2005, 161-172
[12] Lanlan Yan, Jiongfeng Liang, A class of algebraic-tigonometric blended splines [J], Journal of
Computational and Applied Mathematics, 235(6), 2011, 1713-1729
[13] Lanlan Yan, Xuli Han, B´ezier-like curve and B-spline-like curve of order two [J], Journal of Information and Computer Science, 10(17), 2013, 5483-5503