Using (2.25) with
,
and
, (11.9) for
finding the locations of isolated points
and cusps of planar offset
curve reduces to [254]
(11.11)
Consequently, if
is a polynomial curve, locations of irregular
points can be obtained by solving
the above univariate
irrational function involving polynomials and square roots of
polynomials, which can be
transformed into two
equations with two
unknowns using the auxiliary variable method introduced in Sect.
4.5. The additional equation and variable result from
replacing the square root involved in (11.11)
leading to:
(11.12)
(11.13)
By substituting the expression for the normal vector for the planar
parametric curve (2.24) (see Fig.
3.7 (b) and Table
3.2) into (11.10) yields the
following system for locating the self-intersections of the offset of
the planar curve:
(11.14)
If
is a polynomial curve, (11.14) are
two simultaneous bivariate irrational functions involving
polynomials and square root of polynomials.
Using the auxiliary variable method, system
(11.14) can be transformed into four polynomial
equations with four unknowns
,
,
,
as follows
[254]:
(11.15)
The trivial solution
can be avoided by factoring out
from the above equations. It is apparent that the two
additional equations obtained through the auxiliary variables do not
contain the factor
. However, the original two equations,
where the square roots of polynomials have been replaced by the
auxiliary variables, possess the factor
as can been seen
after some algebraic manipulations [254]. Once the division
operations are completed, we obtain a system of four polynomial
equations with four unknowns without the trivial solution
.
Similarly to (11.14), intersections of the normal
offsets at distance
of two distinct planar curves
and
can be computed by solving the following system:
(11.16)
Note that for (11.14) we need to find a method to
eliminate the trivial solution
, while for
(11.16)
can be a solution.
When the input curve is
a B-spline curve, we can always split it into Bézier (polynomial)
segments by a knot insertion algorithm [34,63]. In such cases not only the
self-intersection in the offset of each split polynomial segment but
also the intersections among the offsets of different split segments
must be checked.
A system of nonlinear polynomial equations can be robustly and
efficiently solved by the subdivision-based Interval Projected
Polyhedron algorithm [254,179], which was introduced in
Chap. 4. A remarkable feature of this algorithm when
applied to the system (11.15) is that both local and
global self-intersections can be found by the same algorithm without
any initial approximations (see Figs. 11.10,
11.11, 11.12).
Figure 11.11:
Global self-intersections of offsets: (a) degree six Bézier curve and its offset with
, (b) offset curve self-intersects forming a tacnode with
(adapted from [254])
Figure 11.12:
(a) Trimmed offset of degree six Bézier curve with
, (b) tool path along the trimmed offset (adapted from [254])