8
Bisector curves of planar rational curves Gershon Elber²* and Myung-Soo Kim‡ This paper presents a simple and robust method for computing the bisector of two planar rational curves. We represent the correspondence between the foot points on two planar rational curves C 1 ðtÞ and C 2 ðrÞ as an implicit curve F(t,r) ¼ 0, where F(t,r) is a bivariate polynomial B-spline function. Given two rational curves of degree m in the xy-plane, the curve F(t,r) ¼ 0 has degree 4m ¹ 2, which is considerably lower than that of the corresponding bisector curve in the xy-plane. q 1999 Elsevier Science Ltd. All rights reserved Keywords: Bisector curves, Planar curves, Rational polyno- mials, Skeletons, Voronoi diagrams, Zero sets, Cutter path generation, Subdivision methods INTRODUCTION Given a planar region bounded by freeform curve segments, the set of all interior points that have equal minimum distance from (at least) two different boundary points is called the skeleton of the planar region. When we decompose the boundary curves at each extreme curvature point, the skeleton is composed of segments of bisector curves, for some pair of boundary curves C i and C j (i j). Similarly, given a number of disjoint planar regions, their Voronoi diagram is defined as the set of points which are equidistant from (at least) two different regions. The Voronoi diagram also consists of bisector curves, for some pairs of boundary curves of the planar regions. The skeleton and Voronoi diagram have important appli- cations in NC pocket machining, finite-element mesh generation, and collision-avoidance motion planning. In particular, Persson 1 shows that the skeleton structure can be employed quite effectively in NC pocket machining. Held 2 presents an algorithm that constructs the skeleton of a planar region, while discussing important issues in imple- mentation and also in NC machining applications. Both Persson 1 and Held 2 consider planar regions bounded by line segments and circular arcs, in which case the bisector curves are limited to lines and conics. To construct a skeleton or a Voronoi diagram, we need to determine an arrangement of bisector curves in the plane. This task is quite non-trivial using floating-point arithmetic, especially when the bisector curves include conics and curves of even higher degree. Lavender et al. 3 suggest a subdivision technique (based on interval arithmetic) to con- struct the global structure of a Voronoi diagram. This method is general in the sense that it can handle arbitrary set-theoretic objects in any dimensions. Hoffmann 4 applies an image-processing technique to the construction of a skeleton, which is simple to implement. Both the input region and the output skeleton are represented as digital images. For planar regions with no holes, Chou 5 suggests an algorithm that is based on a tree structure of the skeleton. The construction starts at leaf nodes and proceeds in a bottom-up fashion. Given a set of planar regions bounded by rational curves, we consider the construction of the skeletons and the Voronoi diagram of these planar regions. Once the global structure of a skeleton or a Voronoi diagram is constructed, one needs to accurately approximate the bisector curves since they are non-rational curves, in general 6 . In this paper, we focus on the issues related to the representation and construction of the bisectors of rational curves, while assuming that the global structure of a skeleton or a Voronoi diagram is provided by one of the methods 3–5 discussed above. The constructor of the bisector curve is a basic build- ing block that is crucial for the construction of a skeleton or a Voronoi diagram. Consequently, the construction of bisectors (of rational curves) has attracted considerable research attention in the past. We briefly review some representative results. Hoffmann and Vermeer 7 formulate the bisector curve in terms of a system of polynomial equations using some auxiliary variables. By eliminating these auxiliary variables, an implicit equation of the bisector curve can be obtained. However, the process of variable elimination is slow and generates an algebraic bisector curve of high degree. Hoffmann 8 also suggests using a dimensionality paradigm in which each polynomial equation is geometrically repre- sented as a hyper-surface. The bisector curve of two planar rational curves can be computed via the intersection of three hyper-surfaces in R 4 . The multiple intersection in R 4 is inefficient, compared with that of intersecting two surfaces in R 3 . Choi 9 transforms the problem of computing a bisector curve into that of intersecting two developable surfaces in R 3 . He also shows that the intersection curve of two Computer-Aided Design, Vol. 30, No. 14, pp. 1089–1096, 1998 Copyright q 1999 Elsevier Science Ltd All rights reserved. Printed in Great Britain 0010-4485/99/$ – see front matter PII: S0010-4485(98)00065-7 1089 *Corresponding author. Tel.: +972-4-829-4338; Fax: +972-4-829-4353; E-mail: [email protected] ²Department of Computer Science, Technion, Israel Institute of Technology, Haifa 32000, Israel ‡Department of Computer Science, POSTECH, Pohang 790-784, South Korea Paper Received: 16 July 1997. Revised: 26 October 1998. Accepted: 6 November 1998

Bisector curves of planar rational curves

Embed Size (px)

Citation preview

Page 1: Bisector curves of planar rational curves

Bisector curves of planarrational curvesGershon Elber†* and Myung-Soo Kim‡

This paper presents a simple and robust method for computing thebisector of two planar rational curves. We represent thecorrespondence between the foot points on two planar rationalcurvesC1ðtÞ andC2ðrÞ as an implicit curveF(t,r) ¼ 0, whereF(t,r)is a bivariate polynomial B-spline function. Given two rationalcurves of degreem in thexy-plane, the curveF(t,r) ¼ 0 has degree4m¹ 2, which is considerably lower than that of the correspondingbisector curve in thexy-plane.q 1999 Elsevier Science Ltd. Allrights reserved

Keywords: Bisector curves, Planar curves, Rational polyno-mials, Skeletons, Voronoi diagrams, Zero sets, Cutter pathgeneration, Subdivision methods

INTRODUCTION

