• No se han encontrado resultados

In this section methods for the computation of intersections between curves and surfaces are briefly considered. Texts such as [19] contain a much deeper analysis of the possible intersection problems. This thesis focuses on the set of problems which can either be reduced to finding the roots of a univariate polynomial in Bernstein form or finding an irreducible factorisation of a bivariate polynomial in Bernstein form.

In particular, this thesis focuses on problems where the roots of a univariate poly- nomial are of high multiplicity, and these root finding problems are typically associated with tangential intersection problems. Tangential intersections occur where two curves or surfaces are near parallel at their intersection and perturbations of two curves or surfaces with a tangential intersection can cause the intersection point to be lost. One possible re- sult is that the perturbed curves no longer intersect, but instead have a distance  between them. Alternatively, the perturbed curves or surfaces can overlap near to the intersection, causing a cluster of intersections to occur, rather than a unique point. This section dis- cusses the types of intersection problems encountered when using the various curve and surface representations, and methods for their computation.

The first part of this section considers the computation of the intersections of two implicitly defined curves or surfaces. These problems most readily reduce to polynomial root finding (or factorisation finding) problems.

Secondly, the intersection of one implicitly defined object and a parametrically defined object similarly reduces to a root or factorisation problem. This problem first requires a substitution to obtain a polynomial whose roots are then computed.

Thirdly, the intersection of two parametrically defined objects (B´ezier curves and sur- faces, for example) are considered, but these problems require an implicitisation stage to reduce them to a problem of computing the intersection of a parametrically defined object and an implicitly defined object.

Implicit Curve and Surface Intersections

The following set of examples considers the intersection of two implicitly defined curves or surfaces. These problems reduce to the computation of the roots of a polynomial ˆh(x) = 0 or the factorisation of a bivariate polynomial ˆh(x, y) = 0. It will be shown how curves and surfaces with smooth intersections reduce to polynomial factorisation problems where the factors are of high multiplicity.

Example 1.3.1. Consider two implicitly defined curves given by ˆ

f (x, y) = (x − 4)(x − 3)(x + 1)(x + 2) − y = 0 ˆ

Either ˆf (x, y) = 0 or ˆg(x, y) = 0 can be written explicitly, so let the first curve be written in the form y = ˆf (x), and this is substituted into ˆg(x, y) = 0 such that a third polynomial ˆ

h(x) = ˆg(x, ˆf (x)) = 0 is given by ˆ

h(x) = (x + 1)(x + 2) ((x − 4)(x − 3) − (−21x − 33)) = 0 = (x + 1)(x + 2)(x + 5)(x + 9).

The real roots xi of ˆh(x) determine the x coordinate of the points of intersection of ˆf (x)

and ˆg(x)

x1 = −9, x2 = −5, x3= −2 and x4= −1.

The intersection points are obtained by substituting the values xi into either ˆf (x, y) = 0

-10 -8 -6 -4 -2 0 -0 2000 4000 6000 8000 10000

(i) Plotting ˆf (x, y) and ˆg(x, y) over the

interval [−10, 0] -3 -2.5 -2 -1.5 -1 -0.5 0 -10 -8 -6 -4 -2 0 2 4 6 8 10

(ii) Plotting ˆf (x, y) and ˆg(x, y) over the

interval [−3, 0]

Figure 1.1: Plotting the curves ˆf (x, y) = 0 and ˆg(x, y) = 0 and their intersection points in Example 1.3.1

or ˆg(x, y) = 0 and solving for yi, and are given by

(x1, y1) = (−9, 8736) , (x2, y2) = (−5, 864) , (x3, y3) = (−2, 0) and (x4, y4) = (−1, 0) .

Figure 1.1i shows the four points of intersection in the interval [−10, 0], while Figure 1.1ii shows only the two points of intersection in the interval [−3, 0].



Example 1.3.2. Consider a modified version of Example 1.3.1, where the polynomials ˆ

fn(x, y) and ˆgn(x, y) are given by

ˆ

fn(x, y) = (x − 4)(x − 3)(x + 1)(x + 2)n− y = 0

ˆ

gn(x, y) = −3(x + 1)(x + 2)n(7x + 11) − y = 0.

-3 -2.5 -2 -1.5 -1 -0.5 0 -10 -8 -6 -4 -2 0 2 4 6 8 10 (i) n = 1 -3 -2.5 -2 -1.5 -1 -0.5 0 -10 -8 -6 -4 -2 0 2 4 6 8 10 (ii) n = 9

Figure 1.2: The intersections of two curves ˆf (x, y) = 0 and ˆg(x, y) = 0 in the interval [−3, 0] for various values of n in Example 1.3.2

