Convex Hull Property
Variation Diminishing Property
A B-spline curve has many nice properties. The first one we would
to show is affine invariance.
Translational Invariance: Suppose we translate the control polygon
first, and then produce a new curve based on this newly positioned
polygon. The new curve is exactly the same as the one if we translate
the old curve, for all the points on the curve, point by point. This
is called translation invariance.
Rotation Invariance: If we rotate the control polygon to produce a
curve, it will be the same as if we rotate the old curve. This is
Scaling Invariance: If we scale the control polygon to produce a
curve, it will be the same as if we scale the old curve. This is
scaling invariance. Invariance under translation, rotation and
are common examples of affine invariance. Earlier interpolating
didn't have this property. Therefore, interpolants have to be
whenever they are transformed. This can be a particularly difficult
Convex Hull Property
A curve may lie within the convex hull formed by control vertices.
This is called convex hull property. One way to alter the shape of
curve is to keep the same set of basis functions but to change the
of the control vertices. Again, at all times, the curve lies within
the convex hull formed by control vertices. Note that each control
vertex has different effect contributing to the shape of the curve,
depending solely on its corresponding basis function. So far we have
seen only one evaluation interval.
Suppose now we have one extra control vertex and we effectively
two intervals such that the first set of control vertices define the
first piece of the curve together with the first set of basis, and
first segment lies entirely within the convex hull formed by the
set of control vertices. The next set of control vertices define the
second piece of the curve together with the second set of basis, and
the second segment lies entirely within the convex hull formed by the
second set of control vertices. Each piece of segment is a polynomial
curve so that they form a piecewise polynomial curve and they are
in a smooth way such that they share control vertices and their knots
overlap. The point where segments are pieced together is often called
a joint or a junction point. It is a point in R2 which
corresponds to a knot position at the parameter space. We can have
segments, four segments, five segments, or more.
Let us traverse along the curve. On each evaluation interval, there
are exactly K basis functions that are non-zero where K is the order.
The basis functions always add up to 1. As a consequence, on each
evaluation interval, there are exactly K control vertices that can
contribution to the curve definition, and the curve segment lies
in the convex hull formed by every successive K vertices.
The next property we would like to demonstrate is the locality
Given a vertex associated with the basis function
which is non-zero over only the first four intervals, moving
the vertex will change only the first four segments of the curve.
vertex is associated with the basis function
which is non-zero over the last four intervals, moving this
vertex will change only the last four segments of the curve. Another
vertex is associated with the basis function, but
support is truncated, therefore it is non-zero over the last two
and moving this vertex will change the last two segments of the
As a conclusion, the locality of the control vertices indicates that
moving a control vertex will change at most K curve segments, where
K is the order, because its associated basis function can have, as
support, at most K intervals on which it is non-zero.
Locality of Knots
The next property we would like to demonstrate is another locality
property, the locality of knots. Let us try to a knot.
A knot sitting on the support of four basis functions
but influenced by only one basis function stops before the last
interval of the support of the basis function. Therefore, when
we move around this knot, only the first three segments will be
Let us try to move this knot. This knot sits on the support of four
basis functions, but its influence on the one basis
function starts after the first interval of the support of the next
basis function. Therefore, when we move around this knot, only the
last three segments are changed. This knot sits on the support of
five basis functions. The union of their support covers the entire
domain of this curve. Therefore moving this knot will change almost
the entire curve. As a conclusion, the locality of the knots
that moving a knot will change at most (K-1) intervals to its left
and at most (K-1) intervals to its right, where K is the order.
Multiple knots may have impact on the continuity of the curve. A
curve is infinitely differentiable, except possibly at knot
A curve may be C2 continuous at a point. C2
means the second derivatives are continuous. As a matter of fact, at
every point on this curve, a linear combination of C2
basis functions, the curve is at least C2 continuous. If
we move this
knot and make it collapse to its neighbor, the curve will be
at this point. Cl continuity means the first derivatives
It can be proven that this point sits on the line connecting the
two vertices and the curvature is no longer continuous at this
point. The curve can't be C2, instead it is C1
it seems that by stacking up two knots, the curve was changed from
five segments to four segments, actually it can be interpreted as if
there are still five segments in this curve, except one of them is a
degenerated, zero-length segment which begins and ends at exactly the
same knot position. Now, let us move this knot to make a triple knot.
At this point, only one basis function is contributing, therefore,
it interpolates the vertex, and the curve is CO
quite obviously. Let us make a quadruple knot. It is a jump discontinuity,
some people call it C-1 continuous. Let us traverse from
side of the parameter. It passes through one vertex. As soon
as we move over to the other side, it jumps to the next vertex, and
As a conclusion, a B-spline curve of order K is in general
continuous. For instance, a cubic B-spline curve is C2
But at a knot position, the continuity is CK-M-I, where K
order, and M is the multiplicity of that knot.
Variation Diminishing Property
The next property we would like to illustrate is the variation
property. The variation diminishing property says that a B-spline
is no more wiggly than its control polygon. An intuitive illustration
of this is that a straight line will intersect the curve no more than
it does the control polygon. For instance, if we have a straight
line, it intersects the control polygon three times and
it intersects the curve also three times. In this case, it
the control polygon twice, but it intersects the curve only once. In
this case, it intersects the control polygon three times, but it
intersect the curve at all.