Given a planar region bounded by freeform curve segments,the set of all interior points that have equal minimumdistance from (at least) two different boundary points iscalled the skeleton of the planar region. When wedecompose the boundary curves at each extreme curvaturepoint, the skeleton is composed of segments ofbisectorcurves, for some pair of boundary curvesCi andCj (i Þ j).Similarly, given a number of disjoint planar regions, theirVoronoi diagramis defined as the set of points which areequidistant from (at least) two different regions. TheVoronoi diagram also consists of bisector curves, forsome pairs of boundary curves of the planar regions.

The skeleton and Voronoi diagram have important appli-cations in NC pocket machining, finite-element meshgeneration, and collision-avoidance motion planning. Inparticular, Persson1 shows that the skeleton structure canbe employed quite effectively in NC pocket machining.Held2 presents an algorithm that constructs the skeleton ofa planar region, while discussing important issues in imple-mentation and also in NC machining applications. BothPersson1 and Held2 consider planar regions bounded by

line segments and circular arcs, in which case the bisectorcurves are limited to lines and conics.

To construct a skeleton or a Voronoi diagram, we need todetermine an arrangement of bisector curves in the plane.This task is quite non-trivial using floating-point arithmetic,especially when the bisector curves include conics andcurves of even higher degree. Lavender et al.3 suggest asubdivision technique (based on interval arithmetic) to con-struct the global structure of a Voronoi diagram. Thismethod is general in the sense that it can handle arbitraryset-theoretic objects in any dimensions. Hoffmann4 appliesan image-processing technique to the construction of askeleton, which is simple to implement. Both the inputregion and the output skeleton are represented as digitalimages. For planar regions with no holes, Chou5 suggestsan algorithm that is based on a tree structure of the skeleton.The construction starts at leaf nodes and proceeds in abottom-up fashion.

Given a set of planar regions bounded by rational curves,we consider the construction of the skeletons and theVoronoi diagram of these planar regions. Once the globalstructure of a skeleton or a Voronoi diagram is constructed,one needs to accurately approximate the bisector curvessince they are non-rational curves, in general6. In thispaper, we focus on the issues related to the representationand construction of the bisectors of rational curves, whileassuming that the global structure of a skeleton or a Voronoidiagram is provided by one of the methods3–5 discussedabove. The constructor of the bisector curve is a basic build-ing block that is crucial for the construction of a skeleton ora Voronoi diagram. Consequently, the construction ofbisectors (of rational curves) has attracted considerableresearch attention in the past. We briefly review somerepresentative results.

Hoffmann and Vermeer7 formulate the bisector curve interms of a system of polynomial equations using someauxiliary variables. By eliminating these auxiliary variables,an implicit equation of the bisector curve can be obtained.However, the process of variable elimination is slow andgenerates an algebraic bisector curve of high degree.Hoffmann8 also suggests using a dimensionality paradigmin which each polynomial equation is geometrically repre-sented as a hyper-surface. The bisector curve of two planarrational curves can be computed via the intersection of threehyper-surfaces inR4. The multiple intersection inR4 isinefficient, compared with that of intersecting two surfacesin R3.

Choi9 transforms the problem of computing a bisectorcurve into that of intersecting two developable surfaces inR3. He also shows that the intersection curve of two

Computer-Aided Design, Vol. 30, No. 14, pp. 1089–1096, 1998Copyright q 1999 Elsevier Science Ltd

All rights reserved. Printed in Great Britain0010-4485/99/$ – see front matterPII: S0010-4485(98)00065-7

1089

*Corresponding author. Tel.: +972-4-829-4338; Fax: +972-4-829-4353;E-mail: [email protected]†Department of Computer Science, Technion, Israel Institute ofTechnology, Haifa 32000, Israel‡Department of Computer Science, POSTECH, Pohang 790-784, SouthKoreaPaper Received: 16 July 1997. Revised: 26 October 1998. Accepted: 6November 1998

Page 2: Bisector curves of planar rational curves

developable surfaces can be computed in an efficient androbust way. Nevertheless, it is non-trivial to implement thealgorithm of Choi9. Recently, Heoet al.10 suggested asimple algorithm that can intersect two ruled surfacesefficiently and robustly, while dealing with all possibledegenerate cases. Since developable surface is a specialtype of ruled surface, we may apply this result to thebisector problem.

Farouki and Johnstone11 show that the bisector of a pointand a rational curve in the same plane is a rational curve.Given two planar rational curves, Farouki and Johnstone6

interpret the bisector as the envelope curve of a one-parameter family of rational point/curve bisectors. Thecurve/curve bisector is non-rational, in general. Therefore,Farouki and Johnstone6 approximate the bisector curve witha sequence of discrete points. Farouki and Ramamurthy12

develop a more precise algorithm that approximates thebisector curve with a sequence of curve segments. Theapproximation error can be reduced within an arbitrarybound by adaptive refinement.

To generate each point on a curve/curve bisector, the twoalgorithms6,12 construct a point/curve bisector and thenintersect it with a line. Untrimmed point/curve bisectorsare easy to construct11. The intersection points are computednumerically by solving polynomial equations of degree3n¹ 1 or 4n ¹ 2 for polynomial or rational input curvesof degreen6. Approximation error is also estimated numeri-cally12. The numerical nature of the procedures makesthe algorithms computationaly intensive. Nevertheless, thealgorithm of Farouki and Ramamurthy12 is robust in thesense that it will never miss small loops provided that allnumerical computations are carried out with sufficient pre-cision (see also the Ph.D. thesis of Ramamurthy13 for moredetails and other related results). In fact, the algorithm12