y = ˆfn(x) can be substituted into ˆgn(x, y) such that ˆhn(x) = ˆgn(x, ˆfn(x)) = 0 is given by

ˆ

hn(x) = (x + 1)(x + 2)n((x − 3)(x − 4) − (−21x − 33))

= (x + 1)(x + 2)n(x + 5)(x + 9).

The roots of ˆhn(x) are −1, −2, −5 and −9. The curves ˆf2(x, y) = 0 and ˆg2(x, y) = 0

are plotted in Figure 1.2i and the curves ˆf9(x, y) = 0 and ˆg9(x, y) = 0 are plotted in

Figure 1.2ii. It can be seen that the intersection between the two curves ˆf9(x, y) = 0

and ˆg9(x, y) = 0 is significantly smoother than the intersection between ˆf2(x, y) = 0 and

ˆ

g2(x, y) = 0, and this smooth intersection gives rise to a polynomial root finding problem

with a root of high multiplicity.



The smoothness of the intersection of two curves is determined by the multiplicity of the roots of ˆh(x) = 0, where higher multiplicity in the roots is equivalent to smoother intersections. Roots of high multiplicity are likely to be incorrectly computed when using standard root finding methods so it is necessary to first compute the square-free factori- sation, from which simple roots can be computed. The simple roots obtained from the square-free factorisation are the roots of ˆh(x) = 0, and this algorithm is discussed in more detail in Section 1.5.

A surface intersection problem similarly reduces to the computation of the factors of ˆ

h(x, y) = 0, and factors with high multiplicity are associated with smooth intersections. Example 1.3.3. Consider the two implicitly defined surfaces given by

ˆ

f (x, y, z) = (x2+ y2− 1)n× (x + y + 0.2) − z = 0 ˆ

The intersections between the two surfaces are the factors of ˆ

h(x, y, z) = (x2+ y2− 1)n× ((x + y + 0.2) − (y − 0.2)) = (x2+ y2− 1)n(x − 0.4)

so there is a circle of intersection given by (x2+ y2 − 1) = 0 and a line of intersection

given by x + 0.4 = 0. Larger values of n give smoother intersections around the circle x2+ y2− 1 = 0 as shown in Figure 1.3.

(i) n = 1 (ii) n = 10

Figure 1.3: The intersections of two surfaces ˆf (x, y, z) = 0 () and ˆg(x, y, z) = 0 () in Example 1.3.3



Typically in real world applications the intersection of two surfaces P (Consisting of bicubic patches Pi) and Q (Consisting of bicubic patches Qj) reduces to the computation

of any intersections of the Pi and Qj patches. Despite these patches being of modest

degree, such intersections involve zero finding of bivariate polynomials of significantly higher degree. The focus of this thesis is to develop the matrix based GCD finding methods and polynomial deconvolution necessary for such intersection problems.

Newton’s Method for the Computation of Intersections Between Two Implic- itly Defined Curves

The intersections of two implicitly defined curves ˆf (x, y) = 0 and ˆg(x, y) = 0 are computed using Newton’s method. Given an initial approximation, (x0, y0), the iterative procedure

generates successive approximations (xi+1, yi+1) given by

" xi+1 yi+1 # = " xi yi # + " δxi δyi # ,

where δxi and δyi are given by

" ∂ ˆf (x i,yi) ∂x ∂ ˆf (xi,yi) ∂y ∂ ˆg(xi,yi) ∂x ∂ ˆg(xi,yi) ∂y # " δx δy #(i) = − " ˆ f (xi, yi) ˆ g(xi, yi) #(i) .

The iterative process is terminated when a solution (xi, yi) satisfies the conditions that ˆ f (xi, yi)

≤  and |ˆg(xi, yi)| ≤  for some threshold value  or when a maximum number of iterations has been reached.

An initial approximation of the point of intersection is required, and intersection points can only be found one at a time. As with the root finding implementation of Newton’s method, the method may be divergent, and termination can only be achieved when the intersection is computed to within some threshold  of its exact value, and this threshold must be predetermined. For these reasons, the implementation of the intersection method based on Newton’s method is reserved for refining already approximated intersection points obtained by other means.

The method is extended to the computation of the points of intersection of two im- plicitly defined surfaces ˆf (x, y, z) = 0 and ˆg(x, y, z) = 0. The intersection point (xi, yi, zi)

is given by " ∂ ˆf (x i,yi,zi) ∂x ∂ ˆf (xi,yi,zi) ∂y ∂ ˆf (xi,yi,zi) ∂z ∂ ˆg(xi,yi,zi) ∂x ∂ ˆg(xi,yi,zi) ∂y ∂ ˆg(xi,yi,zi) ∂z #    δx δy δz   = − " ˆ f (xi, yi, zi) ˆ g(xi, yi, zi) #(i) .

