next up previous contents index
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 $ R$ be a progenitor rational B-spline surface with control vertices $ {\bf p}_{ij}$ , weights $ w_{ij}>$ 0 and two knot vectors $ {\bf U}$ and $ {\bf V}$ associated with each parameter $ u$ and $ v$ .
  2. Offset each vertex of the control polyhedron by a distance $ d$ along the normal vector given by (see Fig. 11.30)
    $\displaystyle {\bf N}_{ij} = \frac{1}{8}\sum_{k=1}^8{\bf n}_k\;,$     (11.96)

    so that the offset control point is given by
    $\displaystyle \hat{\bf p}_{ij}= {\bf p}_{ij} + d\frac{{\bf N}_{ij}}{\vert{\bf N}_{ij}\vert}\;,$     (11.97)

    where $ {\bf n}_k$ are unit normal vectors on the triangular facets of the control polyhedron around $ {\bf P}_{ij}$ as in Fig. 11.30. Then the approximated offset $ \hat R$ is defined by $ \hat{\bf p}_{ij}$ , $ w_{ij}$ , $ {\bf U}$ and $ {\bf V}$ .
  3. Check deviation of the approximate offset with the true offset for every $ (u_i, v_j)\in {\bf U}\times{\bf V}$ . 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 $ u$ and $ v$ -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 $ u$ and $ v$ midspans, one-third spans, etc., to some prespecified level of interior checking. A new $ u$ and $ v$ 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])
\begin{figure}\centerline{
\psfig{file=fig/off_appr_surf.eps,height=2.3in}
}\end{figure}
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 up previous contents index
Next: 11.4 Pythagorean hodograph Up: 11.3 Offset surfaces Previous: 11.3.6 Tracing of self-intersection   Contents   Index
December 2009