provides a robust bisector construction for arbitrary planarcurves, not limited to rational curves. On the other hand, nosymbolic processing is applied to input curves and the entirebisector curve has no closed-form representation.

In this paper, we suggest a new (symbolic) representationscheme for planar bisector curves, which allows an efficientand robust implementation of a bisector curve constructionbased on B-spline subdivision techniques. A priority isgiven to the development of a method that is simple,while robustness is drawn from the B-spline representa-tion’s subdivision and convex hull containment properties.All the algorithms and examples presented in this paperwere implemented and created with the aid of tools avail-able in the IRIT14 solid modeling system, developed at theTechnion, Israel.

The rest of this paper is organized as follows. In thesecond section, we outline the basic approach of thispaper. The third section presents three different methodsto compute the bivariate functions,F i(t,r) (i ¼ 1, 2, 3).The zero-set of each functionF i(t,r) defines the bisectorcurve of two rational curves in the plane. Some experimentalresults are demonstrated in the fourth section. Finally, in thefifth section, we conclude the paper.

BASIC IDEA

Given two planar curvesC1(t) and C2(r) represented inpolynomial/rational forms, we symbolically compute abivariate polynomial functionF(t,r), the zero-set of which:F(t,r) ¼ 0, corresponds to the bisector curve. Theformulation ofF(t,r) is based on a symbolic substitution of

polynomial/rational functions oft and r into a simplepolynomial expression, in thetr-plane. In contrast to this,the conventional approach7 generates the bisector as animplicit algebraic curve in thexy-plane by eliminating someauxiliary variables, which takes more computation time.Moreover, the implicit curve equation thus generated has amuch higher degree.

The zero-set ofF(t,r) ¼ 0 is an implicit algebraic curve inthe tr-plane. In general, tracing along an implicit curve is anon-trivial task. That is, it is difficult to detect how manydisconnected components an implicit curve has and then togenerate a starting point for tracing along each connectedcomponent. Consequently, it is difficult to develop a robustalgorithm based on a direct curve tracing. In this paper, wetake a subdivision-based approach which guarantees therobustness of our algorithm.

Given a bivariate B-spline polynomial functionF(t,r), weconsider its graph surfaceSðt, rÞ ¼ (t,r,F(t,r)) as a poly-nomial B-spline surface. The extraction of the zero-set ofF(t,r) ¼ 0 can be computed quite efficiently and robustlyusing the subdivision and the convex hull containmentproperties of the B-spline representation. That is, we sub-divide a B-spline surfaceS into four subpatches (i.e., the(t,r)-domain ofS is subdivided into four subdomains). Then,the control points of each subpatch are tested as to whetherthey are above or below thetr-plane. We purge away allsubpatches that are found to be completely above orcompletely below thetr-plane and recursively subdividethe remaining subpatches.

The main computational overhead of this method stemsfrom the subdivision of the B-spline functionF(t,r).Therefore, it is quite important to generate the lowest degreeB-spline functionF(t,r) the zero-set of which contains thebisector curve. In this paper, we suggest three differentmethods to generate such a B-spline function. A zero-setmay contain some redundant bisector curve segments. How-ever, we will pay no attention to the elimination ofthese redundancies since this elimination is much easierwhen we use the global structures available from someother methods3,4.

BIVARIATE FUNCTIONS

Let C1ðtÞ ¼ ðx1ðtÞ,y1ðtÞÞ and C2(r) ¼ (x2(r),y2(r)) be twoplanar regular rational curves withC1-continuity. In thissection, we consider different ways of deriving the bivariatefunctionsF i(t,r) so that their zero-sets contain the bisectorcurve ofC1(t) andC2(r). We also describe how to constructthe bisector curve itself when such a zero-set is available.

Function F1(t,r)

Let N1(t) ¼ ( ¹ y19(t), x19(t)) and N2(r) ¼ ( ¹ y29(r), x29(r))denote theunnormalizednormal fields ofC1(t) and C2(r),respectively. The intersection point of the normal lines ofC1(t) andC2(r) is given as follows:

C1(t) þ N1(t)a ¼ C2(r) þ N2(r)b,

for somea andb. We then have the following two equationsin two unknowns,a andb:

x1(t) ¹ y19(t)a ¼ x2(r) ¹ y29(r)b,

y1(t) þ x19(t)a ¼ y2(r) þ x29(r)b:

Bisector curves of planar rational curves: G Elber and M-S Kim

1090

Page 3: Bisector curves of planar rational curves

Using Cramer’s rule, we obtain the solutions ofa andb asbivariate rational functions:

a ¼ a(t, r) ¼

x2(r) ¹ x1(t) y29(r)

y2(r) ¹ y1(t) ¹ x29(r)

����������

¹ y19(t) y29(r)

x19(t) ¹ x29(r)

����������

, (1)

b ¼ b(t, r) ¼

¹ y19(t) x2(r) ¹ x1(t)

x19(t) y2(r) ¹ y1(t)

����������

¹ y19(t) y29(r)

x19(t) ¹ x29(r)

����������

:

The two bivariate functionsa(t,r) and b(t,r) provide abivariate parameterization of the intersection point:

P(t, r) ¼ C1(t) þ N1(t)a(t, r) ¼ C2(r) þ N2(r)b(t, r):For P(t,r) to be on the bisector curve ofC1(t) andC2(r), itmust be at an equal distance fromC1(t) andC2(r):

kP(t, r) ¹ C1(t)k¼ k(C1(t) þ N1(t)a(t, r)) ¹ C1(t)k¼ k(C2(r)þ N2(r)b(t, r)) ¹ C2(r)k¼ kP(t, r) ¹ C2(r)k,

