(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.