1
Dr. Scott Schaefer
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)
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!!!
4/105
Examples of Blossoms
?),(1)( 21 ttbtp
5/105
Examples of Blossoms
1),(1)( 21 ttbtp
6/105
Examples of Blossoms
?),()( 21 ttbttp
1),(1)( 21 ttbtp
7/105
Examples of Blossoms
1),(1)( 21 ttbtp
22121),()( ttttbttp
8/105
Examples of Blossoms
?),()( 21
2 ttbttp
1),(1)( 21 ttbtp
22121),()( ttttbttp
9/105
Examples of Blossoms
1),(1)( 21 ttbtp
22121),()( ttttbttp
21212 ),()( ttttbttp
10/105
Examples of Blossoms
?),,(1)( 321 tttbtp
1),(1)( 21 ttbtp
22121),()( ttttbttp
21212 ),()( ttttbttp
11/105
Examples of Blossoms
1),,(1)( 321 tttbtp
1),(1)( 21 ttbtp
22121),()( ttttbttp
21212 ),()( ttttbttp
12/105
Examples of Blossoms
?),,()( 321 tttbttp
1),,(1)( 321 tttbtp
1),(1)( 21 ttbtp
22121),()( ttttbttp
21212 ),()( ttttbttp
13/105
Examples of Blossoms
1),,(1)( 321 tttbtp
1),(1)( 21 ttbtp
22121),()( ttttbttp
21212 ),()( ttttbttp
3321321),,()( ttttttbttp
14/105
Examples of Blossoms
?),,()( 321
2 tttbttp
1),,(1)( 321 tttbtp
1),(1)( 21 ttbtp
22121),()( ttttbttp
21212 ),()( ttttbttp
3321321),,()( ttttttbttp
15/105
Examples of Blossoms
1),,(1)( 321 tttbtp
3321321),,()( ttttttbttp
1),(1)( 21 ttbtp
22121),()( ttttbttp
21212 ),()( ttttbttp
33212 313221),,()( tttttttttbttp
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
17/105
Examples of Blossoms
1),,(1)( 321 tttbtp
3321321),,()( ttttttbttp
33212 313221),,()( tttttttttbttp
3213213 ),,()( ttttttbttp
1),(1)( 21 ttbtp
22121),()( ttttbttp
21212 ),()( ttttbttp
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
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
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
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
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!
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!
24/105
Change of Basis Using Blossoming
Given a polynomial p(t) of degree n, find the coefficients of the same Bezier curve
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
26/105
Change of Basis Using Blossoming
Example: Find Bezier coefficients of p(t)=1+2t+3t2-t3
51
1000
3300
3630
1331
1321 310
35
1
Old Method
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( b35)1,0,0( b 3
10)1,1,0( b 5)1,1,1( b
New Method
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
29/105
Degree Elevation Using Blossoming
1
),...,,,...,(),...,(
1
11111
111
n
ttttbttb
n
iniin
nn
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
31/105
Degree Elevation Using Blossoming
)1,...,1,0,...,0()1()1,...,1,0,...,0(1
1)1,...,1,0,...,0(1 nnn binbi
nb
in 1 i in iin 1 1i
1
),...,,,...,(),...,(
1
11111
111
n
ttttbttb
n
iniin
nn
32/105
Homogeneous Polynomials and Blossoming Polynomial:
Homogeneous Polynomial:
n
k
kktatP
0
)(
n
k
knkk wtawtP
0
),(
)()1,( tPtP
33/105
The Homogeneous Blossom
Homogenize each parameter of the blossom independently
)),(),...,,(),,(( 2211 nn wtwtwtb223)( tttp
2121
21 22
3),( tttt
ttb
34/105
The Homogeneous Blossom
Homogenize each parameter of the blossom independently
)),(),...,,(),,(( 2211 nn wtwtwtb223)( tttp
2121
21 22
3),( tttt
ttb
211221
212211 22
3)),(),,(( ttwtwt
wwwtwtb
22 23),( ttwwwtp
35/105
The Homogeneous Blossom
Homogenize each parameter of the blossom independently
)),(),...,,(),,(( 2211 nn wtwtwtb
)),(),...,,(()),(),...,,(()),(),...,,(( 111111 vswtburwtbwtwtb vruswrut
vrustvws
homogenized combinations
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
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
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))
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(
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(
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!!!
42/105
Homogeneous Blossoms and Derivatives
),...,()( ttbtp
),,...,()(' ttnbtp
),...,,,...,()!(
!)()( ttb
kn
ntp k
n
1n
kn k
43/105
Problems with Bezier Curves
More control points means higher degree Moving one control point affects the entire
curve
44/105
Problems with Bezier Curves
More control points means higher degree Moving one control point affects the entire
curve
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!!!
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.
47/105
B-spline Curves
Not a single polynomial, but lots of polynomials that meet together smoothly
Local control
48/105
B-spline Curves
Not a single polynomial, but lots of polynomials that meet together smoothly
Local control
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
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 NURBSNon-Uniform Rational B-Splines
51/105
B-Spline Basis Functions
..01
)( 10
wottt
tN iii
)()()( 11
1
11
1 tNtt
tttN
tt
tttN n
iini
inni
ini
ini
)(03 tN
52/105
B-Spline Basis Functions
..01
)( 10
wottt
tN iii
)()()( 11
1
11
1 tNtt
tttN
tt
tttN n
iini
inni
ini
ini
)(04 tN
53/105
B-Spline Basis Functions
..01
)( 10
wottt
tN iii
)()()( 11
1
11
1 tNtt
tttN
tt
tttN n
iini
inni
ini
ini
)(13 tN
54/105
B-Spline Basis Functions
..01
)( 10
wottt
tN iii
)()()( 11
1
11
1 tNtt
tttN
tt
tttN n
iini
inni
ini
ini
)(14 tN
55/105
B-Spline Basis Functions
..01
)( 10
wottt
tN iii
)()()( 11
1
11
1 tNtt
tttN
tt
tttN n
iini
inni
ini
ini
)(23 tN
56/105
B-Spline Basis Functions
..01
)( 10
wottt
tN iii
)()()( 11
1
11
1 tNtt
tttN
tt
tttN n
iini
inni
ini
ini
)(24 tN
57/105
B-Spline Basis Functions
..01
)( 10
wottt
tN iii
)()()( 11
1
11
1 tNtt
tttN
tt
tttN n
iini
inni
ini
ini
)(33 tN
58/105
B-Spline Curves
m
i
nii tNptp
1
)()(
59/105
B-Splines Via Blossoming
),,( 321 tttb
14
4
tt
tt
14
1
tt
tt
),,( 32 tttb
),,( 432 tttb
60/105
B-Splines Via Blossoming
),,( 321 tttb
tt 4 1tt
),,( 32 tttb
),,( 432 tttb
61/105
B-Splines Via Blossoming
),,( 321 tttb
tt 4tt 5
tt 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
62/105
B-Splines Via Blossoming
),,( 321 tttb
tt 4tt 5
tt 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
63/105
B-Splines Via Blossoming
),,( 321 tttb
tt 4tt 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
64/105
B-Splines Via Blossoming
),,( 321 tttb
tt 4tt 5
tt 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
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
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
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!!!
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 tttb
0tt
1 tt
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!!!
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
71/105
Conversion to Bezier Form
),,( 321 tttb
tt 4tt 5
tt 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
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
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
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)
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
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
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!!!
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, …
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
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 4ut 5
ut 61tu 3tu 2tu
),,( 32 uttb ),,( 43 uttb ),,( 54 uttb
),,( 432 tttb ),,( 543 tttb ),,( 654 tttb
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 4ut 5
ut 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
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
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 uuub
34 ut 33 tu
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
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
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
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
88/105
Schaefer’s Algorithm
)( 1tb )( 1tb )( 2tb )( 2tb )( 3tb )( 3tb )( 4tb )( 4tb
)( 1ub )( 2ub )( 3ub
3u
)( 4tb)( 3tb)( 2tb)( 1tb
0u1u 1u 2u 2u 3u
89/105
Schaefer’s Algorithm
),( 2ub
),( 1tb 2t ),( 2tb 3t ),( 3tb4t ),( 4tb 5t
),( 1ub 2t 3t ),( 3ub 4t
0u1u 1u 2u 2u 3u 3u
),( 1tb 2t
),( 1tb 2t
),( 2tb 3t
),( 2tb 3t
),( 3tb4t
),( 3tb4t
),( 4tb 5t
),( 4tb 5t
90/105
Schaefer’s Algorithm
),( 2ub
),( 1tb 2t ),( 2tb 3t ),( 3tb4t ),( 4tb 5t
),( 1ub 2t 3t ),( 3ub 4t
),( 21 tub ),( 22 utb ),( 32 tub ),( 33 utb ),( 43 tub ),( 44 utb
0u1u 1u 2u 2u 3u 3u
1u 2u 2u 3u 3u 4u
),( 1tb 2t
),( 1tb 2t
),( 2tb 3t
),( 2tb 3t
),( 3tb4t
),( 3tb4t
),( 4tb 5t
),( 4tb 5t
91/105
Schaefer’s Algorithm
),,( 21 tub ),,( 22 utb ),,( 32 tub ),,( 33 utb ),,( 43 tub ),,( 44 utb
),,( 1tb 2t 3t ),,( 2tb 3t 4t ),,( 3tb4t 5t ),,( 4tb 5t 6t
),,( 1ub 2t 3t ),,( 2ub 3t 4t ),,( 3ub 4t 5t
3t 3t 4t 4t 5t 5t
0u1u 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
),,( 3tb4t 5t
),,( 3tb4t 5t
92/105
Schaefer’s Algorithm
),,( 21 tub ),,( 22 utb ),,( 32 tub ),,( 33 utb ),,( 43 tub ),,( 44 utb
),,( 1tb 2t 3t ),,( 2tb 3t 4t ),,( 3tb4t 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
0u1u 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
),,( 3tb4t 5t
),,( 3tb4t 5t
93/105
Schaefer’s Algorithm
),,( 21 tub ),,( 22 utb ),,( 32 tub ),,( 33 utb ),,( 43 tub ),,( 44 utb
),,( 1tb 2t 3t ),,( 2tb 3t 4t ),,( 3tb4t 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
0u1u 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
),,( 3tb4t 5t
),,( 3tb4t 5t
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
95/105
B-spline Curve Example
96/105
B-spline Curve Example
97/105
B-spline Curve Example
98/105
Choosing Knot Values
B-splines dependent on choice of knots ti
Can we choose ti automatically?
99/105
Choosing Knot Values
B-splines dependent on choice of knots ti
Can we choose ti automatically?
kikii ppt 1
100/105
Choosing Knot Values
B-splines dependent on choice of knots ti
Can we choose ti automatically?
kikii ppt 1
0Uniform parameterization
101/105
Choosing Knot Values
B-splines dependent on choice of knots ti
Can we choose ti automatically?
kikii ppt 1
21
Centripetal parameterization
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
103/105
Choosing Knot Values
B-splines dependent on choice of knots ti
Can we choose ti automatically?
kikii ppt 1
0Uniform parameterization
104/105
Choosing Knot Values
B-splines dependent on choice of knots ti
Can we choose ti automatically?
kikii ppt 1
21
Centripetal parameterization
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