![]() |
(1.72) |
![]() |
(1.73) |
![]() |
becomes | ![]() |
(1.74) |
over![]() |
over![]() |
![]() |
(1.76) |
A B-spline curve is
continuous in the interior of a span.
Within exact arithmetic, inserting a knot does not change the curve, so it does not change the
continuity. However, if any of the control points are moved after
knot insertion, the continuity at the knot will become
,
where
is the multiplicity of the knot. Figure 1.13
illustrates a single insertion of a knot at parameter value
,
resulting in a knot with multiplicity one.
The B-spline curve can be subdivided into Bézier segments by knot
insertion at each internal knot until the multiplicity of each
internal knot is equal to
.
We briefly review the latter knot removal algorithm developed by
Tiller [420]. To demonstrate the process, this example uses
a cubic B-spline curve
given by control points
and knot vector
where
,
and
as shown in Fig. 1.14. As the
basis functions only guarantee
continuity at
, the
first derivative may or may not be continuous there. Using the
continuity condition (1.52), the first derivative will be
continuous if and only if
![]() |
(1.77) |
![]() |
(1.78) |
A similar reasoning yields the fact that a knot
can be removed
a second time, if and only if the second derivative is continuous,
yielding
For the knot removal process, first the right hand side of
(1.79) is computed and compared to
.
If they are equal within a given tolerance, the knot and
are removed.
If the first knot removal is successful, equations
(1.80) are solved for
and compared:
![]() |
(1.82) | ||
![]() |
(1.83) |
If the second knot removal is successful, the third step is to solve
the first and third
equations of (1.81) for
![]() |
(1.84) | ||
![]() |
(1.85) |
This can be generalized to apply to any number of removals of any
particular knot. For the
th removal, there will be a system of
equations with
unknowns. If
is even, two values of the
final unknown control point will be calculated and compared. If they
are within tolerance, the knot removal is successful. If
is odd,
all new control points are computed and the final two are substituted
into the middle equation. If the result is within the tolerance, the
knot removal is successful. If the
th removal is successful,
control points will be replaced by
control points.
Knot removal from a surface is performed on the
rows or
columns of control points. However, the knot removal is successful
only if the knot can be successfully removed from each row or column.
Therefore, the result must be checked for each row or column before
any control points are removed.