Consider designing the profile of a vase.
The left figure below is a Bézier curve of degree 11; but, it is difficult to
bend the "neck" toward the line segment P4P5.
The middle figure above uses this idea. It has three Bézier curve
segments of degree 3 with joining points marked with yellow rectangles.
The right figure above is a B-spline curveof degree 3defined by 8
control points .
B-Spline Basis: Motivation
Those little dotssubdividethe B-spline curve into curve
segments.
One can move control pointsfor modifying the shape of the
curve just like what we do to Bézier curves.
We can also modifythe subdivision of the curve. Therefore,
B-spline curves have higher degree of freedomfor curve
design.
B-Spline Basis: Motivation
B-Spline Basis: Motivation
Subdividing the curve directly is difficult to do. Instead, we
subdivide the domain of the curve.
The domain of a curve is [0,1],this closed interval is
subdividedby points called knots.
These knots be 0 <= u
0<= u
1<= ... <= u
m <= 1.
Modifyingthe subdivision of [0,1] changes the shape of the
curve.
B-Spline Basis: Motivation
In summary:to design a B-spline curve,
we need a set of control points, a set of
knotsand a set of coefficients, one for each
control point, so that all curve segments are
joined together satisfying certain continuity
condition.
B-Spline Basis: Motivation
The computation of the coefficients is
perhaps the most complex step because they
must ensure certain continuity conditions.
B-Spline Curves
(Two Advantages)
1.The degree of a B-spline polynmial can
be set independently of the number of
control points.
2.B-splines allow local control over the
shape of a spline curve (or surface)
B-Spline Curves
(Two Advantages)
A B-spline curve that is defined by 6 control point,
and shows the effect of varying the degree of the
polynomials (2,3, and 4)
Q
3is defined by P
0,P
1,P
2,P
3
Q
4is defined by P
1,P
2,P
3,P
4
Q
5is defined by P
2,P
3,P
4,P
5
Each curve segment
shares control points.
B-Spline Curves
(Two Advantages)
The effect of changingthe position of control
point P
4 (locality property).
B-Spline Basis Functions
(Knots, Knot Vector)
Let Ube a set of m+ 1non-decreasing
numbers, u
0 <= u
2 <= u
3<= ... <= u
m. The u
i's
are called knots,
The setUis the knot vector.
muuuuU ,,,,
210
u
1
u
0u
2
u
3
u
4u
5
B-Spline Basis Functions
(Knots, Knot Vector)
The half-open interval [u
i, u
i+1)is the i-th knot
span.
Some u
i's may be equal, some knot spansmay
not exist.
muuuuU ,,,,
210
B-Spline Basis Functions
(Knots)
If a knotu
iappearsk times (i.e., u
i= u
i+1 = ... =
u
i+k-1), where k > 1,u
iis a multiple knotof
multiplicity k, written asu
i(k).
If u
iappears only once, it is a simple knot.
If theknotsare equally spaced(i.e., u
i+1-u
iis a
constantfor 0 <= i <= m -1), the knot vector or
the knot sequence is saiduniform; otherwise, it
isnon-uniform.
muuuuU ,,,,
210
B-Spline Basis Functions
All B-spline basis functions are supposed
to have their domain on [u
0, u
m].
We use u
0= 0and u
m= 1frequently so that
the domainis the closed interval [0,1].
B-Spline Basis Functions
To define B-spline basis functions, we need one
more parameter.
The degreeof these basis functions,p. The i-th B-
spline basis function of degree p, written as
N
i,p(u), is defined recursively as follows:)()()(
otherwise0
if1
)0(
1,1
11
1
1,,
1
0,
uN
uu
uu
uN
uu
uu
uN
uuu
N
pi
ipi
pi
pi
ipi
i
pi
ii
i
B-Spline Basis Functions
To understand the way of computing N
i,p(u)for p
greater than 0, we use the triangular computation
scheme.
B-Spline Curves
(Definition)
Given n+ 1control points P
0, P
1, ..., P
nand a knot vector
U= { u
0, u
1, ..., u
m},the B-spline curve of degree pdefined
by these control pointsand knot vector Uis
The point on the curvethat corresponds to a knot u
i, C(u
i), is
referred to as a knot point.
The knot pointsdividea B-spline curve into curve segments,
each of which is defined on a knot span. 1,)()(
0
0
,
nmpuuuuNu
m
n
i
ipi
pC
B-Spline Curves
(Definition)
The degree of a B-spline basis function is an input.
To changetheshape of a B-spline curve, one can modify
one or more of these control parameters:
1.The positions of control points
2.The positions of knots
3.The degree of thecurve1,)()(
0
0
,
nmpuuuuNu
m
n
i
ipi
pC