Next: 11.3.6 Tracing of self-intersection Up: 11.3 Offset surfaces Previous: 11.3.4 Self-intersection of offsets   Contents   Index


11.3.5 Self-intersection of offsets of polynomial parametric surface patches

For parametric surface patches , the unit normal vector of a regular surface (3.3) in terms of components is given by
    (11.78)

where , and denote the , and components of and . Consequently the vector equation for self-intersections (11.29) becomes
    (11.79)
    (11.80)
    (11.81)

which is an underconstrained system with three equations with four unknowns , , , .

We can easily trace any self-intersection curve branch if the pre-image of that branch in at least one of the parametric domains starts from the parametric domain boundary as depicted in Fig. 11.26 (a). The same symbols in and -parameter spaces are the corresponding pairs of points which give the self-intersection. It is more difficult to find starting points for tracing self-intersection curves, when the self-intersections curves are closed in both parametric domains as illustrated in Fig. 11.26 (b). This may occur due to local differential geometry properties and global distance function properties of the progenitor surface. The first case occurs in the vicinity of extrema of principal curvatures in a concave region, when the offset distance exceeds the smallest radius of curvature [253]. The second case occurs in the vicinity of a pair of collinear normal points whose distance is equal or smaller than twice the offset distance. If the surface is conceptually subdivided along an iso-parametric line which contains the local extrema of principal curvature in the concave region (whose radius of curvature is smaller than the absolute offset distance ) or the collinear normal points whose distance is equal or smaller than twice the offset distance, then each sub-patch will contain simple self-intersection branches without loops.

Figure 11.26: Self-intersection curves in parameter space where the same symbols are mapped to the same locations in the offset surface (adapted from [253])

Therefore after this subdivision process, we can find all the starting points for tracing self-intersection curves of an offset surface along iso-parametric lines made up of the boundary of all subdomains. Since we can fix one of the four variables ( , , , ), the vector equation (11.29) reduces to three equations with three unknowns.

Let us assume that the input curve is a Bézier patch. Then the system (11.79), (11.80), (11.81) reduces to three simultaneous trivariate irrational equations involving polynomials and square root of polynomials. We can replace the square root of polynomials and by auxiliary variables and such that and . Consequently, the above system can be reduced to a nonlinear polynomial system consisting of five equations with five unknowns as follows:

    (11.82)
    (11.83)
    (11.84)
    (11.85)
    (11.86)

This system can be solved by the IPP method introduced in Chap. 4. Since , are trivial solutions, we must exclude them from the system, otherwise a Bernstein subdivision-based IPP algorithm would attempt to solve for an infinite number of roots.

A similar problem for the self-intersections of a normal offset of a planar polynomial curve has been treated in [254] by dividing out the common factor. However, for the surface case we cannot divide out these factors from the system directly, since terms , and do not necessarily exactly involve the factors and . Thus, the polynomial system is first solved by the Bernstein subdivision-based IPP solver with a coarse accuracy (e.g. ). The two rectangular sub-patches on the surface for each set of roots using the de Casteljau subdivision algorithm are extracted. Then the normal rectangular pyramids [208,209,382], which bound normal vectors of Bézier patches, are constructed [253] and their apexes are translated to the origin. If the two pyramids intersect, the associated parameter boxes are considered as representing trivial roots and excluded from the list of roots. Figures 11.27 illustrate such non-intersecting and intersecting normal pyramids. Finally we restart the IPP solver with boxes that include the solutions but now requiring high accuracy (e.g. ).

When the input surface is a B-spline surface patch, we can split it into Bézier surface patches by the knot insertion algorithm [34,63,314]. In such cases we must check the intersections among the offsets of different split patches, where we do not need to worry about trivial solutions. Wang [440] computed intersection curves of offsets of two parametric surface patches using the orthogonal projection of the intersection curves onto the progenitor surfaces.

Figure 11.27: Normal pyramids: (a) two non-intersecting normal pyramids, (b) two intersecting normal pyramids (adapted from [253])



Next: 11.3.6 Tracing of self-intersection Up: 11.3 Offset surfaces Previous: 11.3.4 Self-intersection of offsets   Contents   Index
December 2009