on the degree elevation of b-spline curves and corner cutting
DESCRIPTION
On the degree elevation of B-spline curves and corner cutting. 2007-10-31. 1.Degree elevation of B-spline curves. A B-spline curve of degree k is a piecewise polynomial curve defined as follows:. where P i are control points, and N i,k ( t ) are B-spline basis functions defined on - PowerPoint PPT PresentationTRANSCRIPT
On the degree elevation of B-spline curves and corner cutting
2007-10-31
1.Degree elevation of B-spline curves A B-spline curve of degree k is a pi
ecewise polynomial curve defined as follows:
where Pi are control points, and Ni,k(t)
are B-spline basis functions defined ona non-decreasing knot vectorT={t0,t1,…,tm+k+1}.
m
iiki tNt
0, )()( PP
1.Degree elevation of B-spline curves To elevate the degree of P(t) to
k+1, we should find control points and a knot vector such that
iP T
m
iiki tNtt
01, )()()( PPP
where are B-spline basis functions defined on .
)(1, tN ki
T
1.Degree elevation of B-spline curves Assume that has the form
where denote the multiplicities of
the interior knots. Since the curvehave the same continuity at the interior
knots, must take the form
)(),( tt PP
T
}1,,1,,,,,,,,0,,0{1
11
1 1
km
ss
mks
ttttT
smm ,,1
T}1,,1,,,,,,,,0,,0{
211
11
2 1
km
ss
mks
ttttT
1.Degree elevation of B-spline curves The computation of can be done in a
number of different ways, including recursive formulas, combining some techniques of box splines with knot insertion, and so on.
iP
2.Some degree elevation algorithms of B-spline curves (1) Prautzsch, 1984; Prautzsch and Pi
per, 1991.
ik
ij
jkiki UuN
kuN
1
1,, )(1
1)(
)(1,j
ki UuN is the B-spline basis
function defined on
},,,,,,,,,,,,{ 1111110 knkjkjjjjkjkjj uuuuuuuuuU
2.Some degree elevation algorithms of B-spline curves (2) Pigel and Tiller(1994)(a) decompose the B-spline curve into pi
ecewise Bezier curves by knot insertion;(b) perform degree elevation on each Bez
ier segment;(c) remove unnecessary knots.
2.Some degree elevation algorithms of B-spline curves (3) Liu (1997) The new control points of the degree-ra
ised spline are obtained simply by a series of knot insertions followed by a series of knot deletions.
2.Some degree elevation algorithms of B-spline curves (a) Create F’ by inserting knot into F to i
ncrease the multiplicity of each break point by one;
(b) For each j, Create Fj by deleting knot sj from F’;
(c) Set
ni
ijnijjii ssssf
nQ ).,,,,,(
1
111
2.Some degree elevation algorithms of B-spline curves (4) Huang et al (2005) The algorithm is based on the simple ap
proach of computing derivatives using the control points, resampling the knot vector, and then computing the new control points from the derivatives.
3.Corner cutting
Many algorithms used in CAGD can be interpreted as corner cutting algorithms,
i.e. as generating a sequence of broken lines each of which is obtained from its predecessor by the cutting off of one or more corners (de Boor,1987).
3.Corner cutting
Examples(a) Degree raising for the Bernstein-Beiz
er form;(b) Knot insertion of B-spline curve;(c) Chaikin’s algorithm and its generali
zation.
3.Corner cutting
Moreover, the auxiliary control points during the corner cutting usually have specific geometric meaning.
For example, the subdivision of Bezier curve.
3.Corner cutting
Two problems for the degree elevation of B-spline curve:(a) Can the degree elevation of B-spline cu
rve be interpreted as corner cutting?(b) Do the auxiliary control points during t
he corner cutting have geometry meaning?
4.Analysis
For Bezier curve:
)(1
1)(1
1)( 11
1 tBn
itB
n
itB n
ini
ni
1111
iii n
i
n
iPPP
4.Analysis
For B-spline curve:If the multiplicity of the interior knots areincreased simultaneously Ni,3(t)
Nj,4(t) Nj+1,4(t)
Nj+2,4(t)
Ni,3(t)= ajNj,4(t)+aj+1Nj+1,4(t)+aj+2Nj+2,4(t)
= bmPm+bm+1Pm+1 +bm+2Pm+2iP
4.Analysis
Our new method:In each step we only increase the multiplicity of one interior knot Ni,3(t)
Nj,4(t) Nj+1,4(t)
Ni,3(t)= ajNj,4(t)+aj+1Nj+1,4(t)
= bmPm+bm+1Pm+1iP
4.Analysis
By our new method:In each step the new control points are obtained from the old control points by corner cutting. Repeating this process
until the multiplicity of all interior knots areincreased, we obtain the control points of the degree-elevated curve by corner
cutting.
4.Analysis
New problem emerge:The degree of the new basis functions insome intervals is lager than that in other intervals by one. We call they bi-degree B-spline basis functions. It is difficult to construct bi-degree B-spli
ne basis functions using the traditional definitions of B-spline.
4.Analysis
Integral definition of spline (a) A class of Bezier-like curves (chen a
nd wang, 2003); (b) NUAT B-spline curves (Wang et al.,
2004); (c) More …
4.Analysis
Using the integral definition of spline, we can define various spline basis functions by selecting various initial basis functions, so we define the bi-degree B-spline basis functions via selecting bi-degree initial basis functions.
5.Bi-degree B-spline The initial basis functions:For usual B-spline:
For bi-degree B-spline:
Ni,0(t) Ni+1,0(t) Ni+2,0(t)
)(0, tN ji
)(0,1 tN ji
)(0,2 tN ji )(0,3 tN j
i
5.Bi-degree B-spline Definition of bi-degree B-spline basis functions
},,,,,,,,,,,,,{
11
11
11
11
njj
z
nn
z
jj
z
jj
z
j ttttttttT
otherwise 0
and if 1
1 1 and if
1 and if
)(
1
2112
2
11
0,
jj
ij
i
jj
ij
iji
ji
ji
jj
ij
iji
ji
ji
ji
littt
littttt
tt
littttt
tt
tN
5.Bi-degree B-spline For is defined recursively by
where , and
)(,1 , tNk jki
t j
kij
kijki
jki
jki dssNsNtN ))()(()( 1,11,11,1,,
kmi j ,,1 1
,, )(
dttN j
kijki
5.Bi-degree B-spline The relations between bi-degree B-spli
ne and usual B-spline Theorem 1 Assume that are usual B-spline
basis functions defined on
and are bi-degree B-spline basis function, then
)(),( 1,, tNtN kiki
)(),( 1,
0. tNtN n
kiki
},,,,,,{},,,,,,,{11
1111
11
nn z
nn
zz
nn
z
ttttTttttT
)()(),()( 1,1,
0,, tNtNtNtN n
kikikiki
5.Bi-degree B-spline Transformation formulas of bi-degre
e B-spline basis function(a) Noting that and from the
definitions of , we have }{1
jjj tTT
)(),( 1,1
1, tNtN ji
ji
jj
i
jj
ij
i
jj
ij
i
litN
litNtN
litN
tN
)(
)()(
)(
)(
0,1
0,10,
0,1
0,
5.Bi-degree B-spline Transformation formulas of bi-degre
e B-spline basis function(b) Theorem 2 For the bi-degree B-splin
e basis functions defined by (1)(2)(3)(4), we have
)(),( ,1
, tNtN jki
jki
jj
ki
jjj
kij
kijki
jki
jjki
jki
litN
likltNatNa
klitN
tN
)(
)()()1(
)(
)(
,1
,1,1,,
,1
,
5.Bi-degree B-spline
is defined as follows:jkia ,
)1,,1,0(1,0 ,,1 khaa jhl
jhhl jj
)11,10(1
,
,1,11,
jjj
hi
jhij
hijhi lihlkhaa
5.Bi-degree B-spline Properties of the bi-degree B-spline b
asis functions(a) Positivity(b) Partition of unity(c) Linear independence globally
6.Degree elevation of B-spline curve is corner cutting A bi-degree B-spline curve is defined as
It acts as the bridges of , and has properties like usual B-spline curve.
)()()( 1
1
0, n
km
i
ji
jki
j ttttNtj
PP
)(),( tt PP
6.Degree elevation of B-spline curve is corner cutting Theorem 3 If are bi-degree B-spline curves defined on , and they are the same curves, then their control poi
nts satisfy
)(),(1 tt jj PP
jj TT ,1
}{},{ 1j
ij
i PP
jj
i
jjj
ijki
ji
jki
jj
ij
i
li
lkliaa
kli
,, )1(
,,1
11
11,
1,
1
P
PP
P
P
6.Degree elevation of B-spline curve is corner cutting Theorem 4 The degree elevation of B-spl
ine curve is corner cutting.
6.Degree elevation of B-spline curve is corner cutting
6.Degree elevation of B-spline curve is corner cutting
6.Degree elevation of B-spline curve is corner cutting Geometry meaning of the auxiliary contr
ol points appeared in the process of corner cutting: the auxiliary control points { Pij } are the control points of the bi-degree B-spline curve defined on knot vector Tj.
References de Boor, C., 1987. Cutting corners always works. Computer Aided Ge
ometric Design 4, 125-131. Cohen, E., Lyche, T., Schumaker, L., 1985. Algorithms for degree raisi
ng of splines. ACM Transactions on Graphics 4, 171-181. Huang, Q., Hu, S., Martin, R., 2005. Fast degree elevation and knot in
sertion for B-spline curves. Computer Aided Geometric Design 22, 183-197.
Liu, W., 1997. A simple, efficient degree raising algorithm for B-spline curve. Computer Aided Geometric Design 14, 693-698.
Piegl, L.,Tiller, W., 1994. Software-engineering approach to degree elevation of B-spline curves. Computer Aided Design 26, 17-28.
Prautzsch, H., 1984. Degree elevation of B-spline curves. Computer Aided Geometric Design 1, 193-198.
Prautzsch, H., Piper, B., 1991. A fast algorithm to raise the degree of B-spline curves. Computer Aided Geometric Design 8, 253-266.
Wang, G., Deng, C., 2007. On the degree elevation of B-spline curves and corner cutting. Computer Aided Geoemetric Design 24, 90-98.
The end.Thank you.