Farouki [94] studied the problem of computing
approximate offsets of general parametric surfaces. His method
involves finding the unique bicubic Hermite interpolant surface that
has the exact position, slopes and cross-derivatives as the exact
offset surface at the corners of some quadrilateral subdomain of the
surface being offset. The accuracy of the offset is then increased by
decreasing the size of the subdomain chosen. A uniform subdivision
methods is implemented, although a nonuniform subdivision can be
formulated to enhance the efficiency.
Patrikalakis and Prakash [301] addressed the
representation of plates within the framework of the boundary
representation method in a solid modeling environment (see Figure
11.5). Plates are defined as the volume bounded by a
progenitor surface, its offset surface and ruled surfaces for the
sides. Offset surfaces of rational B-spline/Bézier surfaces cannot
in general be
represented exactly within the same class of functions describing the
progenitor surface. Therefore, if the offset is to be represented in
the same form as the progenitor surface, approximation is required.
Such approximation assists in integrating offsets in a NURBS-based
modeler (at least in an approximate sense).
The steps of the approximation algorithm in [301] are
summarized below.
Let
be a progenitor rational B-spline surface with control
vertices
,
weights
0 and two knot vectors
and
associated with each parameter
and
.
Offset each vertex of the control polyhedron by a distance
along the normal vector
given by (see Fig. 11.30)
(11.96)
so that the offset control point is given by
(11.97)
where
are unit normal vectors on the
triangular facets of the control polyhedron around
as
in Fig. 11.30. Then the approximated offset
is defined by
,
,
and
.
Check deviation of the approximate offset with the true offset
for every
. If it is good at all
points, the checking proceeds to the next stage. If it is not good at
some point, then new knots are added at left and right midspans of
both the
and
-directions. Knots are not added at those points
where a new knot has been currently added to avoid unnecessary knots
that could, possibly, lower the order of continuity. In the second
stage, the surface is further checked progressively at its
and
midspans, one-third spans, etc., to some prespecified level of
interior checking. A new
and
knot is added at places where the
check fails. If the check passes at all points, the approximate offset is
considered good enough.
Evaluate a new control polyhedron corresponding to the finer knot
vector using the Oslo algorithm [63] and go back to step 2.
Figure 11.30:
Offset surface approximation
(adapted from [301])
An alternate way to compute offsets of NURBS curves and surfaces was
addressed by Piegl and Tiller [316]. The approach consists of
four steps: 1) recognition of special curves such as a straight line or a
circle, and special surfaces such as a plane, a surface of revolution
(sphere, torus, cone, cylinder) or a general surface of revolution, or
a ruled surface which in special cases can be an extrusion; 2) sampling
of the offset curve or surface based on bounds on second derivatives; 3)
interpolation of these points by B-spline curves and surfaces; 4)
removal of all extraneous knots so that the error does not exceed the
tolerance.