which immediately reduces to

kN1(t)a(t, r)k¼ kN2(r)b(t, r)k:By squaring this equation and substitutinga(t,r) andb(t,r)from eqn (1) into the resulting equation, we get

0¼ 〈N1(t), N1(t)〉a(t, r)2 ¹ 〈N2(r), N2(r)〉b(t, r)2

¼ 〈N1(t), N1(t)〉

x2(r) ¹ x1(t) y29(r)

y2(r) ¹ y1(t) ¹ x29(r)

����������2

¹ y19(t) y29(r)

x19(t) ¹ x29(r)

����������2

¹ 〈N2(r), N2(r)〉

¹ y19(t) x2(r) ¹ x1(t)

x19(t) y2(r) ¹ y1(t)

����������2

¹ y19(t) y29(r)

x19(t) ¹ x29(r)

����������2 : ð2Þ

Even if the two curves are regular, the denominator of eqn (2)would vanish when the tangents/normals of the two curvesbecome parallel or opposite at some parameter values oft andr. Geometrically speaking, this condition implies that the twonormal lines are parallel. Two parallel lines in the plane mayhave no intersection or otherwise they completely overlap.Assume thatN1(t) andN2(r) are neither parallel nor opposite.Then, the denominator of eqn (2) cannot vanish and thezero-set constraint resulting from eqn (2) reduces to:

0¼ F 1(t, r) ¼ 〈N1(t), N1(t)〉x2(r) ¹ x1(t) y29(r)

y2(r) ¹ y1(t) ¹ x29(r)

����������2

¹ 〈N2(r), N2(r)〉¹ y19(t) x2(r) ¹ x1(t)

x19(t) y2(r) ¹ y1(t)

����������2

¼ x921(t) þ y92

1(t)ÿ �

(x1(t) ¹ x2(r))x29(r) þ (y1(t)ÿ

¹ y2(r))y29(r)�2

¹ x922(r) þ y92

2(r)ÿ �

(x1(t) ¹ x2(r))x19(t) þ (y1(t) ¹ y2(r))y19(t)ÿ �2

: ð3Þ

The solution of eqn (3) represents the set of all pairs of curvepoints onC1(t) and C2(r) that share a bisector point. Thecorresponding points onC1(t) andC2(r) are called thefootpointsof the bisector point.

Note that eqn (3) is equivalent to eqn (2) under the con-dition that the tangents/normals of the two curves are neitherparallel nor opposite. When the two tangents/normals areparallel or opposite, eqn (2) is undefined. Nevertheless, evenin this case, eqn (3) is well defined and satisfies the conditionof F1(t,r) ¼ 0. In fact, eqn (3) has the following component:

x19(t)y29(r) ¹ x29(r)y19(t) ¼ 0, (4)

which implies that the tangents/normals of the curves areparallel or opposite. Note that the solutions of eqn (4)generate bisector points at infinity when the two normallines of the curves are parallel, but do not overlap eachother. Moreover, when the normal lines overlap in the sameline, the pair (t,r) for a bisector point (in the real, affine plane)must satisfy the following two additional constraints:

x19(t)(x1(t) ¹ x2(r)) þ y19(t)(y1(t) ¹ y2(r)) ¼ 0, (5)

x29(r)(x1(t) ¹ x2(r)) þ y29(r)(y1(t) ¹ y2(r)) ¼ 0:

Among the solutions of eqn (4), only the common solutionswith eqn (5) contribute to the bisector curve.

Function F2(t,r)

Eqn (3) can also be derived based on a different geometricinterpretation. The bisector point,P(t,r), of two curvesC1(t)and C2(r) satisfies the following angular relationship (seeFigure 1):

C1(t) ¹ C2(r), ~T1(t)D E

¼ C2(t) ¹ C1(r),g~T2(r)D E

,

whereg is either ¹ 1 or þ 1, and~Ti denotes aunit tangentvector. By squaring both sides of this equation, we get

0¼ C1(t) ¹ C2(r), ~T1(t)D E� �2

¹ C2(t) ¹ C1(r),g~T2(r)D E� �2

¼〈C1(t) ¹ C2(r), T1(t)〉

kT1(t)k

� �2

¹〈C1(t) ¹ C2(r), T2(r)〉

kT2(r)k

� �2

¼(x1(t) ¹ x2(r))x19(t) þ (y1(t) ¹ y2(r))y19(t)ÿ �2

x921(t) þ y92

1(t)

¹(x1(t) ¹ x2(r))x29(r) þ (y1(t) ¹ y2(r))y29(r)ÿ �2

x922(r) þ y92

2(r), ð6Þ

Bisector curves of planar rational curves: G Elber and M-S Kim

1091

Figure 1 The bisector,C12(t,r), of two curves,C1(t) and C2(r), con-structed from the equiangular relationship between the vector6 (C1(t)¹ C2(r)) and the two unit normals,~N1(t) and ~N2(r), or the vector6 (C1(t)¹ C2(r)) and the two unit tangents,~T1(t) and ~T2(r)

Page 4: Bisector curves of planar rational curves

where T1(t) ¼ (x19(t), y19(t)) and T2(r) ¼ (x29(r), y29(r))denote theunnormalizedtangent fields ofC1(t) andC2(r),respectively. Since the two curvesC1(t) and C2(r) areregular, we have

(x921(t) þ y92

1(t))(x922(r) þ y92

2(r)) Þ 0: (7)

Thus, eqn (6) is equivalent to eqn (3).Eqn (6) actuallymatchesthe points onC1(t) andC2(r) in