This initial point on the intersection curve can then be used in a tracing based method to compute the curve of intersection.

Implicit and Parametric Curve and Surface Intersections

The points of intersection between the implicit curve ˆf (x, y) = 0 and the parametric curve defined by equations x = ˆg1(t), y = ˆg2(t) are given by the following process:

1. The variables x and y in ˆf (x, y) = 0 are replaced by the corresponding parametric equations x = ˆg1(t) and y = ˆg2(t) such that a new equation ˆh(t) = ˆf (ˆg1(t), ˆg2(t)) = 0

is given. The roots {ti} of the univariate polynomial ˆh(t) = 0 are computed and

these are substituted back into the parametric equations x = ˆg1(t) and y = ˆg2(t) to

compute xi and yi pairs, which are the set of intersection points.

2. The intersections of the implicitly defined surface given by ˆf (x, y, z) = 0 and the parametric surface defined by x = ˆg1(s, t), y = ˆg2(s, t) and z = ˆg3(s, t) can be com-

puted by the factorisation of the polynomial ˆf (ˆg1(s, t), ˆg2(s, t), ˆg3(s, t)) = ˆh(s, t) = 0.

Intersections of Two Parametric Curves or Surfaces

The intersection of two parametrically defined surfaces S1(s, t) and S2(s, t) requires that

one of the two surfaces is first implicitised. The implicitisation of the surface S1(s, t) of

degree (m1, m2) has degree d = 2m1m2 and has d+33  coefficients. For example, a bicubic

B´ezier patch has an implicit form of total degree 18, and has 1330 coefficients. Having implicitised one of the polynomials, the problem reduces to one of the set of problems listed earlier in the section.

Implicitisation is the process in which, given a parametric curve or surface, an implicit form is found. This is a simple process for curves and surfaces of low degree. However, as the degree of the parametric surface increases, the number of coefficients of the implicit

representation increases. In the literature much work has been completed on the various methods of finding local and approximate implicit forms [1, 13, 24, 35, 46, 57, 58, 60].

Example 1.3.4 shows the implicitisation of a parametrically defined curve.

Example 1.3.4. Consider the parametrically defined curve C1 which is defined by the

parametric equations

ˆ

f1(t) = 0.1 + 0.8t − 0.1t2

ˆ

f2(t) = 1 − 3.4t + 3.5t2.

The standard form of implicitisation by the Sylvester matrix based method [59, Section 4.1] requires the construction of the 2n × 2n Sylvester matrix containing coefficients of

ˆ f1(t) = 0.1 + 0.8t − 0.1t2− x ˆ f2(t) = 1 − 3.4t + 3.5t2− y which is given by S ˆf1(t), ˆf2(t)  =       −0.1 0 3.5 0 0.8 −0.1 −3.4 3.5 (0.1 − x) 0.8 (1 − y) −3.4 0 (0.1 − x) 0 (1 − y)       .

The implicit expression is given by the determinant of the above matrix ˆ h(x, y) = 49 4 x 2+ 7 10xy + 1 100y 2 5757 500x − 1029 500 y + 30069 10000.  B´ezier Subdivision

This method can be utilized in computing the intersection of two B´ezier curves. The convex hull property can be used to determine whether two curves intersect [43]. An absence of intersections of convex hulls can be used to exclude intersections of curves, but an intersection of convex hulls does not guarantee curve intersections. The region of intersection is reduced by subdividing and checking for intersections between the new set of curves. Given that the convex hulls of two B´ezier curves C1 and C2 intersect, the

intersection can be found by subdividing C1 into C1,Lef t and C1,Right, and C2 into C2,Lef t

and C2,Right.

The convex hulls in each pairing (i) C1,Lef t and C2,Lef t, (ii) C1,Lef t and C2,Right,

(iii) C1,Right and C2,Lef t and (iv) C1,Right and C2,Right are then checked for possible inter-

sections. Those which do not intersect are rejected while convex hulls which do intersect may contain an intersection point. The curves are repeatedly subdivided and checked for intersections until the subdivided curves can be approximated by straight lines. The intersection of these lines gives an approximation of the exact intersection point.

concept of fat arcs, and this method converges more quickly than the standard clipping algorithm. One limitation of this algorithm is that a threshold is required to determine when a curve is sufficiently flat to be approximated by a straight line.

In Section 1.3 several curve and surface intersection finding methods have been consid- ered. It has been shown that the algebraic methods generally reduce to the computation of the roots or factors of univariate or bivariate polynomials, and methods for solving these problems are discussed in Section 1.4 and Section 1.5 respectively.

Documento similar