37
On the degree elevatio n of B-spline curves a nd corner cutting 2007-10-31

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

  • Upload
    kalani

  • View
    135

  • Download
    4

Embed Size (px)

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

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

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

2007-10-31

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

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

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

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

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

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

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

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

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

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

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

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.

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

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.

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

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

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

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.

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

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).

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

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.

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

3.Corner cutting

Moreover, the auxiliary control points during the corner cutting usually have specific geometric meaning.

For example, the subdivision of Bezier curve.

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

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?

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

4.Analysis

For Bezier curve:

)(1

1)(1

1)( 11

1 tBn

itB

n

itB n

ini

ni

1111

iii n

i

n

iPPP

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

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

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

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

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

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.

Page 19: On the degree elevation of B-spline curves and 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.

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

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 …

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

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.

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

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

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

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

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

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

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

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

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

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,

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

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

,

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

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

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

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

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

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

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

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

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

6.Degree elevation of B-spline curve is corner cutting Theorem 4 The degree elevation of B-spl

ine curve is corner cutting.

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

6.Degree elevation of B-spline curve is corner cutting

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

6.Degree elevation of B-spline curve is corner cutting

Page 35: On the degree elevation of B-spline curves and 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.

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

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.

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

The end.Thank you.