such a way that the two angles between the line through bothC1(t) andC2(r) and the two tangents of the curves are equal.This set of matching points forms a superset of the realbisector curve since there are two different tangent direc-tions for each curve. Therefore, eqn (6) has a redundantcomponent that is not on the real bisector curve. Note thatall (t,r)-pairs corresponding to parallel/opposite curve tan-gents also satisfy eqn (6) even if the tangents of the curvesare not orthogonal to the difference vectorC1(t) ¹ C2(r).Hence, the redundant component of eqn (6) is exactly thesame as the curve component given in eqn (4). In fact, this isalso an immediate consequence from the equivalence of eqn(3) and eqn (6).

An alternative solution to the bisector of two planarcurves can be formulated by equalizing the angles betweenthe normalsof the two curves instead of their tangents:

0¼ F 2(t, r) ¼ C1(t) ¹ C2(r), ~N1(t)D E2

¹ C1(t) ¹ C2(r), ~N2(r)D E2

:

When we multiply this equation with the term in eqn (7), weget

0¼ F 2(t, r) ¼ (x921(t) þ y92

1(t))(x922(r) þ y92

2(r))F2(t, r):

While F2 is a rational function, it should be pointed out thatF2 is a polynomial function when bothC1(t) andC2(r) arepolynomial curves.

Function F3(t,r)

The bisector curve of two rational curves inR2 is non-rational, in general. Quite surprisingly, Elber and Kim15

showed that the bisector surface of two rational space curvesin R3 is indeed a rational surface, except for the degeneratecase in which the two space curves are coplanar. They alsopresented a constructive algorithm for the rational para-meterization of the bisector surface. In this subsection, weshow that the constraints for constructing the rationalbisector surface inR3 can be reduced to the formulation of abivariate rational function, the zero-set of which defines thebisector of two planar curves.

Given two space curvesC1(t) andC2(r) in R3, Elber andKim 15 formulated the following three (linear inQ) condi-tions that a bisector pointQ must satisfy:

〈Q¹ C1(t), C19(t)〉 ¼ 0, (8)

〈Q¹ C2(r), C29(r)〉 ¼ 0, (9)

Q¹C1(t) þ C2(r)

2,C1(t) ¹ C2(r)

� �¼ 0: (10)

The first two conditions of eqns (8) and (9) imply that thevector from each curve to the bisector point is orthogonal tothe tangent of the curve at the foot point. In other words, thebisector point must lie in the normal plane of the curve atthe foot point. The last condition of eqn (10) implies that the

bisector pointQ must be at an equal distance from the twofoot points.

When the two curvesC1(t) andC2(r) are non-coplanar inR3, the three vectors:C19(t), C29(r) andC1(t) ¹ C2(r), arelinearly independent, in general. These three vectors formthree rows in the following matrix of linear equations for thepoint Q ¼ (x,y,z) to satisfy:

C19(t)

C29(r)

C1(t) ¹ C2(r)

26643775

x

y

z

26643775¼

〈C1(t), C19(t)〉〈C2(r), C29(r)〉

kC1(t)k2 ¹ C2(r)k2

2

266664377775

Therefore, the pointQ has a well defined solution for thisequation. Using Cramer’s rule, we can symbolically solvethis equation forQ ¼ (x,y,z) and generate a rational bisectorsurfaceQ(t,r) (see also Ref. 15).

In the case of two planar curvesC1ðtÞ¼ ðx1ðtÞ, y1ðtÞÞ andC2ðrÞ ¼ ðx2ðrÞ, y2ðrÞÞ, the three vectors:C19(t), C29(r) andC1(t) ¹ C2(r), are always linearly dependent. When the twotangentsC19(t) andC29(r) are neither parallel nor opposite,the pointP ¼ (x,y) on the intersection of the two normallines of the two curves has a unique symbolic solution forthe following matrix equation:

C19(t)

C29(r)

" #x

y

" #¼

〈C1(t), C19(t)〉〈C2(r), C29(r)〉

" #(11)

Using Cramer’s rule, we can generate a planar bivariaterational surface:Pðt, rÞ ¼ (x(t,r),y(t,r)), which is embeddedin the xy-plane:

x(t, r) ¼

x1(t)x19(t) þ y1(t)y19(t) y19(t)

x2(r)x29(r) þ y2(r)y29(r) y29(r)

����������

x19(t) y19(t)

x29(r) y29(r)

����������

, (12)

y(t, r) ¼

x19(t) x1(t)x19(t) þ y1(t)y19(t)

x29(r) x2(r)x29(r) þ y2(r)y29(r)

����������

x19(t) y19(t)

x29(r) y29(r)

����������

Each surface pointP(t,r) is evaluated as the intersectionpoint of the two normal lines ofC1(t) andC2(r), respectively.

For a pointP(t,r) to be on the bisector curve, this pointmust satisfy the equidistance condition of eqn (10). By sub-stituting the above rational solutionPðt, rÞ ¼ (x(t,r),y(t,r))into eqn (10), we get the following bivariate rationalfunction the zero-set of which corresponds to the bisectorcurve:

0¼ F3(t, r) ¼ P(t, r) ¹C1(t) þ C2(r)

2,C1(t) ¹ C2(r)

� �:

(13)

The denominator ofP(t,r) is x19(t)y29(r) ¹ x29(r)y19(t),which is the same as the redundant component of eqn (4).By multiplying this term to eqn (13), we get

0¼ F3(t, r) ¼ (x19(t)y29(r) ¹ x29(r)y19(t))F3(t, r):

Clearly,F3(t,r) is a polynomial function when bothC1(t) andC2(r) are polynomial curves. Note that the term

