Next: Conclusion Up: index Previous: A simple extension of
The algorithm described thoroughly in the previous section automatically
fairs a B-spline curve of general order as given in
(2).
In more detail, our method computes an approximative local solution of the
following problem for preset values
and
:
Find a curve
, contained in the set
|
(32) |
of B-splines in the -neighborhood of
with
agreeing boundary values, which satisfies
|
(33) |
Now, trying to find an (approximative) solution
with
help of well-known optimization methods for nonlinear inequality-constrained
problems, as described e.g. in (Gill et al., 1981), is certainly very time
consuming for large since such algorithms require iteratively the solution
of a large linear system. Hence the need of any kind of simplification is
obvious.
One possibility can be found in the already mentioned paper of Kallay (1993)
where the quadratic functional
with any preset value
is minimized for
(meaning the set of all
B-splines with same boundary values as ). Here, the
solution is found by inverting a linear system of magnitude
.
Nevertheless, two disadvantages occur in this method. At first, for
a different functional is minimized as originally stated so
that the resulting smoothing effect is not optimal. Secondly, the
restrictions (23) are not necessarily fulfilled for the preset value so that one or more iterations with raised values of might be
necessary.
So, in contrast to Kallay's method the idea used in the present paper
seems to be more practical because the right functional is minimized
in every step and the restrictions (23) are always hold. Further, the
implementation is much simpler because no linear equation solver is used.
However, our method only produces a local approximative solution to the above
addressed problem. Nevertheless the (weak) convergence of the iterative
process is at least guaranteed since the always positive value of the energy
is lowered in every step, producing a bounded decreasing sequence.
Moreover, any kind of statement about convergence of the algorithm to
a global solution can be given only in the unrestricted case, meaning
, with
and
.
In that case the problem of minimizing the positive definite quadratic
functional
for
is reduced to the
computation of the unique solution of a linear system of magnitude
as mentioned above.
Note that the resulting solution only depends on the boundary values of
the given curve .
Now, it is easy to see that our local fairing algorithm tends in the limit
to the same global solution. The reason for this behaviour is the possible
comparison of our local fairing step to the usual Gauss-Seidel iteration
for linear systems (Golub and van Loan, 1989). There in each single step
also only one of the unknowns is altered in order to satisfy one
equation of the entire linear system exactly. Then in the next step the most
recently available information is used to alter the next variable.
However, it follows from (25) that the limit of our algorithm is
characterized by for
since otherwise the value of the energy could be lowered by changing some
further points. Hence we can deduce from (27) that
for
,
meaning that every equation of the underlying linear system is satisfied.
Thus the obtained limit curve is identical to the global unique solution.
For instance in the cubic case () the minimization of
with
gives for general knot vectors that cubic Hermite polynomial as limiting curve which interpolates the
boundary values
,
,
and
.
Finally, we mention that our algorithm converges for the same reasons also to
a global minimum if the restrictions
and
are not satisfied. Here, it is much more difficult to predict
the limit curve in cases where the global problem has no unique solution
since then the limit curve mainly depends on the order the control points are
changed. |