Professional Documents
Culture Documents
Lecture4 and 5
Lecture4 and 5
Lecture4 and 5
1 / 47
An excellent resource for Bézier and
B-spline curves
I came across a very nice website which has live demos of many
examples of Bézier and B-spline curves. Check it out:
https://pomax.github.io/bezierinfo.
T = (t0 , t1 , . . . , tm )
is a knot vector.
Definition
For a given knot vector T and order k, the associated B-spline
functions are
t − ti ti+k − t
Ni,k (t) = Ni,k−1 (t) + Ni+1,k−1 (t)
ti+k−1 − ti ti+k − ti+1
Definition
For a given knot vector T and order k, the associated B-spline
functions are
t − ti ti+k − t
Ni,k (t) = Ni,k−1 (t) + Ni+1,k−1 (t)
ti+k−1 − ti ti+k − ti+1
Definition
For a given knot vector T and order k, the associated B-spline
functions are
t − ti ti+k − t
Ni,k (t) = Ni,k−1 (t) + Ni+1,k−1 (t)
ti+k−1 − ti ti+k − ti+1
dNi,k (t) k −1 k −1
= Ni,k−1 (t) − Ni+1,k−1 (t).
dt ti+k−1 − ti ti+k − ti+1
0.6
0.5
N0,4 (t)
0.4
Ni,k (t)
N1,4 (t)
0.3 N2,4 (t)
N3,4 (t)
0.2
0.1
0.0
0 2 4 6
t
1.0
N0,4 (t)
N1,4 (t)
0.8
N2,4 (t)
N3,4 (t)
0.6
Ni,k (t)
N4,4 (t)
N5,4 (t)
0.4
N6,4 (t)
0.2
0.0
0 1 2 3 4
t
N4,4 (t)
0.4
0.2
0.0
0 2 4 6 8 10
t
1.0
N0,3 (t)
N1,3 (t)
0.8
N2,3 (t)
N3,3 (t)
0.6
Ni,k (t)
N4,3 (t)
N5,3 (t)
0.4
0.2
0.0
0 2 4 6
t
Definition
Given a set of n control points Pi , and an order 1 ≤ k ≤ n + 1, a
B-spline curve is defined as
n
X
P(t) = Pi Ni,k (t) for t ∈ [tk−1 , tn+1 ]
i=0
where Ni,k (t) are the B-spline basis functions and ti are elements
of a knot vector T = (t0 , t1 , . . . , tn+k ).
Definition
Given a set of n control points Pi , and an order 1 ≤ k ≤ n + 1, a
B-spline curve is defined as
n
X
P(t) = Pi Ni,k (t) for t ∈ [tk−1 , tn+1 ]
i=0
where Ni,k (t) are the B-spline basis functions and ti are elements
of a knot vector T = (t0 , t1 , . . . , tn+k ).
Definition
Given a set of n control points Pi , and an order 1 ≤ k ≤ n + 1, a
B-spline curve is defined as
n
X
P(t) = Pi Ni,k (t) for t ∈ [tk−1 , tn+1 ]
i=0
where Ni,k (t) are the B-spline basis functions and ti are elements
of a knot vector T = (t0 , t1 , . . . , tn+k ).
8 B-spline curve
Control Polygon
7
Convex hull
Pi : (1, 1), (3, 8), (6, 3), (9, 6)
6 Knot Points
T = (0, 1, 2, 3, 4, 5, 6)
5
6 6
5 5
4 4
3 3
2 2
1 1
2 4 6 8 −8 −6 −4 −2
2 B-spline curve
Control Polygon
2 4 6 8 10 12 14
t − ti
Ni,k (t) = Ni,k−1 (t)
ti+k−1 − ti
ti+k − t
+ Ni+1,k−1 (t)
ti+k − ti+1
t − ti Ni,k
Ni,k (t) = Ni,k−1 (t) Ni,k−1 Ni+1,k−1
ti+k−1 − ti Ni,k−2 Ni+1,k−2 Ni+2,k−2
ti+k − t . . .
+ Ni+1,k−1 (t) . . .
ti+k − ti+1 Ni,1 Ni+1,1 ... Ni+k−1,1
t − ti Ni,k
Ni,k (t) = Ni,k−1 (t) Ni,k−1 Ni+1,k−1
ti+k−1 − ti Ni,k−2 Ni+1,k−2 Ni+2,k−2
ti+k − t . . .
+ Ni+1,k−1 (t) . . .
ti+k − ti+1 Ni,1 Ni+1,1 ... Ni+k−1,1
t − ti Ni,k
Ni,k (t) = Ni,k−1 (t) Ni,k−1 Ni+1,k−1
ti+k−1 − ti Ni,k−2 Ni+1,k−2 Ni+2,k−2
ti+k − t . . .
+ Ni+1,k−1 (t) . . .
ti+k − ti+1 Ni,1 Ni+1,1 ... Ni+k−1,1