Next: 11.4 Pythagorean hodograph Up: 11.3 Offset surfaces Previous: 11.3.6 Tracing of self-intersection   Contents   Index


11.3.7 Approximations

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.

  1. Let be a progenitor rational B-spline surface with control vertices , weights 0 and two knot vectors and associated with each parameter and .
  2. 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 .
  3. 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.
  4. 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.



Next: 11.4 Pythagorean hodograph Up: 11.3 Offset surfaces Previous: 11.3.6 Tracing of self-intersection   Contents   Index
December 2009