Bisector curves of planar rational curves: G Elber and M-S Kim

1092

Page 5: Bisector curves of planar rational curves

x19(t)y29(r) ¹ x29(r)y19(t) is not a factor ofF3(t,r) since it isthe denominator ofF3(t, r). However, F1(t,r) and F2(t,r)always contain this term as a redundant factor, whichcorresponds to the bisector points at infinity.

Degree comparison

The bisector curve ofC1(t) and C2(r) is a non-rationalalgebraic curve, in general12. For a planar pointP ¼ (x,y) tobe on the bisector ofC1(t) andC2(r), this point must satisfythe three constraints of eqns (8)–(10). The conventionalapproach of Hoffmann and Vermeer7 eliminates auxiliaryvariables t and r from the simultaneous system ofpolynomial equations. Then, the bisector curve is obtainedas an implicit algebraic equation ofx andy. The eliminationprocess requires considerable memory space and producesan implicit algebraic equation of high degree. By contrast,and as we proposed here, it is an easier task tomatchthe corresponding foot points on the two curvesC1(t) andC2(r).

We have shown that the bivariate functionsF i(t,r) (i ¼ 1,2, 3) can be symbolically computed and represented as apolynomial or rational function. By employing only thenumerator of each rational functionF i(t,r), all the matchingpoints can be represented as the zero-set of a bivariate poly-nomial function of moderate degree. Given two planar poly-nomial curvesC1(t) and C2(r) of degreem, the resultingfunction F i (i ¼ 1, 2) is a polynomial of degree:

2(mþ (m¹ 1)) þ 2(m¹ 1) ¼ 6m¹ 4, (14)

andF3 is a polynomial function of degree:

2mþ 2(m¹ 1) ¼ 4m¹ 2, (15)

since the numerator and denominator ofP(t,r) are of poly-nomial degree 3m ¹ 2 and 2m ¹ 2, respectively [see eqn(12)]. [Note that the difference in the degrees of eqns (14)and (15) is 2m ¹ 2, which is the degree of the redundantfactor x19(t)y29(r) ¹ x29(r)y19(t) of F1(t,r) and F2(t,r).] Fortwo cubic polynomial curvesC1(t) andC2(r) (i.e., m ¼ 3),the degree ofF i (i ¼ 1, 2) is 14, and that ofF3 is 10, whichare moderate degrees to handle, in practice.

It would be quite interesting to compare the degree ofF3(s,t) that with of the corresponding bisector curve in thexy-plane. To the best of the authors’ knowledge, there hasbeen no previous result that can estimate the exact algebraicdegree of such a bisector curve in thexy-plane. In the case of

low-degree curvesC1(t) and C2(r) of degreesm1 and m2,respectively (1# m1 # 3 and 1 # m2 # 6), usingMathematica16, we have observed that the bisector curvein the xy-plane is an algebraic curve of degree 7m1m2 ¹3(m1 þ m2) þ 1, which is also irreducible over rationalcoefficients. For two cubic curves, the degree is thus 46,which is considerably higher than the degree 10 ofF3(t,r).We also tried to compute the bisector curve (in thexy-plane)of higher degree curves (e.g.,m1,m2 $ 4). However, wehave not been successful in getting a result due to the lackof memory space in computing Sylvester resultantsemployed in the variable elimination procedure. Conse-quently, memory efficiency also justifies our approach.

Computing bisector points

Let C1(t) and C2(r) be two matching foot points for abisector pointP(t,r). Then the normal lines ofC1(t) andC2(r) intersect at the bisector pointP(t,r). Each point in thezero-set ofF i(t,r) ¼ 0, i ¼ 1, 2, 3, corresponds to a pairðC1ðtÞ,C2(r)) of matching foot points and thus to a bisectorpoint Pðt, rÞ ¼ (x(t,r)),y(t,r)) that can be computed bysolving the following matrix equation:

C19(t)

C29(r)

" #x(t, r)

y(t, r)

" #¼

〈C1(t), C19(t)〉〈C2(r), C29(r)〉

" #(16)

EXPERIMENTAL RESULTS

The computation of the bivariate functionsF i(t,r) is quitesimple and efficient. Using symbolic tools to compute thesummation, difference and product of (piecewise)polynomial/rational forms17, we can derive (piecewise)polynomial/rational functions representing the functionsF i(t,r). Figure 2 shows a simple example of the bisectorcomputation for a line and quadratic curve. The two sepa-rated segments in the zero-set ofF1(t,r) in Figure 2(b) aremapped back into the bisector curve segments inR2 asshown in Figure 2(a). Note that theith segment of thezero-set inFigure 2(b) corresponds to theith bisectorcurve segment,Ci

12(t, r), in Figure 2(a). We follow a similarconvention in most other examples, too.Figure 3(a) showsthe bisector curve of two quadratic Be´zier curve segments.In Figures 3(b)and3(c), the functionsF1(t, r) andF3(t, r) are

Bisector curves of planar rational curves: G Elber and M-S Kim

1093

Figure 2 Bisector curve segments (in gray),Ci12(t, r), (i ¼ 1, 2), between a quadratic Be´zier curve,C1(t), and a linear Be´zier curve,C2(r): (a) the planar curves;

(b) the functionF1(t,r) and its zero-set. Theith segment of the zero-set in (b) corresponds toCi12(t, r) in (a). In (a), thin lines are used to match the foot points; we

follow a similar convention in most of the following figures of this paper. Note that only curve–curve bisectors are shown, purging point–point and point–curve bisectors

Page 6: Bisector curves of planar rational curves

