<<

Pattern Recognition, Vol. 31, No. 5, pp. 607—622, 1998 ( 1998 Pattern Recognition Society. Published by Elsevier Science Ltd All rights reserved. Printed in Great Britain 0031—3203/98 $19.00#.00

PII: S0031-3203(97)00071-X SUPPORTEDNESS AND TAMENESS DIFFERENTIALLESS GEOMETRY OF PLANE

LONGIN JAN LATECKI* and AZRIEL ROSENFELDRS * Department of Computer Science, University of Hamburg, Vogt-Ko¨ lln-Str. 30, 22527 Hamburg, Germany R Center for Automation Research, University of Maryland, College Park, MD 20742-3275, U.S.A.

(Received 26 November 1996; accepted 19 June 1997)

Abstract—We introduce a class of planar arcs and curves, called tame arcs, which is general enough to describe (parts of) the boundaries of planar real objects. A tame arc can have smooth parts as well as sharp (non-differentiable) corners; thus a polygonal arc is tame. On the other hand, this class of arcs is restrictive enough to rule out pathological arcs which have infinitely many inflections or which turn infinitely often: A tame arc can have only finitely many inflections, and its total absolute turn must be finite. In order to relate properties of discrete objects obtained by segmenting digital images to the corresponding properties of their continuous originals, the theory of tame arcs is based on concepts that can be directly transferred from the continuous to the discrete domain. A tame arc is composed of a finite number of supported arcs. We define supported digital arcs and motivate their definition by the fact that they can be obtained by digitizing continuous supported arcs. Every digital arc is tame, since it contains a finite number of points, and therefore it can be decomposed into a finite number of supported digital arcs. ( 1998 Pattern Recognition Society. Published by Elsevier Science Ltd. All rights reserved

Plane curves Supporting lines Supported arcs Tame arcs Digital arcs

1. INTRODUCTION sets. In this paper we will define these shape concepts using geometrical concepts that can be also applied to Any model for a class of real objects should, on the discrete spaces. one hand, be able to reflect relevant shape properties The class of continuous planar arcs and curves is of the objects as exactly as possible; on the other hand, very large; it includes many ‘‘pathological’’ examples it should be mathematically tractable. For example, it such as the ‘‘space-filling’’ curves of Peano and the does not make much sense to model the class of nowhere differentiable ‘‘snowflake’’ of Sier- boundaries of two-dimensional (2D) projections of pinski. Requiring the arcs and curves to be differ- real objects as all possible curves in the plane. This entiable is too restrictive, since this excludes polygons, class is too general; it includes curves with very un- which are not differentiable at their vertices. A natural properties—e.g. plane-filling curves. somewhat better idea is to require differentiability at It should also be possible to relate shape properties all but a finite number of points, but this is not of the 2D projections of real objects to properties of restrictive enough, because it allows arcs that can the discrete objects obtained by segmenting their oscillate infinitely many times [e.g. the graph of the digital images. In pattern recognition, the properties function x sin(1/x), shown in Fig. 1(a)] or turn infi- of discrete objects that are measured using digital nitely often [e.g. the inward-turning spiral illustrated algorithms are assumed to represent properties of the in Fig. 1(b)]. original objects. This paper defines classes of continuous planar arcs For these reasons, in this paper, we will not use the and curves that include polygonal arcs and polygons, classical tools of differential geometry to describe but exclude the pathological cases. Our definitions are boundary curves of planar sets. Differential geometry based on the concept of a supporting line of a set S—a is based on the concept of a derivative, which requires line l through a point of S such that S lies in one of the the calculation of limits of infinite sequences. This closed half-planes bounded by l. We call a set S sup- calculation cannot be transferred into a discrete space. ported if there is at least one supporting line through Nevertheless, it is clear that many concepts of differ- every point of S. It can be shown (Section 2) that ential geometry, such as curvature, characterize im- a closed, bounded, connected S is supported iff S is (an portant shape properties of boundary curves of planar arc of) the boundary of a convex set. The concept of a supporting hyperplane (in particular, a supporting line) is a fundamental tool in the theory of convex S Author to whom correspondence should be addressed. functions, which is a part of convex analysis. As

607 608 L. J. LATECKI and A. ROSENFELD

Fig. 1. (a) The graph of the function x sin(1/x). (b) An inward-turning spiral that turns infinitely often.

pointed out 25 years ago by Rockafellar() (p. XVI), differentiable arcs. We also give alternative character- ‘‘Supporting hyperplanes to convex sets can be em- izations of cusps and inflections using an associated ployed in situations where tangent hyperplanes, in the polygonal arc (Section 7). sense of the classical theory of smooth surfaces, do not In Section 8, we define supported digital arcs and exist’’. motivate their definition by the fact that they can be In Section 3, we define supporting sectors and rays, obtained by digitizing continuous supported arcs. The which correspond to directional tangent lines. In extension of our theory of tame arcs to digital arcs is Section 4, we relate the properties of supported arcs also based on the concepts of supporting lines and to the standard properties of arcs in differential geo- half-planes: metry. This relationship is based on the well-estab- A digital set S-9 is digitally supported if every lished connections between differential geometry and point p3S is a (4-) boundary point of a digital half- convex analysis. We show that a supported arc A has plane containing S (i.e. there exists a continuous half- left and right derivatives at every point, and that A is plane containing S such that p has a 4-neighbor differentiable at a point if it has a unique supporting outside this half-plane). line at that point. On the other hand, a supported arc We show that a digital set is supported iff it is A can have (even infinitely many) ‘‘cusps’’: non-end- contained in the boundary of the digitization of a con- points at which A has more than one supporting line. vex set. This gives us a new definition of a convex- (Here and in what follows, ‘‘arc’’ is short for ‘‘arc or digital set as a digital set whose boundary is digitally simple closed curve’’.) supported. We also show that a digital set is sup- We call an arc A uniquely supported if it has a ported iff it is contained in the digitization of a con- unique supporting line at every non-endpoint. Thus, a tinuous supported arc. uniquely supported arc is everywhere differentiable and has no cusps. We will show that the curvature of a uniquely supported arc has the same sign at every 2. SUPPORTING LINES; SUPPORTED SETS point. We begin with a definition of fundamental tools We call a (simple) arc tame if it can be subdivided used in convex analysis (e.g. see the book by Rockafel- into a finite number of supported subarcs (Section 5). lar,() Section 11, pp. 99—100): Evidently, polygonal arcs are tame, but it can be verified that the pathological arcs of Fig. 1 are not Definition. Let S be a subset of the plane, and p tame. The subdivision points of a tame arc are called a point of S. A straight line l1(p) through p is called its joints. The points of a tame arc can be classified a supporting line of S at p if S is contained in one of the into regular and inflection points, according to closed half-planes into which l1 (p) divides the plane. whether they are to some supported subarc. This closed half-plane is called a supporting half-plane. Consequently, inflection points are mandatory joints, so that a tame arc can have only finitely many inflec- We will deal here with supported sets, which are (not tions, though it can have infinitely many cusps. As we necessarily proper) arcs, as we will shortly see: shall see, both regular and inflection points can be cusps. Definition. A subset S of the plane is supported if, for In Section 6 we show, using an associated poly- every p3S, there exists at least one supporting line of gonal arc, how the total curvature, which we will call S at p. the (total) turn, of a tame arc can be defined in terms of supporting lines. We prove that the total turn of Note that if S has a supporting line at p, then p must a supported arc is at most 360°; this is well known for be a boundary point of S (i.e. any neighborhood of Differentialless geometry of plane curves 609 p contains points of the complement of S). Note also including Caratheodory,() Brunn,() and Min- that supporting lines need not be unique. For kowski,() and which can also be found in a more example, if S is a single point, every line through general form in the book by Valentine() (Theorem that point is a supporting line of S;ifSis a segment 4.1, p. 47). of a straight line l, the same is true for its endpoints, The characterization of supported arcs can also be but at its interior points, l is the only supporting line derived from a concept introduced by Latecki, Rosen- of S. feld, and Silverman:() Before stating some basic facts, we summarize some basic definitions: An arc is a subset of the plane which Definition. A subset S of the plane is said to have is a homeomorphic image of an interval of non-zero property CP if for every three collinear points of S, length: A:[a,b]P1, where a(b. The points A(a) the line segment joining at least two of them is con- and A(b) are called the endpoints of arc A. If the tained in S. endpoints of an arc are the same [i.e. A(a)"A(b)], the Property CP appears to be the first simple intrinsic arc becomes a simple closed curve (or a Jordan curve), characterization of parts of the boundaries of convex and can be regarded as having no endpoints. A simple sets. Considerably more complicated characteriza- closed curve can also be defined as a homeomorphic tions were given over 30 years ago by Menger() and image C : SP1 of a of non-zero radius r. Valentine.() A simple closed curve and a single point are some- It can be shown() that an arc A is supported iff it times called non-proper arcs. If arc A is a subset of arc has property CP (Theorem 14), and that this in turn B or curve C, it is called a subarc of B or C.We is equivalent to A6A(a) A(b) being the boundary of recall( ) that the closed conv(S) of a set a convex set (Theorem 12), where A(a) A(b) is the line S is the intersection of all the closed half-planes that segment whose endpoints are A(a) and A(b). If contain S. A9A(a) A(b), A6A(a) A(b) is a simple closed curve; We now state a few basic properties of supported thus, either a supported arc is a line segment, or sets. Since they can be derived from elementary con- joining its endpoints yields a supported simple closed cepts of convex analysis, their proofs will be omitted curve. We thus have here; they are given in full in a report by the authors.() Proposition 4. An arc A is supported iff A6A(a) A(b) Proposition 1. A set S is supported iff it is contained is the boundary of a convex set. in the boundary of its closed convex hull.

Proposition 2. A closed, bounded, connected set S is 3. SUPPORTING SECTORS supported iff S is a subarc (not necessarily proper) of Definition. Let p be a point of a set S such that at least the boundary of a convex set (the convex hull of S). one supporting line of S at p exists. The supporting p sector 1 (p) is defined as the intersection of all the Let C be a simple closed curve. By the Jordan curve closed supporting half-planes of S at p. theorem, the complement of C has two non-empty connected components, one of which is bounded and Clearly, p (p) is a closed and convex subset of the surrounded by C. Let C* be the of the 1 plane. We assume from now on that S is not a subset bounded component. By the Jordan curve theorem, of a line (the contrary case was discussed in Section 2). C is the boundary of C*, and the interior of C* is If there is a unique supporting line l of S at p, then non-empty. p 1 (p) is the closed half-plane determined by l that contains S [see Fig. 2(a)]. If there is more than one Proposition 3. A simple closed curve C is supported iff p supporting line of S at p, then 1 (p) is a closed angular C* is convex. a sector with angle 1 (p) less than 180° [see Fig. 2(b)]. Note that a line through p is a supporting line of S at This result is a special case of a theorem which was p iff it is contained in the closure of the complement of p proved by a number of prominent mathematicians, 1 (p).

p Fig. 2. 1 (p) is the supporting sector of S at point p. 610 L. J. LATECKI and A. ROSENFELD

If S has a unique supporting line at p, we define the turn angle of S at p as 0°.IfShas more than one supporting line at p, we define the turn angle of S at !a p as 180° 1 (p). We now assume that the set S is an arc. The sup- p porting sector 1 (p) of an arc S is bounded by two rays emanating from p that make an angle a 4 1 (p) 180°. We will call these rays the left and right supporting rays of A at p depending on the direction in which we traverse A. The left supporting ray of S at p will be denoted by lr1 (p) and the right supporting ray of S at p will be denoted by rr1 (p) (see Fig. 2). These concepts are precisely defined in the Appendix.

Fig. 3. A supported arc can have infinitely many cusps. 4. RELATION TO DIFFERENTIAL GEOMETRY

Any arc is continuous, but we have not assumed that supported arcs are differentiable. In this section A proof of Theorem 2 can also be found in we show that a supported arc must have left and right Rockafellar’s book() (Theorem 25.1, p. 242). derivatives at every point (Theorem 1). Let A :[a,b]P1 be an arc and let x, y3(a, b). Definition. We define a non-endpoint p of a supported Consider the vector (A(x)!A(y))/"x!y ".Asyap- arc A to be a cusp if there is more than one supporting proaches x from the left (right), this vector may ap- line of A at p. proach a finite, non-zero limit; if so, the limit is called the left (right) derivative of A at x and is denoted by   By Theorem 2, the arc A is not differentiable at A \ (x)[A>(x)]. The right derivative of A at a, and the left derivative of A at b, are defined similarly. a cusp. Note that a supported arc can have infinitely The left (right) derivative exists at x3(a, b) and is many cusps, as illustrated in Fig. 3. It is not hard to   see that at the accumulation point of the cusps in a finite and non-zero vector A\ (x)[A>(x)] iff the limit of the lines through A(x) and A(t)astap- Fig. 3, the arc is differentiable. proaches x from below, i.e. t(x (above, i.e. x(t). Note that differentiability does not imply sup-   portedness (i.e. the converse of Theorem 2 is not true); If the directional derivatives A \ (x) and A> (x) exist and are equal, then we say that the derivative of A at at a point of inflection of an arc (see Section 5), its  ,  "  derivative may exist, but it has no supporting line. x exists and has value A (x) A\(x) A> (x). The following theorem describes a fundamental re- lation between supportedness of arcs and the exist- Definition. An arc A is uniquely supported if at every ence of directional derivatives. It was noted as early as non-endpoint p3A there exists a unique supporting 1893 by Stoltz.() It follows, e.g. from Theorem 23.1, line l (p). p. 213, in the book by Rockafellar.()* Clearly, if an arc is uniquely supported, it is sup- ¹ P1 heorem 1. Let A :[a,b] be a supported arc. ported. However, the converse is not true; e.g. a con-   Then the directional derivatives A\(x) and A> (x) vex simple polygonal arc is supported but does not exist and are finite and non-zero at every point have unique supporting lines at its vertices. 3   x (a, b), and the same for A\ (a) and A> (b). In this and the next two paragraphs we deal with arcs A :[a,b]P1that belong to class C, i.e. the first If the supporting line at a point x of A is unique, the and second derivatives of A exist and are non-zero left and right supporting rays at x are collinear, which vectors for every point t in the open interval (a, b)—in implies that the left and right derivatives at x are other words, a C arc is an immersion [reference (12), equal. We thus have p. 1—1]. For a simple closed curve A :[a,b]P1 to belong to class C, we additionally require that ¹heorem 2. Let A :[a,b]P1 be a supported arc, A(a)"A(b), A (a)"A (b), and A (a)"A (b). and let x3(a, b).Then the derivative A (x) exists [i.e. Clearly, a supported C arc (or curve) is uniquely  "  "  A (x) A\ (x) A>(x)] iff the supporting line at x is supported. unique. We recall that the curvature of an arc can be de- fined as rate of change of slope (as a function of arc length). The magnitude of the curvature depends on * This theorem is stated for convex functions; but a sup- how the arc is parameterized (which need not be by ported arc can be locally treated as a graph of a convex arc length), but its sign does not depend on the para- function from a closed interal into 1. meterization. We can now restate Theorem 8, pp. 1—26, Differentialless geometry of plane curves 611

" ! i 0, 2, n 1. The points x, 2, xL\ will be called the joints of ¹.

Note that there are many choices for the joints; as we shall see below, only inflections are mandatory joints, but it may also be necessary to introduce addi- tional ‘‘optional’’ joints to ensure that the subarcs are supported (e.g. see Fig. 4). Trivially, a supported arc is tame. In general, a tame arc ¹ can be described as ‘‘piecewise’’-supported. Fig. 4. A differentiable arc may not be supported. Note that even at its joints, a tame arc has one-sided derivatives. If they are unequal, so that the union of the left and right supporting rays is not a straight line, from Spivak() (Spivak, p. 1—16, calls supported we shall call the joint a cusp. simple closed C curves convex): The class of tame arcs seems to be general enough to describe (arcs of) the boundaries of planar objects. ¹heorem 3. A simple closed C curve C :[a,b]P1 On the other hand, this class is restrictive enough to is supported iff, for every p3[a, b], the curvature i(p) rule out the pathological examples of arcs and curves satisfies i(p)50 (or i(p)40, depending on the direc- discussed in the introduction. For example, the spiral tion in which C is traversed) for every p3[a, b]. shown in Fig. 1, which turns inward infinitely often, is an arc, but is not tame, since no matter how we divide The following theorem is a simple consequence of it into a finite number of subarcs, the first or last arc Theorem 3. still turns infinitely often, and so does not have a sup- porting line at every point. Note also that a tame arc can only have finitely many inflections, since its curva- ¹heorem 4. If a C arc A is supported, then for every ture cannot change sign except possibly at the x’ s. non-endpoint p3A, the curvature i(p) satisfies G Thus, e.g. the graph of x sin (1/x) is not tame, since it i(p)50 (or i(p)40, depending on the direction in oscillates infinitely often as x approaches 0. Sier- which A is traversed). pinski’s ‘‘snowflake’’ curve and Peano’s ‘‘space-filling’’ curves are not tame for the same reason. Proof. We can extend arc A to a supported simple A polygonal arc (or polygon) is piecewise straight,  closed C curve C, and then apply Theorem 3 to C. so that in particular it is tame. The term ‘‘tame’’ is  We need only construct a supported C arc B, lying in used in theory to describe knots that are equiva- the half-plane determined by the line segment A(a) lent to polygonal knots;() in our case too, tameness A(b) that does not contain arc A, such that the end- is a generalization of polygonality. points and first and second derivatives at the end- points of B coincide with those of A. ) Definition. A point x of a tame arc ¹ will be called a regular point if there exists a supported subarc ¹ of The converse of Theorem 4 is not true. Consider ¹ such that x is interior to ¹, i.e. x3¹ and x is not 3 a spiral S such that for all non-endpoints p S the an endpoint of ¹ . A non-endpoint that is not a regu- i curvature (p) exists and has the same sign; see Fig. 4. lar point will be called an inflection point. Evidently, for any point p3S such that the total turn of the part of the spiral from p to one of the endpoints ¹ is greater than 360°, there is no supporting line of S at Evidently, an inflection point of a tame arc must ¹ ¹ p. (In Section 6 we will define the total turn of a sup- be a joint of . The other joints of , if any, are ported arc and show that it is at most 360°.) ‘‘optional’’ joints. Classically, an inflection point of a differentiable arc A [e.g. Fig. 5(a)] is a non-endpoint at which the 5. TAME ARCS curvature of A changes sign. By Theorem 4, such a point cannot be an interior point of a supported The class of supported arcs is quite restricted; they subarc of A; hence, if A is differentiable and tame, each cannot turn by more than 360°, and they can only of its subarcs between consecutive joints is uniquely turn in one direction, so they cannot have inflections. supported, and its curvature has a constant sign on In this section we study a class of arcs which we call each of these subarcs. However, a tame arc need not ‘‘tame’’; a tame arc consists of a finite number of be differentiable; it can have both regular and inflec- subarcs each of which is supported. tion points that are cusps. For example, the cusps in Figs 5(b)—(d) are inflection points. In Section 7 we will Definition. An arc ¹ :[a,b]P1will be called tame if use total turn concepts to classify inflection cusps. 3 " there exist points x, 2, xL [a, b] with x a and As we have already seen, a tame arc that con- " ¹ xL b such that ([xG, xG>]) is supported for tains only regular non-endpoints is not necessarily 612 L. J. LATECKI and A. ROSENFELD

Fig. 5. Inflection points.

Fig. 6. Inflection segments. supported, e.g. the spiral in Fig. 4. A polygonal arc also has no inflection points, but as shown in Fig. 6(a), it need not be supported. More generally, an arc that has a straight subarc [Fig. 6(b)] may have no inflec- tion points, but may not be supported. In both of the cases in Fig. 6, at least one of the points in the subarc uv must be a joint. Fig. 7. The turn angle q(b) at a vertex b with respect to two vectors ab and bc: (a) q(b) '0, (b) q(b)(0, and (c) q(b)"0. Definition. A maximal straight subarc S of a tame arc ¹ will be called an inflection segment if there does not call polyarc (x , x )asimple polygonal arc.Ifx"x, exist a supported subarc ¹  of ¹ such that S is interior  L  L it is called a (simple) polygon. to ¹ , i.e. S-¹  and S does not contain an endpoint Let ab and bc be non-collinear vectors; then the of ¹ . Evidently, at least one point of an inflection turn angle q(b) is defined as sign a, where a is the segment must be a joint. * angle between ab and bc and sign"#1or!1 depending on whether the triangle abc is oriented 6. THE TOTAL TURN OF A TAME ARC clockwise or counterclockwise [see Figs 7(a) and (b)]. If ab and bc are collinear, then q(b)"0ifab and bc In differential geometry, the total curvature of an point in the same direction [see Fig. 7(c)]. (The case arc is defined by integrating the curvature. Similarly, where ab and bc are collinear but point in opposite the ‘‘total turn’’ of a polygonal arc is defined by directions will be discussed later.) summing the turns of its vertices. In Section 3, we defined the turn angle at a point of a supported arc. O Definition.Ifx xL, we define the turn of a simple In this section we will define the (total) turn of a tame polygonal arc polyarc(x , x )as arc. Our definition will be based on associating  L L\ a polygonal arc with the tame arc. The associated q " + q (polyarc (x, xL)) (xG), polygonal arc is not unique, but as we shall see, the G turn of every polygonal arc associated with a given q x x tame arc is the same. Therefore, we can define the where ( G) is the turn angle at vertex G with respect to x x x x i" n! total turn of a tame arc as the total turn of any vectors G\ G and G G> for 1, 2, 1. If x "x polyarc x x associated polygonal arc.  L, i.e. the arc ( , L) is a polygon, then we define its turn as L\ 6.1. Simple polygonal arcs q " + q (polyarc (x, xL)) (xG), + 44 ! , G Let xG :0 i n 1 be distinct points in the plane. The ordered sequence of vectors where the turn angle at vertex x is defined with (xG xG>)G, 2, L\ defines a polygonal arc poly- respect to vectors xL\x and xx. 5 arc(x, xL) joining x to xL.IfxGxG> For example, the turn of polyarc(x, x) in Fig. 8(a) "+ ,5+ , 4 9 4 q "q #2#q xH xH> xG, xG> xH, xH> for 0 i j n,we is given by (polyarc (x, x)) (x) (x), Differentialless geometry of plane curves 613

q #2 #q Fig. 8. The turn of the polygonal arc in (a) is (x) (x). The turn of the closed polygonal arc q #2 #q in (b) is (x) (x).

Fig. 9. (b) Shows an associated polygonal arc of the supported arc in (a).

" and the turn of polyarc (x, x)withx xin Fig. 8(b) the turn of A as the turn of P(A), and show that this q "q #2#q is given by (polyarc(x, x)) (x) (x). turn is the same for any P(A) associated with A. " If polyarc(x, xL) (xG xG>)G, 2, L\ is a , the bounded region surrounded by poly- Definition. Let A :[a,b]P1be a supported arc. We arc(x, xL) is called its interior. If the interior of the will show below that there exists a set of points polygon is to the right of each vector xG xG>, then the +a 3A :04i4k, such that A(a)"a , A(b)"a , q G  I turn angle (xG) at each vertex xG is equal to 180° minus and the interior angle of the simple polygon at xG. A posi- 7+p 44 , tive value of the turn at a vertex xG indicates that xG is (aG):0 i k q ' a convex vertex of the polygon [e.g. (x) 0 in Fig. 8(b)], and a negative value of the turn at a vertex x is a bounded region whose boundary is a simple G +x 4i4n, indicates that x is a concave vertex of the polygon polygon [see Fig. 9(a)]. Let G :0 be the set G a "x [e.g. q(x )(0 in Fig. 8(b)]. of vertices of this polygon ordered such that    and a "x , and such that the interior of the polygon It is well known that if polyarc(x , x ) is a simple I L  L is either to the right of each vector x x or to the left polygon, then "q(polyarc(x , x )) ""360° [see, e.g. ref- G G>  L x x erence (14), Lemma 4.16, p. 182]. Note that the sign of of each vector G G> [see Fig. 9(b)]. We associate the P A " x x the turn depends on the direction in which we traverse simple polygonal arc ( ) ( G G>)G, 2, L\ with q "!q the supported arc A, and define the turn of A as the polygonal arc, i.e. (polyarc(x, xL)) (poly- " arc (xL, x)), where polyarc (xL, x) (xI> xI)GL\, 2 , . q(A)"q(P(A)). We thus have We now show that for any supported arc A, there + 3 44 , Proposition 5. The turn of a simple polygon C is always exists such a set of points aG A :0 i k . " q(C)"$360°. In fact, in addition to the endpoints A(a) a and " A(b) aI, it is sufficient to take a point of A with maximal positive x-coordinate, one with maximal 6.2. Supported arcs negative x-coordinate, one with maximal positive y- We will now show how to associate a polygonal arc coordinate, and one with maximal negative y-coordi- P(A) with any supported arc A. We will then define nate; thus four points (besides the endpoints) always 614 L. J. LATECKI and A. ROSENFELD

Fig. 10. (b) Shows a different associated polygonal arc of the supported arc in (a).

a #a Fig. 11. The absolute turn of the supported arc A with endpoints a and a is equal to (a) (a).

 O suffice. We emphasize that the a s are not unique; e.g. We now assume that a aI. Consider the poly-   " ⅙ ⅙ a different set of a s for the supported arc in Fig. 9 is gonal arc P (A) P(A) xL x, where ‘‘ ’’ represents  shown in Fig. 10. concatenation, so that P (A)isP(A) followed by xL x. Note that if a point v of the supported arc A co- Evidently, P (A) is a simple polygon; thus "q(P(A)) " incides with a vertex of an associated P(A), which is "360° (Proposition 5). The absolute turn of P(A)is " "q ""  the case for a x in Fig. 9, then (v) equal to the turn of P (A) minus the turn angles at !a a " " 180° (v), where (v) is the angle of the supporting vertices a x and aI xL [see Fig. 11(a)]. These p 3 "q " "q "" !a sector (v)ofAat v A, i.e. (v) [with respect to turn angles are (a) 180° (a) and "q "" !a P(A)] is the turn angle of A at v. (aI) 180° (aI) [see Fig. 11(b)]. Therefore, We now show that the turn of arc A defined in this "q """q """" q  "! q #q " way does not depend on the choice of the points (A) (P(A)) (P (A)) ( (a) (aI)) +a 3A :04i4k,. We show this for the absolute G "" 360°!(180°!a (a )#180°!a (a )) " value of the turn of arc A in order to abstract from the  I particular orientation of arc A. Observe first that "a (a )#a (a ). 7+p 44 ,  I (aG):0 i k is convex (it is a finite intersec- tion of supporting half-planes of A). Consequently, the Consequently, the absolute value of the turn of a sup- polygonal arc P(A) is part of the boundary of a con- ported arc A does not depend on the choice of vex set. a, 2, aI. We also have [see Fig. 11(b)] " Suppose first that a aI (i.e. A is a simple closed curve). Then P(A) is a simple polygon, and q(P(A))" Proposition 7. The absolute turn of a supported arc $360° by Proposition 5. Since q(P(A))"$ 360° for A with endpoints A(a)9A(b) is given by every simple polygon, this result does not depend on "q ""a #a the choice of the as. Thus, we have (A) (A(a)) (A(b)).

Proposition 6. The absolute turn of a supported Since a supported arc A is contained in one of simple closed curve A is "q(A)"""360° ". the closed half-planes determined by its endpoints Differentialless geometry of plane curves 615

9 a A(a) A(b), the angle of the supporting sector (p)is tance to line segment a a. Since d is a continuous less than or equal to 180°, where p"A(a) function, and B is a compact set, there is a point of or p"A(b). Consequently, we obtain: B at which d attains its maximum value. Evidently the line through any such point p parallel to a a must Proposition 8. ¹he absolute turn of a supported arc be a supporting line of B.) b a A is "q(A) "4360°. The angle between lr (a) and l is equal to (a), p the angle of the supporting sector (a). Let B be b Now we prove two technical propositions which we the subarc of A with endpoints a and p. Then is will need in Section 7. the turn of B. " Let a b, b, 2 be a sequence of points of B that converge to a (in the standard Euclidean Proposition 9. ¸et A :[a,b]P1 be a supported arc.  distance on the plane). Let pG be determined for each Then A is contained in the convex hull of an asso- ' bG, i 1, in the same way that p was determined for ciated polygonal arc P(A). " b a, and let BG be the subarc of B with endpoints a and p . Then q(B )"a (a ).  G G BG  Proof. We showed above that there exists a set of Since the left derivative of A at a exists (Theorem points +a 3A:04i4k,such that A(a)"a , A(b)"  G  1), rays a bG approach lr (a)ifbGapproaches a. aI, and Consequently, the angle a (a ) goes to 0 if b ap- BG  G e' C(A)"7+p (a):04i4k, proaches a. Therefore, for every 0, there exists an G "q "(e ) i such that (BG) . is a bounded region whose boundary is a simple polygon which contains P(A). The statement of the 6.3. ¹ame arcs proposition follows from the facts that C(A) is the convex hull of P(A) and A is contained in C(A). ) Let ¹ :[a,b]P1 be a tame arc (or in particular a tame simple closed curve). Then ¹ can be divided Proposition 10. Let A :[a,b]P1be a supported arc. into a finite number of supported arcs, i.e., there exist (2( 3 " " For every e'0, there exists a subarc A of A such that points t tK [a, b] with t a and tK b ¹ "¹ A(a)3A and "q(A)"(e. such that G ([tG, tG>]) is supported for i"0, 2, m!1. Let * denote concatenation of poly- ¹ Proof. Let a , 2, a be as in the proof of Proposition gonal arcs. With every G we can associate a simple M I ¹ *K\ ¹ 9. Since the supporting sectors at the a’s intersect in polygonal arc P( G) such that G P( G) is also a bounded region, in particular lr (a ) intersects a polygonal arc (not necessarily simple). This means  that all the P(¹ ) have a consistent order, i.e., we rr (a) [see Fig. 12(a)]. Let B be the subarc of A be- G a can traverse them from ¹(a)to¹(b) following the tween a and a. The angle between lr (a) and "q " directions of their vectors.This associates a polygonal rr (a) shown in Fig. 12(a) is equal to (B) , and "q(B)"(180°. arc It is not hard to see that there exists a point p 3B K\  P (¹)"* P(¹ ) distinct from a and a such that the line l parallel to G   G line segment aa is a supporting line of B at p [see Fig. 12(b)]. (Proof. Consider the function d which with ¹. An example is given in Fig. 13; here ¹ is ¹"¹ 6¹ associates with each point of B its perpendicular dis- divided into two supported arcs   at the

Fig. 12. Steps in the proof of Proposition 10. 616 L. J. LATECKI and A. ROSENFELD

Fig. 13. A polygonal arc associated with a tame arc.

Fig. 14. For illustration purposes, the associated polygonal arcs are slightly translated.

¹ ¹ q joint a. P( ) has vertices x, 2, x, and P( ) has We shall now define the sign of (x) with respect to ¹ ¹ ¹ vertices x, x, x. The two polygonal arcs P( ) and P( ). Let v be the last vector of P( G\) and w the ¹ ¹ 3 5 q P( ) have a consistent order in the sense that we can first vector of P( G). Clearly, x v w and (x) [in ¹ traverse them from x to x by following their vectors. P ( )] is the angle between v and w. ¹ ¹ ¹ The resulting polygonal arc associated with is At least one of the arcs G\ and G is not a line ¹ " ¹ ⅙ ¹ ¹ P( ) P( ) P( ). segment, since otherwise would not be a simple arc "¹ "¹ (we would have v G\, w G, and v and w would Definition. We define the absolute turn of the tame coincide near x). ¹ ¹ ¹ arc ¹ as If one of G\ and G is a line segment, say G\, then q(x) is defined to have the opposite sign to the q ¹ ""q ¹ " q ¹ ( ) (P( )) , sign of ( G) [see Fig. 15(a)]. ¹ ¹ Suppose now that both G\ and G are not line where P(¹) is a polygonal arc associated with ¹. segments. Let l be the straight line containing v and w. ¹ Since l contains the right supporting ray of G\ and ¹ ¹ ¹ This definition is easy to apply if the right support- the left supporting ray of G, both G\ and G are ¹ ¹ ing ray of G\ and the left supporting ray of G do contained in closed half-planes determined by l.If ¹ ¹ not coincide at their common endpoint x. When the G\ and G are contained in two different closed ¹ ¹ rays are collinear, however, as shown in Figs 14(a) and half-planes of l, then G\ and G must have the same (b), then vectors v and w of P(¹) that are contained in sign of turn [see Fig. 15(b)]. In this case, q(x) is defined q ¹ these rays and that have x as their common vertex are to have the opposite sign to the sign of ( G). collinear and point in opposite directions. In this case, It remains only to consider the case in which ¹ ¹ neither of the rules shown in Fig. 7 applies to x as G\ and G are contained in the same closed half- ¹ q ¹ q ¹ a vertex of P( ). It is clear that the absolute value of plane of l. In this case ( G\) and ( G) have opposite q ¹ ¹ the turn (x) with respect to P( ) is 180°, but it is not signs. If the convex hull of G\ contains a subarc of q ¹ q immediately clear how to determine the sign of (x). G beginning at x, then (x) is defined to have the same Differentialless geometry of plane curves 617

Fig. 15. Defining the sign of q(x) in the collinear case.

Fig. 16. A regular point (b) and three inflection points (a), (c), and (d).

q ¹ q ¹ sign as the sign of ( G\) ; otherwise, (x) is defined to that x is a joint of and is a vertex of an associated q ¹ ¹ have the same sign as ( G) [see Fig. 15(c)]. polygonal arc P( ). We will characterize x using the turn angle q(x)inP(¹) and the signs of the turns of ¹ ¹ Proposition 11. The turn q (¹) of a tame arc ¹ is the supported subarcs G\ and G (determined with ¹ uniquely defined, i.e. q(¹ ) does not depend on the respect to P( )) such that x is the endpoint of ¹ ¹ ¹ and the beginning point of ¹ . subdivision of into supported subarcs G. G\ G We recall that x is a cusp if the union of the left supporting ray of ¹ at x, lr¹ (x), and the right Proof. Since each inflection point of a tame arc ¹ is G\ G\ supporting ray of ¹ at x, rr¹ (x), is not a straight line, necessarily a joint of ¹, it is sufficient to show that the G G i.e. either lr¹ (x) and rr¹ (x) are not collinear or turn of a tame arc ¹ that does not contain inflections G\ G lr¹ (x)"rr¹ (x). We will show that x3¹is a cusp of is uniquely defined. We prove this by induction on the G\ G a tame arc ¹ iff q(x)90. Then we will show that x3¹ minimal number of optional joints of ¹. If the minim- is a regular point of a tame arc ¹ iff q (¹ ), q(¹ ), and al number is zero, then ¹ is supported, and the G\ G q(x) [in P(¹)] have the same sign. For example, this is uniqueness of q(¹) follows from the fact that the turn the case for x in Fig. 16(b), while x in Figs. 16(a), (c), or of a supported arc is uniquely defined.We now assume (d) is an inflection point. that the turn is uniquely defined for any tame arc whose minimal number of optional joints is at most n!1. ¹heorem 5. x3¹ is a cusp of a tame arc ¹ iff q(x)90. Let ¹ :[a,b]P1 be a tame arc with the minimal number of optional joints n. Let t, 2, tL be all the Proof. Let P(¹) be a polygonal arc associated with ¹. ¹ joints of . Let s,...,sKbe any different set of joints Let v be the vector of P(¹ ) whose endpoint is x, and of ¹. There exists an i such that the subarc let w be the vector of P(¹ ) whose beginning point is x. ¹ "¹ G [tG, tG>) contains some of the joints s, 2, sK, Then clearly x3v5w and q(x) (in P(¹)) is the angle ¹ say sI, 2, sJ. Since G is supported, the turn of between v and w. The theorem follows from the fact ¹ G determined with respect to joints sI, 2, sJ is equal that v is contained in the left supporting ray at x and q ¹ to ( G). By the induction assumption, the turn of w is contained in the right supporting ray at x. ) ¹ [a, tG) determined with respect to s, 2, sI\ is ¹ equal to the turn of [a, tG) determined with respect ¹heorem 6. x3¹ is a regular point of a tame arc ¹ iff to t , 2, t , and the same applies to the turn of ¹ ¹ ¹  G\ there exist supported subarcs G\ and G of such ¹ [t , b). Consequently, the turn q(¹ ) is uniquely ¹ G> that x is the endpoint of G\ and the beginning point defined. ) ¹ q ¹ q ¹ q ¹ of G, and ( G\), ( G), and (x) [in P( )] have the same sign* [see Fig. 16(b)].

7. CLASSIFICATION OF POINTS OF A TAME ARC

In this section we use total turn concepts to classify inflection points and cusps of a tame arc ¹. When we * Here we consider the sign of a turn of 0° as both positive classify a given point x3¹, we can always assume and negative. 618 L. J. LATECKI and A. ROSENFELD

N -¹ Proof. : There exists a supported subarc A a digital set. The 4-boundary bdA of a digital set A ¹ ¹ such that x is interior to A. Let G\ and G be two is the set of points of A which have at least one ¹ "+ 3 subarcs of A such that x is the endpoint of G\ and 4-neighbor not in A, i.e. bd A a A: ¹ "¹ 6¹ 5 #", # the beginning point of G and A G\ G. Since N (a) A , where A denotes the complement ¹ ¹ 9 39 G\ and G are supported (non-degenerate) subarcs of A in , and where, for any point (x, y) , q ¹ q ¹ q "+ # ! # of A, ( G\), ( G), and (x) have the same sign as N ((x, y)) (x, y), (x 1, y), (x 1, y), (x, y 1), q(A). (x, y!1),. = :If"q(x)""180°, it follows from the definition The subset digitization of a planar set X is defined as q q ¹ q ¹ q of (x) in Section 6.3 that ( G\), ( G), and (x) the set of points with integer coordinates that are cannot have the same sign. Therefore, we can assume contained in X: that "q(x)"(180°. ¹ SD(X)"+s39 : s3X, . By Proposition 10, there exists a subarc G\ of ¹ G\ containing x whose absolute turn is arbitrarily ¹ The object boundary quantization of the boundary of small, and the same holds for G. Therefore, we can "q ¹ #q ¹ #q "( a planar set is defined by assume that ( G\) ( G) (x) 180° . We show that the arc R"¹ ⅙ ¹ is supported, G\ G D (bdX)"bd SD(X), i.e. that there is a supporting line of R at any point y of - /  R. Without loss of generality, we can assume that where bdX is the standard topological boundary of X. 3¹ y G\. Let P(¹ ) and P(¹ ) be polygonal arcs associated G\ G -9 with ¹ and ¹ such that y3P(¹ ). Then Definition. A set P is called a digital half-plane if G\ G G\ -1 P(R)"P(¹ ) ⅙ P(¹ ) is associated with R.We there exists a real closed half-plane HP such G\ G " ¸-  know that "q(P(R)) "(180° and that P(R) turns in that SD(HP) P. A set Z is called a digital ¸" one direction.Therefore, P(R) is a convex (i.e. sup- straight line if bd P for some digital half-plane P. ported) polygonal arc. Let conv denote the convex hull operator. From ¸-9 is a digital straight line if there exists a real ¹ - ¹ ¸" Proposition 9 it follows that G\ conv(P( G\)) straight line M such that D- / (M). The black ¹ - ¹ ¹ - and G conv(P( G)). Since conv(P( G\)) conv(P(R)) points in Fig. 17(a) represent a digital half-plane, since ¹ - " ¹ ⅙ and conv(P( G)) conv(P(R)), we obtain R ( G\ they are obtained by the subset digitization of the gray ¹ - 3 G) conv(P(R)). Since y P(R), there is a supporting half-plane. The black points in Fig. 17(b) represent line of conv(P(R)) at y, and therefore there is a sup- a digital line, since they are obtained by the digitiz- porting line of R at y. ) ation D- / of the straight line which is the boundary of the gray half-plane. We can restate the definition of a (continuous) supporting half-plane given in Section 2 in the follow- 8. DIGITAL SUPPORTEDNESS ing way: In this section we consider supported digital arcs. Let S be a subset of the plane, and p a point of S. Every digital arc is tame, since it contains a finite A closed half-plane P is a supporting half plane of S at - 3 number of points, and therefore can be decomposed p if S P and p bdP, where bdP denotes the bound- into a finite number of supported digital arcs (e.g. ary of P (i.e. its boundary line). straight line segments). The total turn of a digital arc We use exactly this definition to define a supporting can therefore be defined in the analogous way to our half plane in the digital case: continuous definition for tame arcs. This definition differs from the standard methods of estimating the Definition. Let S be a subset of 9 and p a point of S. curvature of a digital arc based on local neighbor- A digital half-plane P is called a (digital) supporting - 3 hoods. The classification of points of an arc in The- half-plane of S at p if S P and p bdP. In this case, ¸" orems 5 and 6 can also be applied to shape analysis of point p belongs to the digital line bdP. The digital arcs. line ¸ is called a (digital) supporting line of S at p. Let 9 be the set of points with integer coordinates Thus if P is a (digital) supporting half plane, there in the plane 1. Any finite subset S-9 will be called exists a real half-plane H(p) such that S-H(p) and

Fig. 17. The black points represent a digital half-plane in (a) and a digital line in (b). Differentialless geometry of plane curves 619

Fig. 18. The set of black points is digitally supported in (a) but not in (b).

3 " p bdP, where P SD(H(p)). Similarly, we can dir- ectly transform the definition of a supported set to the digital domain:

Definition: A subset S of 9 is (digitally) supported if, for every p3S, there exists at least one digital sup- porting half-plane of S at p. Fig. 19. HP is a (continuous) supporting half-plane at x. For example, the set of black points in Fig. 18(a) is digitally supported, but the set of black points in Fig. show that D (bdB)"bd SD(B) is digitally sup- 18(b) is not, since there do not exist supporting half- - /  ported. If SD(B) is the empty set, then bd SD(B)is planes at points p and q.  trivially digitally supported. Therefore, we assume The following theorem allows us to give a new that SD(B) is non-empty. definition of a convex digital set as a digital set whose Let p3bd SD(B) be any point. Then there exists 4-boundary is digitally supported [e.g. see Fig. 18(a)].  a 4-neighbor q39 of p such that q,SD(B), and therefore q,B. ¹ -9 heorem 7. A finite set S is digitally supported Let x be a closest point to q in B. Let ¸ be the -1 iff there exists a compact and convex set B with straight line through x perpendicular to line segment - nonempty interior such that S bdSD(B). xq, and let HP be the real closed half-plane of ¸ that does not contain q (see Fig. 19). Proof. N : Let S-9 be digitally supported. For Since no point of B is closer to q than x and B is every p3S, there exists a real half-plane H(p) such convex, B is contained in HP. Thus, HP is a support- - 3 that S SD(H(p)) and p bdSD(H(p)). Note that ing half-plane at x of B. - - 3 , 3 S SD(H(p)) iff S H(p). Since p HP and q HP, we have p bd SD(HP). Let B"7+H(p):p3S,. B is a closed and convex We also have SD(B)-SD(HP), and consequently - set as a finite intersection of real half-planes, and bd SD(B) SD(HP). Thus, SD (HP) is a digital sup- - ) S B. Since S is finite, we can assume that B is porting half-plane of bd SD(B)atp. bounded. (If this is not the case, we can always find a convex, closed, bounded subset of B that contains S.) We recall that C* denotes the closed bounded set If the interior of B is empty, then B is a line segment, surrounded by a simple closed curve C in the plane. In since a bounded convex set with empty interior is " " particular, we have C bdC*. We define D- / (C) a line segment. In this case, we can replace B by bd SD (C*). a compact and convex set with nonempty interior (e.g.  a rectangle) that contains exactly the same points of -9 9 as B. Therefore, we can assume that the interior of Corollary 1. A finite set S is digitally supported -1 B is nonempty. iff there exists a supported simple closed curve C - Thus B is a compact and convex set with nonempty such that S D- / (C). interior such that S-B. Consequently, S-SD(B). 3 3 N Since for every p S, p bdSD(H(p)), there exists Proof. : By Theorem 7, there exists a compact and q39, a 4-neighbor of p, such that q,SD(H(p)), and convex set B-1 with nonempty interior such that , 3 - therefore q SD(B). We obtain p bd SD(B) for every S bd SD(B). Since the boundary of a bounded con- 3 - p S. Hence S bd SD(B). vex set with non-empty interior is a simple closed = - : Let S bd SD(B), where B is a compact and curve [e.g., Theorem 32 of reference (8)], we see that convex set with nonempty interior. It is sufficient to C"bdB is a supported simple closed curve. Since 620 L. J. LATECKI and A. ROSENFELD

" " C* B, and consequently D- / (C) bd SD (B), we based on local curvature operators. Our classification - obtain S D- / (C). of significant points of a tame arc can also be applied =: This is a special case of Theorem 7. ) to shape analysis of digital arcs. The ideas in this paper can be further extended in By Corollary 1, supported digital sets correspond several ways; we plan to pursue these extensions in to supported continuous sets. Thus, we can extend future papers. In particular, we plan to extend our our theory of tame arcs to digital arcs. results to three-dimensional (either Euclidean or digital) space. We can define a supporting plane to a set S at a point p as a plane P through p such that 9. CONCLUSIONS AND EXTENSIONS S lies in one of the closed half-spaces bounded by P.It is not hard to see that a set which has a supporting The results of this paper can be summarized as half-plane at every point must be contained in the follows: boundary of its convex hull. There are still many An arc (not necessarily simple) is called tame if it possibilities for such a set; even if we require it to be is the concatenation of a finite set of supported closed, bounded, and connected, it can be arc-like, (simple) arcs; for example, a polygonal arc is tame. surface-patch-like, or a combination. It would be of For such arcs we have given simple definitions of considerable interest to develop a theory of supported significant points that extend the classical definitions sets and digital supported sets in three dimensions, in differential geometry. For example, a non-endpoint analogous to the planar theory developed in this of a tame arc which is not interior to any supported paper. subarc is called an inflection. If a tame arc is differenti- able, its curvature must change sign at an infection. Since a tame arc need not be differentiable at an APPENDIX inflection, our definition extends the corresponding definition in differential geometry. We have also Here we give precise definitions of the left and right shown that a tame arc can have only finitely many supporting rays (see Section 3). inflections. Let A :[a,b]P1be an arc. Let p"A(x) for some Although we do not use the standard tools of differ- point x3(a, b). Let r(min +d(A(x), A(a)), d(A(x), ential geometry that are based on limits, we are able A (b)),, where d is Euclidean distance in the plane. to compute the total curvature [which we call the Then the circle C(p, r) with center p and radius r inter- (total) turn] of a tame arc, and we are able to show sects arc A in at least two points [see Fig. 20(a)]. This that the total absolute turn of a tame arc must be follows from the fact that a circle is a Jordan curve finite. and p is inside the bounded region enclosed by C(p, r) We have also extended our theory of tame arcs to while the arc endpoints A(a) and A(b) are outside of 3 digital arcs. Since every digital arc contains a finite this region. Let x\ (a, x) be a point such that 3 5 5 " number of points, it is tame. We can therefore use our A(x\) C(p, r) A and A((x\, x)) C(p, r) (i.e. " + 3 3 5 , definition of total turn to calculate the total curvature x\ sup y (a, x): A(y) C(p, r) A ; since the set 5 3 5 , of a digital arc, by decomposing the arc into convex C(p, r) A is compact, we have A(x\) C(p, r) A ). 3 subarcs and calculating the total curvature of each Similarly, let x> (x, b) be a point such that 3 5 5 " subarc. The total curvature calculated in this way may A(x>) C(p, r) A and A(x, x>) C(p, r) . be more reliable than that calculated using local cur- Since A([x\, x>]) is a subarc of A, it is contained in p vature operators in digital image analysis, since we the sector (p). In particular, the points A(x\) and 5p use a global definition of total curvature which is not A(x>) lie on C(p, r) (p).

Fig. 20. Defining the left and right supporting rays. Differentialless geometry of plane curves 621

p The ray bounding (p) that can be reached 5p from point A(x\) while traversing C(p, r) (p) without going through A(x>) will be denoted by lr (p) and called the left supporting ray of A at p p [see Fig. 20 (a)]. Similarly, the ray bounding (p) that can be reached from point A(x>) while traversing 5p C(p, r) (p) without going through A(x\) will be denoted by rr (p) and called the right supporting ray of A at p. We next show that if A is supported, lr (p) and rr (p) do not depend on the radius of the circle C(p, r). Fig. 21. The subarc is contained in the sector. To see this, note that the subarc A([x\, x]) is con- tained in the sector determined by the ray lr (p) and the line segment A(x) A(x\) [see Fig. 20(a)], since the interior of triangle A(x\) A(x) A(x>) cannot contain any points of arc A (Proposition 15, below). If r(r,  the point A(x \) determined with respect to circle C(p, r) must thus be contained in this sector; there-  fore, the ray lr (p) can be reached from A(x \) along   C(p, r ) without going through point A(x>). A similar argument applies for rr (p). It remains to define the left and right supporting rays at the endpoints of arc A. This can be done even if A is equal to the line segment A(a) A(b) (where aOb); a " the angle (p)is0°if p A(a)orA(b), and 180° Fig. 22. The subarc has the same supporting ray as the arc. p otherwise. In the latter case, (p) cuts off a semicircle # on C(p, r), and the subarcs A(x) A(x\), A(x)A(x ) coincide respectively with rays lr (p), rr (p). In the tion 12, A([p, c]) is contained in the angular sector p former cases, (p) is a ray, and it coincides with spanned by line segment A(p) A(c) and rr (A(p)); " " " lr (p) rr (p)ifp A(a)orp A(b). hence there exist parts of A in the interior of the Now suppose that A is different from line segment triangle, contradiction. ) A(a) A(b). As we see in Fig. 20(b), at A(a) one of the p bounding rays of (S(a)) is just the line segment A(a) As a simple consequence of Proposition 13, we A(b) by Proposition 4. We define this ray to be obtain: lr (A(a)), and the other bounding ray of the sector p (A(a)) to be rr (A(a)); and vice versa at A(b). The Proposition 14. Let A be a supported arc and A foregoing discussion gives us a proper subarc of A.Ifpis not an endpoint of A, then p "p p Y (p) (p). If p is an endpoint of A, then Y (p)is Proposition 12. Let A :[a,b]P1be a supported arc. p a proper subset of (p). Let A be the subarc A([p, c]), where a4p(c4b. The subarc A is contained in the sector defined by the The following simple but general characterization right supporting ray rr (A(p)) and the line segment of supporting lines was used in proving the above A(p) A(c) (see Fig. 21). The analogous statement holds results. for the left supporting ray. Proposition 15. A planar set S has a supporting line at As a consequence of Proposition 12 we have: p3S iff there do not exist three points q, r, s3S such that p lies in the interior of the triangle spanned by Proposition 13. Let A and A be as in Proposition 12. q, r, and s. 9 Then rr (A(p)) rr Y (A(p)). The analogous statement holds for the left supporting ray. Proof. N:Ifpis in the interior of such a triangle, any line l through p must intersect an interior point of at Proof. Clearly, A(p)"A (p). Since A is a subarc of A, least one side if the triangle, so that the endpoints of p  supporting sector Y (A(p)) of A is contained in that side cannot lie in the same closed half-plane p 9 (A(p)). Suppose rr (A(p)) rr Y (A(p)); then there defined by l [see Fig. 23(a)]. p !p = would be a point A(t)ofAin (A(p)) Y (A(p)) which : Conversely, the set of rays joining p to all the lies between rr (A(p)) and rr Y (A(p)). Consider the other points of S is contained in some closed angular triangle A(p) A(c) A(t) (see Fig. 22). Since A is sup- sector with vertex p, possibly with vertex angle 360°. ported, no point of A can lie in the interior of this The intersection of all such sectors is also a closed triangle (Proposition 15, below). But by Proposi- angular sector with vertex p, say with vertex angle a. 622 L. J. LATECKI and A. ROSENFELD

Fig. 23. A criterion for the existence of a supporting line at P.

If a4180°, there is a supporting line of S at p.If 5. C. Caratheodory, U® ber den Variabilita¨ tsbereich der a'180° [see Fig. 23(b)], then there exist three points Koeffizienten von Potenzreihen, die gegebene Werte q, r, s3S such that p is in the interior of the triangle nicht annahmen, Math. Ann. 64, 95—115 (1907). ) 6. H. Brunn, Zur Theorie der Eigebiete, Arch. Math. Phys. spanned by q, r, and s. 17, 289—300 (1910). 7. H. Minkowski, Geometrie der Zahlen. Leipzig, Berlin (1910). 8. L. Latecki, A. Rosenfeld and R. Silverman, Generalized REFERENCES convexity: CP and boundaries of convex sets, Pattern Recognition 28, 1191—1199 (1995). 1. R. T. Rockafellar, Convex Analysis. Princeton University 9. K. Menger, Some applications of point set methods. Press, Princeton, New Jersey (1972). Ann. Math. 32, 739—750 (1931). 2. F. A. Valentine, Convex Sets. McGraw-Hill, New York 10. F. A. Valentine, A three point convexity property, Pacific (1964). J. Math. 7, 1227—1235 (1957). 3. I. M. Yaglom and V. G. Boltyanskii, Convex Figures. 11. O. Stoltz, Grundzu( ge der Differential- und Integralrech- Holt, Rinehart and Winston, New York (1961). Trans- nung, Vol. I. Teubner, Leipzig (1893). lated from the Russian original (1951) by P. J. Kelly and 12. M. Spivak, A Comprehensive Introduction to Differential L. F. Walton. Geometry, Vol. 2. Publish or Perish, Boston, Mass- 4. L. Latecki and A. Rosenfeld, Supportedness and tame- achusetts (1970). ness: differentialless geometry of plane curves. Tech- 13. K. Ito, ed., Encyclopedic Dictionary of Mathematics. MIT nical Report CAR-TR-838, Center for Automation Press, Cambridge, Massachusetts (1987). Research, Univ. of Maryland, College Park (September 14. R. Klein, Algorithmische Geometrie. Addison-Wesley, 1996). Bonn (1997).

About the Author—LONGIN JAN LATECKI received his doctorate in 1992 and his Habilitation (German postdoctoral degree) in December 1996, both in Computer Science from the University of Hamburg. Dr Latecki is currently a research scientist at the University of Hamburg working on spatial reasoning. He is a co-chair of the SPIE Conference series on Vision Geometry. His main research topic is the relation between continuous and discrete representations of spatial objects. Specifically, he is interested in the topological and geometric properties of the discrete representations used in computer vision, robot navigation, and geographic information systems. He is the author of over 30 journal articles and refereed conference papers.

About the Author—AZRIEL ROSENFELD is a tenured Research Professor, a Distinguished University Professor, and Director of the Center for Automation Research at the University of Maryland in College Park. He also holds Affiliate Professorships in the Departments of Computer Science, Electrical Engineer- ing, and Psychology. He holds a Ph.D. in mathematics from Columbia University (1957), rabbinic ordination (1952) and a Doctor of Hebrew Literature degree (1955) from Yeshiva University, and honorary Doctor of Technology degrees from Linko¨ ping University, Sweden (1980) and Oulu University, Finland (1994) He is a widely known researcher in the field of computer image analysis. He has published over 25 books and over 500 book chapters and journal articles, is an Associate Editor of over 25 journals, and has directed over 50 Ph.D. dissertations. He is a Fellow of the IEEE (1971) and the Washington Academy of Sciences (1988); a founding Fellow of the AAAI (1990), the ACM (1994), and the IAPR (1994); and has won numerous professional society awards.