blossoming and b-splines

105
1 Dr. Scott Schaefer Blossoming and B- splines

Upload: billie

Post on 22-Feb-2016

44 views

Category:

Documents


0 download

DESCRIPTION

Blossoming and B-splines. Dr. Scott Schaefer. Blossoms/Polar Forms. A blossom b ( t 1 , t 2 ,…, t n ) of a polynomial p ( t ) is a multivariate function with the properties: Symmetry: b ( t 1 , t 2 ,…, t n ) = b ( t m (1) , t m (2) ,…, t m ( n ) ) for any permutation m of (1,2,…, n ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Blossoming and B-splines

1

Dr. Scott Schaefer

Blossoming and B-splines

Page 2: Blossoming and B-splines

2/105

Blossoms/Polar Forms A blossom b(t1,t2,…,tn) of a polynomial p(t) is a

multivariate function with the properties: Symmetry:

b(t1,t2,…,tn) = b(tm(1),tm(2),…,tm(n)) for any permutation m of (1,2,…,n)

Multi-affine: b(t1,t2,…,(1-u)tk+u wk,,…tn) = (1-u)b(t1,t2,…,tk,,…tn) + u b(t1,t2,…,wk,,…tn)

Diagonal: b(t,t,…,t) = p(t)

Page 3: Blossoming and B-splines

3/105

Blossoms/Polar Forms A blossom b(t1,t2,…,tn) of a polynomial p(t) is a

multivariate function with the properties: Symmetry:

b(t1,t2,…,tn) = b(tm(1),tm(2),…,tm(n)) for any permutation m of (1,2,…,n)

Multi-affine: b(t1,t2,…,(1-u)tk+u wk,,…tn) = (1-u)b(t1,t2,…,tk,,…tn) + u b(t1,t2,…,wk,,…tn)

Diagonal: b(t,t,…,t) = p(t)

The blossom always exists and is unique!!!

Page 4: Blossoming and B-splines

4/105

Examples of Blossoms

?),(1)( 21 ttbtp

Page 5: Blossoming and B-splines

5/105

Examples of Blossoms

1),(1)( 21 ttbtp

Page 6: Blossoming and B-splines

6/105

Examples of Blossoms

?),()( 21 ttbttp

1),(1)( 21 ttbtp

Page 7: Blossoming and B-splines

7/105

Examples of Blossoms

1),(1)( 21 ttbtp

22121),()( ttttbttp

Page 8: Blossoming and B-splines

8/105

Examples of Blossoms

?),()( 21

2 ttbttp

1),(1)( 21 ttbtp

22121),()( ttttbttp

Page 9: Blossoming and B-splines

9/105

Examples of Blossoms

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

Page 10: Blossoming and B-splines

10/105

Examples of Blossoms

?),,(1)( 321 tttbtp

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

Page 11: Blossoming and B-splines

11/105

Examples of Blossoms

1),,(1)( 321 tttbtp

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

Page 12: Blossoming and B-splines

12/105

Examples of Blossoms

?),,()( 321 tttbttp

1),,(1)( 321 tttbtp

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

Page 13: Blossoming and B-splines

13/105

Examples of Blossoms

1),,(1)( 321 tttbtp

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

3321321),,()( ttttttbttp

Page 14: Blossoming and B-splines

14/105

Examples of Blossoms

?),,()( 321

2 tttbttp

1),,(1)( 321 tttbtp

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

3321321),,()( ttttttbttp

Page 15: Blossoming and B-splines

15/105

Examples of Blossoms

1),,(1)( 321 tttbtp

3321321),,()( ttttttbttp

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

33212 313221),,()( tttttttttbttp

Page 16: Blossoming and B-splines

16/105

Examples of Blossoms

?),,()( 321

3 tttbttp

1),,(1)( 321 tttbtp

3321321),,()( ttttttbttp

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

33212 313221),,()( tttttttttbttp

Page 17: Blossoming and B-splines

17/105

Examples of Blossoms

1),,(1)( 321 tttbtp

3321321),,()( ttttttbttp

33212 313221),,()( tttttttttbttp

3213213 ),,()( ttttttbttp

1),(1)( 21 ttbtp

22121),()( ttttbttp

21212 ),()( ttttbttp

Page 18: Blossoming and B-splines

18/105

Blossoms/Polar Forms

Symmetry: b(t1,…,tn) = b(tm(1),…,tm(n)) Multi-affine: b(t1,…,(1-u)tk+u wk,,…tn) =

(1-u)b(t1,…,tk,,…tn) + u b(t1,…,wk,,…tn) Diagonal: b(t,…,t) = p(t)

)1,0,0(b )1,1,0(b

t1 t

)1,1)1(0,0( ttb

Page 19: Blossoming and B-splines

19/105

Pyramid Algorithms forBezier Curves

33

22

12

03 )1(3)1(3)1( ptpttpttpt

0p 1p 2p 3p

t1 t1 t1t tt

t1 t t1 t

t1 t

Page 20: Blossoming and B-splines

20/105

Pyramid Algorithms forBezier Curves

)0,0,0(b )1,0,0(b )1,1,0(b )1,1,1(b

t1 t1 t1t tt

t1 t t1 t

),,( tttb

t1 t

),0,0( tb )1,,0( tb )1,1,(tb

),,0( ttb )1,,( ttb

Page 21: Blossoming and B-splines

21/105

Pyramid Algorithms forBezier Curves

)0,0,0(b )1,0,0(b )1,1,0(b )1,1,1(b

t1 t1 t1t tt

t1 t t1 t

),,( tttb

t1 t

),0,0( tb )1,,0( tb )1,1,(tb

),,0( ttb )1,,( ttb

Bezier curve

Bezier control points

Page 22: Blossoming and B-splines

22/105

Subdivision Using Blossoming

)0,0,0(b )1,0,0(b )1,1,0(b )1,1,1(b

t1 t1 t1t tt

t1 t t1 t

),,( tttb

t1 t

),0,0( tb )1,,0( tb )1,1,(tb

),,0( ttb )1,,( ttb

Control points of left Bezier curve!

Page 23: Blossoming and B-splines

23/105

Subdivision Using Blossoming

)0,0,0(b )1,0,0(b )1,1,0(b )1,1,1(b

t1 t1 t1t tt

t1 t t1 t

),,( tttb

t1 t

),0,0( tb )1,,0( tb )1,1,(tb

),,0( ttb )1,,( ttb

Control points of right Bezier curve!

Page 24: Blossoming and B-splines

24/105

Change of Basis Using Blossoming

Given a polynomial p(t) of degree n, find the coefficients of the same Bezier curve

Page 25: Blossoming and B-splines

25/105

Change of Basis Using Blossoming

Given a polynomial p(t) of degree n, find the coefficients of the same Bezier curve

),...,()( 1 nttbtp

)1,...1,0,...,0(:tscoefficien bkn 1 k

Page 26: Blossoming and B-splines

26/105

Change of Basis Using Blossoming

Example: Find Bezier coefficients of p(t)=1+2t+3t2-t3

51

10003300

36301331

1321 310

35

1

Old Method

Page 27: Blossoming and B-splines

27/105

Change of Basis Using Blossoming

Example: Find Bezier coefficients of p(t)=1+2t+3t2-t3

21033210202110210 321),,( ttttttb ttttttttt

1)0,0,0( b 35)1,0,0( b 3

10)1,1,0( b 5)1,1,1( b

New Method

Page 28: Blossoming and B-splines

28/105

Degree Elevation

1

0

1

0

)(ˆ)(n

j

njj

n

i

nii tBptBp

n

i

niii

n

i

nii tBptpttBp

00

)())1(()(

n

i

nin

ii

n

i

nin

ini tBptBp

0

111

1

0

11

1 )()(

1

0

111

1

0

11

1 )()(n

i

nin

ii

n

i

nin

ini tBptBp

1

0

1111 )(1

n

i

nin

iin

ii tBpp

Page 29: Blossoming and B-splines

29/105

Degree Elevation Using Blossoming

1

),...,,,...,(),...,(

1

11111

111

n

ttttbttb

n

iniin

nn

Page 30: Blossoming and B-splines

30/105

Degree Elevation Using Blossoming

Symmetry: is symmetric Multi-affine: is multi-affine

Diagonal:

),...,( 1 nn ttb

),...,( 1 nn ttb

)(1

)(

1

),...,(1

1

1

1 tpn

tp

n

ttbn

i

n

in

1

),...,,,...,(),...,(

1

11111

111

n

ttttbttb

n

iniin

nn

Page 31: Blossoming and B-splines

31/105

Degree Elevation Using Blossoming

)1,...,1,0,...,0()1()1,...,1,0,...,0(1

1)1,...,1,0,...,0(1 nnn binbin

b

in 1 i in iin 1 1i

1

),...,,,...,(),...,(

1

11111

111

n

ttttbttb

n

iniin

nn

Page 32: Blossoming and B-splines

32/105

Homogeneous Polynomials and Blossoming Polynomial: Homogeneous Polynomial:

n

k

kktatP

0

)(

n

k

knkk wtawtP

0

),(

)()1,( tPtP

Page 33: Blossoming and B-splines

33/105

The Homogeneous Blossom

Homogenize each parameter of the blossom independently

)),(),...,,(),,(( 2211 nn wtwtwtb223)( tttp

2121

21 22

3),( ttttttb

Page 34: Blossoming and B-splines

34/105

The Homogeneous Blossom

Homogenize each parameter of the blossom independently

)),(),...,,(),,(( 2211 nn wtwtwtb223)( tttp

2121

21 22

3),( ttttttb

211221

212211 22

3)),(),,(( ttwtwtwwwtwtb

22 23),( ttwwwtp

Page 35: Blossoming and B-splines

35/105

The Homogeneous Blossom

Homogenize each parameter of the blossom independently

)),(),...,,(),,(( 2211 nn wtwtwtb

)),(),...,,(()),(),...,,(()),(),...,,(( 111111 vswtburwtbwtwtb vruswrut

vrustvws

homogenized combinations

Page 36: Blossoming and B-splines

36/105

The Homogeneous Blossom

Homogenize each parameter of the blossom independently

)),(),...,,(),,(( 2211 nn wtwtwtb

)),(),...,,(()),(),...,,(()),(),...,,(( 111111 vswtburwtbwtwtb vruswrut

vrustvws

))1,1(),...,,(())1,0(),...,,(()),(),...,,(( 111111 wtbwtbwtwtb vruswrut

vrustvws

Page 37: Blossoming and B-splines

37/105

The Homogeneous Blossom

Homogenize each parameter of the blossom independently

)),(),...,,(),,(( 2211 nn wtwtwtb

)),(),...,,(()),(),...,,(()),(),...,,(( 111111 vswtburwtbwtwtb vruswrut

vrustvws

))1,1(),...,,(())1,0(),...,,(()),(),...,,(( 11111111 wtbwtbwtwtb ttw

Page 38: Blossoming and B-splines

38/105

Homogeneous deCasteljau Algorithm

)0,0,0(b )1,0,0(b )1,1,0(b )1,1,1(b

tw tw tw t tt

tw t tw t

)~,~,~( tttb

tw t

)~,0,0( tb )1,~,0( tb )1,1,~(tb

)~,~,0( ttb )1,~,~( ttb

),(~ wtt

Really b((0,1),(0,1),(1,1))

Page 39: Blossoming and B-splines

39/105

Homogeneous deCasteljau Algorithm

)0,0,0(b )1,0,0(b )1,1,0(b )1,1,1(b

tw tw tw t tt

tw t tw t

),~,~( ttb

1 1

)~,0,0( tb )1,~,0( tb )1,1,~(tb

)~,~,0( ttb )1,~,~( ttb

),(~ wtt )0,1(

Page 40: Blossoming and B-splines

40/105

Homogeneous deCasteljau Algorithm

)0,0,0(b )1,0,0(b )1,1,0(b )1,1,1(b

t1 t1 t1t tt

t1 t t1 t

),,( ttb

1 1

),0,0( tb )1,,0( tb )1,1,(tb

),,0( ttb )1,,( ttb

)1,(~ tt )0,1(

Page 41: Blossoming and B-splines

41/105

Homogeneous deCasteljau Algorithm

)0,0,0(b )1,0,0(b )1,1,0(b )1,1,1(b

t1 t1 t1t tt

t1 t t1 t

),,( ttb

1 1

),0,0( tb )1,,0( tb )1,1,(tb

),,0( ttb )1,,( ttb

)1,(~ tt )0,1(

Homogeneous blossom evaluated at (t,1) and (1,0) yields derivatives!!!

Page 42: Blossoming and B-splines

42/105

Homogeneous Blossoms and Derivatives

),...,()( ttbtp

),,...,()(' ttnbtp

),...,,,...,()!(

!)()( ttbkn

ntp k

n

1n

kn k

Page 43: Blossoming and B-splines

43/105

Problems with Bezier Curves

More control points means higher degree Moving one control point affects the entire

curve

Page 44: Blossoming and B-splines

44/105

Problems with Bezier Curves

More control points means higher degree Moving one control point affects the entire

curve

Page 45: Blossoming and B-splines

45/105

Problems with Bezier Curves

More control points means higher degree Moving one control point affects the entire

curve

Solution: Use lots of Bezier curves and maintain Ck continuity!!!

Page 46: Blossoming and B-splines

46/105

Problems with Bezier Curves

More control points means higher degree Moving one control point affects the entire

curve

Solution: Use lots of Bezier curves and maintain Ck continuity!!!

Difficult to keep track of all the constraints.

Page 47: Blossoming and B-splines

47/105

B-spline Curves

Not a single polynomial, but lots of polynomials that meet together smoothly

Local control

Page 48: Blossoming and B-splines

48/105

B-spline Curves

Not a single polynomial, but lots of polynomials that meet together smoothly

Local control

Page 49: Blossoming and B-splines

49/105

History of B-splines

Designed to create smooth curves Similar to physical process of bending wood Early Work

de Casteljau at CitroenBezier at Renaultde Boor at General Motors

Page 50: Blossoming and B-splines

50/105

B-spline Curves

Curve defined over a set of parameters t0,…,tk (ti ti+1) with a polynomial of degree n in each interval [ti, ti+1] that meet with Cn-1 continuity

ti do not have to be evenly spaced Commonly called NURBS

Non-Uniform Rational B-Splines

Page 51: Blossoming and B-splines

51/105

B-Spline Basis Functions

..01)( 10

wottttN ii

i

)()()( 11

1

11

1 tNtttttN

tttttN n

iini

inni

ini

ini

)(03 tN

Page 52: Blossoming and B-splines

52/105

B-Spline Basis Functions

..01)( 10

wottttN ii

i

)()()( 11

1

11

1 tNtttttN

tttttN n

iini

inni

ini

ini

)(04 tN

Page 53: Blossoming and B-splines

53/105

B-Spline Basis Functions

..01)( 10

wottttN ii

i

)()()( 11

1

11

1 tNtttttN

tttttN n

iini

inni

ini

ini

)(13 tN

Page 54: Blossoming and B-splines

54/105

B-Spline Basis Functions

..01)( 10

wottttN ii

i

)()()( 11

1

11

1 tNtttttN

tttttN n

iini

inni

ini

ini

)(14 tN

Page 55: Blossoming and B-splines

55/105

B-Spline Basis Functions

..01)( 10

wottttN ii

i

)()()( 11

1

11

1 tNtttttN

tttttN n

iini

inni

ini

ini

)(23 tN

Page 56: Blossoming and B-splines

56/105

B-Spline Basis Functions

..01)( 10

wottttN ii

i

)()()( 11

1

11

1 tNtttttN

tttttN n

iini

inni

ini

ini

)(24 tN

Page 57: Blossoming and B-splines

57/105

B-Spline Basis Functions

..01)( 10

wottttN ii

i

)()()( 11

1

11

1 tNtttttN

tttttN n

iini

inni

ini

ini

)(33 tN

Page 58: Blossoming and B-splines

58/105

B-Spline Curves

m

i

nii tNptp

1

)()(

Page 59: Blossoming and B-splines

59/105

B-Splines Via Blossoming

),,( 321 tttb

14

4

tttt

14

1

tttt

),,( 32 tttb

),,( 432 tttb

Page 60: Blossoming and B-splines

60/105

B-Splines Via Blossoming

),,( 321 tttb

tt 4 1tt

),,( 32 tttb

),,( 432 tttb

Page 61: Blossoming and B-splines

61/105

B-Splines Via Blossoming

),,( 321 tttb

tt 4 tt 5tt 61tt 3tt 2tt

tt 4 2tt tt 5 3tt

),,( tttbtt 4 3tt

),,( 32 tttb ),,( 43 tttb ),,( 54 tttb

),,( 3 tttb ),,( 4 tttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb

Single polynomial

Page 62: Blossoming and B-splines

62/105

B-Splines Via Blossoming

),,( 321 tttb

tt 4 tt 5tt 61tt 3tt 2tt

tt 4 2tt tt 5 3tt

),,( tttbtt 4 3tt

),,( 32 tttb ),,( 43 tttb ),,( 54 tttb

),,( 3 tttb ),,( 4 tttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb

43 ttt

Page 63: Blossoming and B-splines

63/105

B-Splines Via Blossoming

),,( 321 tttb

tt 4 tt 51tt 2tt

tt 4 2tt

),,( 32 tttb ),,( 43 tttb

),,( 3 tttb

),,( 432 tttb ),,( 543 tttb),,( 210 tttb

tt 3 0tt

tt 3 1tt

),,( tttbtt 3 2tt

),,( 21 tttb

),,( 2 tttb

32 ttt

Page 64: Blossoming and B-splines

64/105

B-Splines Via Blossoming

),,( 321 tttb

tt 4 tt 5tt 61tt 3tt 2tt

tt 4 2tt tt 5 3tt

),,( tttbtt 4 3tt

),,( 32 tttb ),,( 43 tttb ),,( 54 tttb

),,( 3 tttb ),,( 4 tttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb),,( 210 tttb

tt 3 0tt

tt 3 1tt

),,( tttbtt 3 2tt

),,( 21 tttb

),,( 2 tttb

Page 65: Blossoming and B-splines

65/105

B-Splines Via Blossoming

),,( 321 tttb

1 1 11 11

tt 4 2tt tt 5 3tt

),,( ttbtt 4 3tt

),,( 32 ttb ),,( 43 ttb ),,( 54 ttb

),,( 3 ttb ),,( 4 ttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb),,( 210 tttb

1 1

tt 3 1tt

),,( ttbtt 3 2tt

),,( 21 ttb

),,( 2 ttb

Page 66: Blossoming and B-splines

66/105

B-Splines Via Blossoming

),,( 321 tttb

1 1 11 11

1 1 1 1

),,( tbtt 4 3tt

),,( 32 ttb ),,( 43 ttb ),,( 54 ttb

),,( 3 tb ),,( 4 tb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb),,( 210 tttb

1 1

1 1

),,( tbtt 3 2tt

),,( 21 ttb

),,( 2 tb

Page 67: Blossoming and B-splines

67/105

B-Splines Via Blossoming

),,( 321 tttb

1 11 1

1 1

),,( 32 ttb ),,( 43 ttb

),,( 3 tb

),,( 432 tttb ),,( 543 tttb

n-1 derivatives are equal yielding Cn-1 continuity!!!

Page 68: Blossoming and B-splines

68/105

B-Splines Via Blossoming

),,( 221 tttb

tt 3 tt 4tt 51tt 2tt 2tt

tt 3 2tt tt 4 2tt

),,( tttbtt 4 3tt

),,( 22 tttb ),,( 32 tttb ),,( 43 tttb

),,( 2 tttb ),,( 3 tttb

),,( 322 tttb ),,( 432 tttb ),,( 543 tttb),,( 210 tttb

tt 2 0tt

tt 2 1tt

),,( 21 tttb

),,( 2 tttb

),,( 101 tttb

tt 2

tt 2

),,( tttbtt 2 1tt

),,( 10 tttb

),,( 1 tttb0tt

1 tt

Page 69: Blossoming and B-splines

69/105

B-Splines Via Blossoming

),,( 221 tttb

1 1),,( 22 ttb

),,( 322 tttb

n-2 derivatives are equal yielding

Cn-2 continuity at doubled knot!!!

Page 70: Blossoming and B-splines

70/105

B-Splines Via Blossoming

),,( 221 tttb

1 1),,( 22 ttb

),,( 322 tttb

In general, curves have Cn-u

continuity at knot of multiplicity u

Page 71: Blossoming and B-splines

71/105

Conversion to Bezier Form

),,( 321 tttb

tt 4 tt 5tt 61tt 3tt 2tt

tt 4 2tt tt 5 3tt

),,( tttbtt 4 3tt

),,( 32 tttb ),,( 43 tttb ),,( 54 tttb

),,( 3 tttb ),,( 4 tttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb

Page 72: Blossoming and B-splines

72/105

Conversion to Bezier Form

),,( 321 tttb

34 tt 35 tt 13 tt 23 tt

tt 4 23 tt

),,( 332 tttb ),,( 343 tttb

),,( 333 tttb

),,( 432 tttb ),,( 543 tttb

Page 73: Blossoming and B-splines

73/105

Conversion to Bezier Form

45 tt 46 tt 34 tt 24 tt

45 tt 34 tt

),,( 443 tttb ),,( 454 tttb

),,( 444 tttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb

Page 74: Blossoming and B-splines

74/105

Polynomial Reproduction

Given a polynomial p(t) and a set of knots t1, t2, t3, …, find control points for the b-spline curve that produces p(t)

Page 75: Blossoming and B-splines

75/105

Polynomial Reproduction

Given a polynomial p(t) and a set of knots t1, t2, t3, …, find control points for the b-spline curve that produces p(t)

32 4321)( ttttp

Page 76: Blossoming and B-splines

76/105

Polynomial Reproduction

Given a polynomial p(t) and a set of knots t1, t2, t3, …, find control points for the b-spline curve that produces p(t)

32 4321)( ttttp

32133321 4321),,( 313221321 uuuuuub uuuuuuuuu

Page 77: Blossoming and B-splines

77/105

Polynomial Reproduction

Given a polynomial p(t) and a set of knots t1, t2, t3, …, find control points for the b-spline curve that produces p(t)

32 4321)( ttttp

32133321 4321),,( 313221321 uuuuuub uuuuuuuuu

),...,,(),,,(),,,(),,,( 654543432321 tttbtttbtttbtttb

Control points!!!

Page 78: Blossoming and B-splines

78/105

Knot Insertion

Given a B-spline curve with knot sequence …, tk-2, tk-1, tk, tk+1, tk+2, tk+3, … generate the control points for an identical B-spline curve over the knot sequence …, tk-2, tk-1, tk, u, tk+1, tk+2, tk+3, …

Page 79: Blossoming and B-splines

79/105

Boehm’s Knot Insertion Algorithm

Given curve with knots t1, t2, t3, t4, t5, t6, find curve with knots t1, t2, t3, u, t4, t5, t6

Page 80: Blossoming and B-splines

80/105

Boehm’s Knot Insertion Algorithm

Given curve with knots t1, t2, t3, t4, t5, t6, find curve with knots t1, t2, t3, u, t4, t5, t6

),,( 321 tttb

ut 4 ut 5ut 61tu 3tu 2tu

),,( 32 uttb ),,( 43 uttb ),,( 54 uttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb

Page 81: Blossoming and B-splines

81/105

Boehm’s Knot Insertion Algorithm

Given curve with knots t1, t2, t3, t4, t5, t6, find curve with knots t1, t2, t3, u, u, t4, t5, t6

),,( 321 tttb

ut 4 ut 5ut 61tu 3tu 2tu

),,( 32 uttb ),,( 43 uttb ),,( 54 uttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb

ut 4 2tu ut 5 3tu ),,( 3 uutb ),,( 4 uutb

Page 82: Blossoming and B-splines

82/105

The Oslo Algorithm

Given curve with knots t1, t2, t3, t4, t5, t6, find curve with knots t1, t2, t3, u1, u2, u3, u4, t4, t5, t6

Page 83: Blossoming and B-splines

83/105

The Oslo Algorithm

Given curve with knots t1, t2, t3, t4, t5, t6, find curve with knots t1, t2, t3, u1, u2, u3, u4, t4, t5, t6

),,( 321 tttb

14 ut 15 ut 16 ut 11 tu 31 tu 21 tu

),,( 143 uttb ),,( 154 uttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb

24 ut 22 tu 25 ut 32 tu ),,( 213 uutb ),,( 214 uutb

),,( 132 uttb

),,( 321 uuub34 ut 33 tu

Page 84: Blossoming and B-splines

84/105

The Oslo Algorithm

Given curve with knots t1, t2, t3, t4, t5, t6, find curve with knots t1, t2, t3, u1, u2, u3, u4, t4, t5, t6

),,( 321 tttb

44 ut 45 ut 46 ut 14 tu 34 tu 24 tu

),,( 443 uttb ),,( 454 uttb

),,( 432 tttb ),,( 543 tttb ),,( 654 tttb

34 ut 23 tu 35 ut 33 tu ),,( 433 uutb ),,( 434 uutb

),,( 432 uttb

),,( 432 uuub

24 ut 32 tu

Page 85: Blossoming and B-splines

85/105

Degree Elevation for B-splines

Degree n B-splines meet with Cn-1 continuity Degree n+1 B-splines meet with Cn continuity Must double knots to maintain same degree

of continuity!!!

1

),...,,,...,(),...,(

1

11111

111

n

ttttbttb

n

iniin

nn

Page 86: Blossoming and B-splines

86/105

Subdivision for Non-Uniform B-splines Given a knot sequence t1, t2, t3, t4, …, insert

knots u1, u2, u3, u4, … such that ti ui ti+1

Page 87: Blossoming and B-splines

87/105

Subdivision for Non-Uniform B-splines Given a knot sequence t1, t2, t3, t4, …, insert

knots u1, u2, u3, u4, … such that ti ui ti+1

Double control points At level 0<k<n+1, insert knots uk-1, uk, uk,

uk+1, uk+1, … into pyramid

Page 88: Blossoming and B-splines

88/105

Schaefer’s Algorithm

)( 1tb )( 1tb )( 2tb )( 2tb )( 3tb )( 3tb )( 4tb )( 4tb

)( 1ub )( 2ub )( 3ub

3u

)( 4tb)( 3tb)( 2tb)( 1tb

0u 1u 1u 2u 2u 3u

Page 89: Blossoming and B-splines

89/105

Schaefer’s Algorithm

),( 2ub

),( 1tb 2t ),( 2tb 3t ),( 3tb 4t ),( 4tb 5t

),( 1ub 2t 3t ),( 3ub 4t

0u 1u 1u 2u 2u 3u 3u),( 1tb 2t

),( 1tb 2t

),( 2tb 3t

),( 2tb 3t

),( 3tb 4t

),( 3tb 4t

),( 4tb 5t

),( 4tb 5t

Page 90: Blossoming and B-splines

90/105

Schaefer’s Algorithm

),( 2ub

),( 1tb 2t ),( 2tb 3t ),( 3tb 4t ),( 4tb 5t

),( 1ub 2t 3t ),( 3ub 4t

),( 21 tub ),( 22 utb ),( 32 tub ),( 33 utb ),( 43 tub ),( 44 utb

0u 1u 1u 2u 2u 3u 3u

1u 2u 2u 3u 3u 4u

),( 1tb 2t

),( 1tb 2t

),( 2tb 3t

),( 2tb 3t

),( 3tb 4t

),( 3tb 4t

),( 4tb 5t

),( 4tb 5t

Page 91: Blossoming and B-splines

91/105

Schaefer’s Algorithm

),,( 21 tub ),,( 22 utb ),,( 32 tub ),,( 33 utb ),,( 43 tub ),,( 44 utb

),,( 1tb 2t 3t ),,( 2tb 3t 4t ),,( 3tb 4t 5t ),,( 4tb 5t 6t

),,( 1ub 2t 3t ),,( 2ub 3t 4t ),,( 3ub 4t 5t

3t 3t 4t 4t 5t 5t

0u 1u 1u 2u 2u 3u 3u

1u 2u 2u 3u 3u 4u

),,( 4tb 5t 6t

),,( 4tb 5t 6t

),,( 1tb 2t 3t

),,( 1tb 2t 3t

),,( 2tb 3t 4t

),,( 2tb 3t 4t

),,( 3tb 4t 5t

),,( 3tb 4t 5t

Page 92: Blossoming and B-splines

92/105

Schaefer’s Algorithm

),,( 21 tub ),,( 22 utb ),,( 32 tub ),,( 33 utb ),,( 43 tub ),,( 44 utb

),,( 1tb 2t 3t ),,( 2tb 3t 4t ),,( 3tb 4t 5t ),,( 4tb 5t 6t

),,( 1ub 2t 3t ),,( 2ub 3t 4t ),,( 3ub 4t 5t

3t 3t 4t 4t 5t 5t

),,( 322 tutb ),,( 332 utub ),,( 433 tutb ),,( 443 utub ),,( 544 tutb

0u 1u 1u 2u 2u 3u 3u

1u 2u 2u 3u 3u 4u

2u 3u 3u 4u 4u

),,( 4tb 5t 6t

),,( 4tb 5t 6t

),,( 1tb 2t 3t

),,( 1tb 2t 3t

),,( 2tb 3t 4t

),,( 2tb 3t 4t

),,( 3tb 4t 5t

),,( 3tb 4t 5t

Page 93: Blossoming and B-splines

93/105

Schaefer’s Algorithm

),,( 21 tub ),,( 22 utb ),,( 32 tub ),,( 33 utb ),,( 43 tub ),,( 44 utb

),,( 1tb 2t 3t ),,( 2tb 3t 4t ),,( 3tb 4t 5t ),,( 4tb 5t 6t

),,( 1ub 2t 3t ),,( 2ub 3t 4t ),,( 3ub 4t 5t

3t 3t 4t 4t 5t 5t

),,( 322 tutb ),,( 332 utub ),,( 433 tutb ),,( 443 utub ),,( 544 tutb

0u 1u 1u 2u 2u 3u 3u

1u 2u 2u 3u 3u 4u

2u 3u 3u 4u 4u

),,( 4tb 5t 6t

),,( 4tb 5t 6t

),,( 1tb 2t 3t

),,( 1tb 2t 3t

),,( 2tb 3t 4t

),,( 2tb 3t 4t

),,( 3tb 4t 5t

),,( 3tb 4t 5t

Page 94: Blossoming and B-splines

94/105

B-spline Properties

Piecewise polynomial Cn-u continuity at knots of multiplicity u Compact support Non-negativity implies local convex hull

property Variation Diminishing

Page 95: Blossoming and B-splines

95/105

B-spline Curve Example

Page 96: Blossoming and B-splines

96/105

B-spline Curve Example

Page 97: Blossoming and B-splines

97/105

B-spline Curve Example

Page 98: Blossoming and B-splines

98/105

Choosing Knot Values

B-splines dependent on choice of knots ti

Can we choose ti automatically?

Page 99: Blossoming and B-splines

99/105

Choosing Knot Values

B-splines dependent on choice of knots ti

Can we choose ti automatically?

kikii ppt 1

Page 100: Blossoming and B-splines

100/105

Choosing Knot Values

B-splines dependent on choice of knots ti

Can we choose ti automatically?

kikii ppt 1

0Uniform parameterization

Page 101: Blossoming and B-splines

101/105

Choosing Knot Values

B-splines dependent on choice of knots ti

Can we choose ti automatically?

kikii ppt 1

21

Centripetal parameterization

Page 102: Blossoming and B-splines

102/105

Choosing Knot Values

B-splines dependent on choice of knots ti

Can we choose ti automatically?

kikii ppt 1

1

Chord length parameterization

Page 103: Blossoming and B-splines

103/105

Choosing Knot Values

B-splines dependent on choice of knots ti

Can we choose ti automatically?

kikii ppt 1

0Uniform parameterization

Page 104: Blossoming and B-splines

104/105

Choosing Knot Values

B-splines dependent on choice of knots ti

Can we choose ti automatically?

kikii ppt 1

21

Centripetal parameterization

Page 105: Blossoming and B-splines

105/105

Choosing Knot Values

B-splines dependent on choice of knots ti

Can we choose ti automatically?

kikii ppt 1

1

Chord length parameterization