shown along with their zero-sets. In all figures of this paper,we show curve–curve bisectors only. Point–point andpoint–curve bisectors are easy to compute since they haveclosed-form representation11.

Note that the fourth segmentC412(t, r) is not shown in

Figure 3(a) since all (but one) points on this segmentappear at infinity in thexy-plane [see the discussion beloweqn (4)]. The intersection point of the first and fourth com-ponents inFigure 3(b) generates a bisector point in the real,affine xy-plane, which is already in the first segmentC1

12(t, r). Therefore, the fourth component ofFigure 3(b)is redundant.

The three major construction steps in computing abisector curve are: (1) formulating a bivariate polynomialfunction F i(t, r), (2) computing the zero-set ofF i(t,r) ¼ 0,and (3) generating bisector points from pairs (C1(t),C2(r)) ofmatching foot points. According to our experimental results,all three steps were found to be reasonably efficient. Thesymbolic computation ofF i(t,r) took from a fraction of asecond to a few seconds on a high-end workstation for allthe examples demonstrated in this paper. The zero-set find-ing of F i(t,r) ¼ 0 and the generation of bisector points tookfrom several seconds to a minute. All the experiments werecarried out on a 200 MHz R4400 SGI machine using theIRIT 14 modeling environment.

The zero-set finding is essentially a computationalprocedure that requires finding all the points along the inter-section curve between the graph surfaceS iðt, rÞ ¼ ðt, r, F i(t,r))and the tr-plane, which is a special case of the surfacesurface intersection (SSI) problem. Note that there arenumerous research results for the SSI problem reported inthe literature. Among them, subdivision-based methods pro-duce the most reliable and robust solutions, in general. Theyare usually slower than other sophisticated methods basedon curve tracing. Quite often, other methods also use a

preprocessing step that is based on subdivision. In thispaper, due to robustness consideration, we used an adaptivesubdivision-based scheme for finding the zero-set ofF i(t,r) ¼0. As we have observed above, using this method, less than oneminute was required to construct each of the examplesdemonstrated in this paper. Therefore, the gain in robustnessjustifies our approach.

This robust adaptive subdivision approach depends on anability to represent the bivariate functionsF i(t,r) symboli-cally. By searching for the extreme control points of eachsurface subregion during the subdivision, and exploiting theconvex hull property of the Be´zier and B-spline representa-tions, we can efficiently extract the surface subregions thatintersect with thetr-plane. When the remaining surfacepatches become sufficiently flat, we approximate thesesurface patches with polygons (in thetrF i-space). Theintersection of these polygons with thetr-plane provides apolygonal approximation of the zero-set ofF i(t,r) ¼ 0. Weapplied a numerical improvement procedure (based on localNewton–Raphson steps) to a piecewise linear approxima-tion of the zero-set. Final results have very high precision,with typical tolerances of six orders of magnitude.

The degree of each functionF i(t,r) is higher than the twooriginal curves. For two quadratic curves,F1(t,r) andF2(t,r)are of degree (8,8), whereasF3(t,r) has degree (6,6). For twocubic curves, the degrees ofF1(t,r) andF2(t,r) are (14,14),whereasF3(t,r) has degree (10,10) [see eqns (14) and (15)].These degrees are not very high. In fact, we haveexperienced no practical limitation in computing the zero-sets of these functions.

It is interesting to note that we can also compute thebisector of a curve with itself, or the self-bisector. Byusing the same curveC1(t) ; C2(r) in the formulation ofF i(t, r), we can compute the desired function, the zero-set ofwhich provides the self-bisector curve.Figures 4 and 5

Bisector curves of planar rational curves: G Elber and M-S Kim

1094

Figure 3 Bisector curve segments (in gray),Ci12(t, r), (i ¼ 1, 2, 3, 4), between two quadratic Be´zier curves,Cj(t) (j ¼ 1, 2): (a) the planar curves; (b) the

functionF1(t,r) and its zero-set; (c) the functionF3(t,r) and its zero-set. The fourth segmentC412(t, r) is not shown in (a) since it is approaching infinity, being a

bisector between points with colinear normals

Figure 4 Self-bisector curve (in gray) of a quadratic B-spline curve with seven control points: (a) the planar curves; (b) the functionF1(t,r) and its zero-set.Note the (anti)symmetry inF1(t, r) with respect to the diagonal. Only the solution ofF1(t, r) ¼ 0 belowthe diagonal oft ¼ r needs to be considered

Page 7: Bisector curves of planar rational curves

show two such examples for a quadratic Be´zier curve and acubic Bezier curve, respectively. SinceC1(t) andC2(r) are,in fact, the same curve, the resulting functions are (anti)-symmetric with respect to the diagonal,t ¼ r, of theparametric domain ofF i(t,r). In addition, the diagonalitself is a valid, yet degenerated, solution for the bisector!This fact manifests itself as a wide, almost horizontaldomain near the diagonal:t ¼ r. Clearly, the zero-setextracted along this diagonal should be ignored, takinginto consideration only the solutionbelow (or above) thediagonalt ¼ r due to the symmetry. Alternatively,F i(t,r)

can be divided by (t ¹ r) to the proper power to eliminate theartificial zero-set along the diagonal.

Finally, Figures 6 and 7 show more examples of thebisector for a cubic B-spline curve and a line, and thebisector of two quadratic curves, respectively.

CONCLUSION

We have presented a new representation scheme for thebisector of two planar curvesC1(t) andC2(r). The bisector

Bisector curves of planar rational curves: G Elber and M-S Kim

1095

