On the degree elevation of B-spline curves and corner cutting

Preview:

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 Presentation

Citation preview

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.

Recommended