Next: Fairing of B-Spline Curves Up: Fairing of B-Spline Curves and Surfaces Previous: Fairing of B-Spline Curves and Surfaces
If a designer constructs a B-spline curve or surface with the help of his CAD
system or any other application the result might be non-smooth. To
avoid this affect, which can originate from e.g. digitizing errors of data
points, two different principles are generally used. The first one
incorporates a suitable fairness criterion into the interpolation or
approximation process; for more informations see [4,17]. The
second one is to separate the construction and the fairing process which
again can be subdivided into two principles: global methods as described in
[20,21,22] and local, iterative methods like
[10,12,13,26,27,29]. Our method we
are going to describe in the next sections also belongs to the second
principle.
Although the fairness of a curve or surface can only be described in a
subjective manner the following two definitions are very common in literature
(see also [28]): a (planar) curve is smooth if it minimizes the strain energy of a thin elastic beam described by
where represents the curvature of the curve. A surface is smooth
if it minimizes the potential energy of a thin elastic plate (thin-plate
energy) given by
where and are the principle curvatures of
the plate and the factors are constants depending on the material
(see [3]).
But both fairing criteria lead to a non-linear problem which has to be solved
with the help of numerical tools whereas explicit solutions cannot be given in
general. Following this, both criteria are linearized in most fairing
algorithms. Concerning curves we assume that the parameter of the curve
represents the arc length. So, the simpler integral
is minimized instead. Furthermore, we do use the third derivative also
described in [17,24]. If the curve is parameterized with
respect to the arc length it can be shown that this integral is equivalent to
the integral over
.
In case of given surfaces the functional
is a good approximation of (2) if the parameterization of the
surface is nearly isometric (and by choosing and ). More details
about this linearization can be found in [14]. But for general
curves or surfaces, (3) and (4) are far away from being a good
approximation and, therefore, could produce strange results. In [23]
some effects are pointed out for curves.
Another functional suggested in [15] is
or the following from [1]
In this paper a B-spline curve of general order with the knot
sequence
, which is always described by
(see [11,19] for details), or a B-spline surface of order with the knot sequences
and
, which is described by
should be faired in the following way: by modifying only one control point at
a time and keeping all others fixed, we want to minimize the (linearized)
fairness functional. This idea had been successfully used before in
[8] for fairing polylines.
To smooth a whole curve or surface the following points have to be done:
- Find the control point which has to be changed.
- Change the control point to a location in
such a way that the new curve or surface minimizes the fairness criterion and
fulfills a given distance tolerance.
- Follow step 1 and 2 so often as a suitable criterion to stop is
fulfilled.
In the first part of this contribution we want to describe our method for
fairing B-spline curves (c.f. [7]) and Bézier-spline curves.
A possible solution for fairing rational B-spline curves will also be
discussed. The second part contains the extension of this method to surfaces
(c.f. [16]). In both parts the benchmark curves and surfaces of
the workshop in Lambrecht and some other examples are treated. The results are
visualized in some pictures. |