Figure 5 Self-bisector curve (in gray) of a cubic B-spline curve with seven control points: (a) the planar curves; (b) the functionF1(t,r) and its zero-set. Notethe (anti)symmetry inF1(t,r) ¼ 0 with respect to the diagonal. Only the solution ofF1(t,r) below the diagonal oft ¼ r needs to be considered

Figure 6 Bisector curve (in gray) between a cubic B-spline curve with 11 control pointsC1(t) and a linear curveC2(r): (a) the planar curves; (b) the zero-setfunction

Figure 7 Bisector curve (in gray),Ci12(t, r), (i ¼ 1, 2, 3), between two quadratic Be´zier curves,Cj(t) (j ¼ 1, 2): (a) the planar curves; (b) the functionF1(t, r)

and its zero-set

Page 8: Bisector curves of planar rational curves

curve is represented as a zero-set,F i(s,t) ¼ 0, of a bivariatepolynomial function int andr; namely, as an implicit curvein the tr-plane (instead of a curve in thexy-plane). Thistr-representation is considerably simpler and more efficient tocompute than the conventional representation scheme ofbisector curves in thexy-plane7.

Another important advantage of the approach proposed inthis paper stems from the ability to apply the same basicstrategy to bisector computation for higher dimensionalvarieties. We are currently investigating this generalization.

ACKNOWLEDGEMENTS

This research was supported in part by the KoreanMinistry of Science and Technology under Grant 97-NS-01-05-A-02-A of STEP 2000, by KOSEF (Korea Scienceand Engineering Foundation) under Grant 96-0100-01-01-2,and by the Fund for Promotion of Research at the Technion,Haifa, Israel. The authors would like to thank anonymousreferees for their invaluable comments.

REFERENCES

1. Persson, H., NC machining of arbitrarily shaped pockets. Computer-Aided Design, 1978,10(3), 169–174.

2. Held, M., On the computational geometry of pocket machining.Lecture Notes in Computer Science, Vol. 500. Springer-Verlag,Berlin, 1991.

3. Lavender, D., Bowyer, A., Davenport, J., Wallis, A. and Woodwark,J., Voronoi diagrams of set-theoretic solid models. IEEE ComputerGraphics and Applications, 1992,12(5), 69–77.

4. Hoffmann, C., Computer vision, descriptive geometry, and classicalmechanics. In Computer Graphics and Mathematics, ed. B.Falcidieno, I. Herman and C. Pienovi. Springer-Verlag, Berlin,1992, pp. 229–243. Also available asTechnical Report, CSD-TR-91-073, Computer Sciences Department, Purdue University, October1991.

5. Chou, J., Voronoi diagrams for planar shapes. IEEE ComputerGraphics and Applications, 1995,15(2), 52–59.

6. Farouki, R. and Johnstone, J., Computing point/curve and curve/curvebisectors. In Design and Application of Curves and Surfaces:Mathematics of Surfaces V, ed. R. B. Fisher. Oxford UniversityPress, 1994, pp. 327–354.

7. Hoffmann, C. and Vermeer, P., Eliminating extraneous solutions incurve and surface operation. International Journal of ComputationalGeometry and Applications, 1991,1(1), 47–66.

8. Hoffmann, C., A dimensionality paradigm for surface interrogations.Computer Aided Geometric Design, 1990,7(6), 517–532.

9. Choi, J.-J., Local canonical cubic curve tracing along surface/surfaceintersections. Ph.D. thesis, Department of Computer Science, POST-ECH, Pohang, South Korea, February 1997.

10. Heo, H.-S., Kim, M.-S. and Elber, G., The intersection of two ruledsurfaces.Computer-Aided Design, in press.

11. Farouki, R. and Johnstone, J., The bisector of a point and plane para-metric curve. Computer Aided Geometric Design, 1994,11(2), 117–151.

12. Farouki, R. and Ramamurthy, R., Specified-precision computation ofcurve/curve bisectors.International Journal of ComputationalGeometry and Applications, 1998,8(5/6).

13. Ramamurthy, R., Voronoi diagrams and medial axes of planardomains with curved boundaries. Ph.D. thesis, Department ofMechanical Engineering, The University of Michigan, Ann Arbor,MI, 1998.

14. Elber, G., IRIT 7.0a User’s Manual. Technion, 1996. http://www.cs.technion.ac.il/~irit.

15. Elber, G. and Kim, M.-S., The bisector surface of rational spacecurves. ACM Transactions on Graphics, 1998,17(1), 32–49.

16. Wolfram, S.,Mathematica, 2nd edn. Addison-Wesley, CA, 1991.17. Elber, G. and Cohen, E., Second order surface analysis using hybrid

symbolic and numeric operators. ACM Transactions on Graphics,1993,12(2), 160–178.

Gershon Elber is an associateprofessor in the Computer ScienceDepartment at Technion in Haifa,Israel. He received a BS in computerengineering and an MS in computerscience from Technion in 1986 and1987 respectively, and a PhD incomputer science from the Universityof Utah in 1992. His researchinterests include computer aidedgeometric design and computergraphics. He is a member of ACM

and IEEE. E-mail: [email protected]

Myung-Soo Kim is an associateprofessor in computer science atPOSTECH, Korea. He received a BSand MS in Mathematics from SeoulNational University, Korea, in 1980and 1982, respectively. He alsoreceived MS degrees in appliedmathematics (1985) and computerscience (1987) from PurdueUniversity, where he completed hisPhD in computer sciences in 1988.His research interests include

geometric modeling, computer graphics, and computer animation.E-mail: [email protected]

Bisector curves of planar rational curves: G Elber and M-S Kim

1096