Next: 11.6.3.3 End circle to Up: 11.6.3 Global self-intersection of Previous: 11.6.3.1 End circle to   Contents   Index


11.6.3.2 Body to body global self-intersection

The body to body global self-intersection case can be reformulated in terms of two different points on the spine curve that have a minimum distance. This minimum distance should not be understood as the distance between two points whose parameters ( and ) are close enough, which amounts to a distance approaching zero, i.e. the trivial solution. Rather, these two points should make the distance function stationary. Therefore, the body to body global self-intersection problem is equivalent to the minimum distance problem (see also [256]).

We assume the spine curve can be given by a rational B-spline curve, which can be split into rational Bézier curves by knot insertion [34,314]. The minimum distance problem can be decomposed into the minimum distance between two points on different Bézier curves and the minimum distance between two points on the same Bézier curve. The first problem is discussed in Sect. 7.2 as well as in Zhou et al. [461], so we focus on the second problem here.

Let the spine curve be given by . Assume that the curve is regular, and is continuous. The squared distance function between two points on the spine curve with parameters and is given by [256]

    (11.122)

The stationary points of satisfy the following equations

    (11.123)

which can be rewritten as
    (11.124)
    (11.125)

The geometrical interpretation of (11.124) and (11.125) is that the line connecting the two points and is orthogonal to the spine curve at both points. We assume that is given as a rational Bézier curve, that is
    (11.126)

Substituting (11.126) into (11.124) gives
    (11.127)

Multiplying by its own denominator we obtain
    (11.128)

Similarly (11.125) reduces to
    (11.129)

The first brackets of (11.128) and (11.129) can be rewritten as
    (11.130)

Since
    (11.131)

we can easily factor out from the first brackets of (11.128) and (11.129).

Therefore the system of equations (11.124), (11.125) for the rational Bézier curve reduces to a system of coupled bivariate polynomial equations with degree in , in and degree in , in . The system can be robustly and efficiently solved by the IPP algorithm introduced in Chap. 4. If we substitute all the solutions computed by the polynomial solver into (11.122) and choose the minimum squared distance, then the maximum possible upper limit of the radius such that body and body of the pipe surface will not globally self-intersect is given by , where and is the squared distance between two points which make the distance function stationary. If there are no such points, then we set .

Example 11.6.3. Figures 11.35 show two different views of the minimum distance between points on a rational Bézier curve of degree 4. The solid squares indicate the five control points with weights 1, 2, 0.5, 3, 1. The minimum distance between two points on the spine curve can be obtained as 0.157556, which is between the points of the parameters and . The spine curve has a global maximum curvature at = 0.70618 with curvature value . Therefore the pipe surface starts to self-intersect locally when and globally when . The situation when is shown in Fig. 11.36 where two different parts of the body of the pipe surface touch each other and the surface also locally self-intersects.

Figure 11.35: Two different views of spine curve which has minimum distance between two interior points (adapted from [256])

Figure 11.36: Body to body tangential intersection and local self-intersection ( ) (adapted from [256])



Next: 11.6.3.3 End circle to Up: 11.6.3 Global self-intersection of Previous: 11.6.3.1 End circle to   Contents   Index
December 2009