IEEE TRANSACTIONS ON COMPUTERS, VOL. c-27, NO. 11, NOVEMBER 1978 1078 has a head containing one of the introduced variables can be omitted. Proof: The symmetric, extended Karnaugh map shows that implicants which can be derived from an original implicant by replacing some headfactors by the corresponding introduced- variables, must be added. The following part contains the proof that a prime implicant which is derived from an original prime implicant, may be omitted if it has an introduced variable as headfactor. Moreover, an MPIwhich has a head containing one of the introduced variables, can be omitted. Two MPI's are defined and compared with each other. MPI I has a head containing some introduced variables and is determined from the prime implicants of the extended Kamaugh map. MPI2 has the same head as MPI1 but without the introduced variables and is determined from the reduced list of prime implicants, according to Theorems 3 and 4. ACKNOWLEDGMENT The author wishes to thank Dr. G. A. Blaauw for his continuous help in revising this correspondence. REFERENCES [1] G. A. Maley and J. Earle, The Logic Design of Transistor Digital Computers. Englewood Cliffs, NJ: Prentice-Hall, 1963, ch. 6, pp. 114-159. [2] D. T. Ellis, "A synthesis of combinational logic with NAND or NOR elements," IEEE Trans. Electron. Comput., vol EC-14, pp. 701-705, Oct. 1965. [3] J. F. Gimpel, "The minimization of TANT networks," IEEE Trans. Electron. Comput., vol. EC-16, pp. 18-38, Feb. 1967. [4] D. L. Dietmeyer and Y. H. Su, "Logic design automation of fan-in limited NAND networks," IEEE Trans. Comput., vol. C-18, pp. 11-22, Jan. 1969. [5] E. S. Davidson, "An algorithm for NAND decomposition under network constraints," IEEE Trans. Comput., vol. C-18, pp. 1098-1109, Dec. 1969. [6] K. K. Chakrabarti, A. K. Choudhury, and M. S. Basu, "Complementary func- [7] [8] [9] [10] MPII will now be dominated by MPI2: 1) If MPI1 has a head containing no introduced variables, then [11] only the prime implicants of the reduced list are combined to form [12] an MPI. 2) The proof is shown for an MPI with one introduced variable [13] as headfactor. The method of the proof remains unchanged for [14] every other combination of headfactors. Assume function f is given with the complemented input variable of vl. Introduce the variable v2 with v2 = vl'. Two MPI's [15] with the same head are determined. MPIh has a head containing solely the introduced variable v2 and is determined from the [16] prime implicants of the extended Karnaugh map. MPI2 has the same head as MPI1 but without the introduced variable v2 and is determined from the reduced list of prime implicants, according to Theorems 3 and 4. The prime implicants which will be combined to form the MPI's are partitioned into four distinct groups. Prime implicants (PI's) of MPIh are multiplied with the variable v2, because MPII is determined having a head containing the variable v2. The MPI's are compared with each other: Every PPI derived from MPIh will also be derived from MPI2. Q.E.D. tion approach to the synthesis of three-level NAND network," IEEE Trans. Comput., vol. C-19, pp. 509-514, June 1970. S. Y. H. Su and C. W. Nam, "Computer-aided synthesis of multiple-output multilevel NAND networks with fan-in and fan-out constraints," IEEE Trans. Comput., vol. C-20, pp. 1445-1455, Dec. 1971. J. Frackowiak, "The synthesis of minimal hazardless TANT networks," IEEE Trans. Comput., vol. C-21, pp. 1099-1108, Oct. 1972. H. C. Torng, Switching Circuits. Theory and Logical Design. Reading, MA: Addison-Wesley, 1972, ch. 8, pp. 103-130. S. Yajima and K. Inagaki, "Power minimization problems of logic networks," IEEE Trans. Comput., vol. C-23, pp. 153-165, Feb. 1974. D. D. Givone, Introduction to Switching Circuit Theory. New York: McGrawHill, 1970. E. J. McCluskey, Introduction to the Theory of Switching Circuits. New York: McGraw-Hill, 1965. G. A. Blaauw, "Digitale techniek I," Twente University of Technology, P.O. Box 217, EF-library, Enschede, The Netherlands, no. 1261.0525. A. Grasselli and F. Luccio, "A method for minimizing the number of internal states in incompletely specified sequential networks," IEEE Trans. Electron. Comput., vol. EC-14, pp. 535-541, Aug. 1965. H. A. Vink, "The analysis and synthesis of minimal TANT networks," Twente University of Technology, P.O. Box 217, EF-library, Enschede, The Netherlands, no. 1261.1545. H. A. Vink, B. van den Dolder, and J. Al, "Reduction of CC-tables using multiple implication," IEEE Trans. Comput., to be published. Decomposition of Polygons into Convex Sets APPENDIX III Theorem 5: If new names are introduced for complemented input variables of a functionf and the PPI's are determined, then the augmented expressions will also be generated which have tailfactors being a product of complemented and uncomplemented variables. Proof: Assume functionf is given with its complemented variable vi. Introduce the new variable v2 with v2 = vi'. Combine the implicants with head H, except for the empty implicant vl'v2'. The resulting product A of tailfactors will now be combined with H A vuI'v2' and gives product B. Assume that Ti is a product of variables not containing vl or v2. 1) If a tailfactor of A contains the variable vl or v2, then B will contain the same tailfactor. 2) If a tailfactor (Ti)' of A does not contain the variables vI or v2 then B will contain the tailfactors (Ti A vI)Y and (Ti A v2)'. After substitution of v2 by vl', the concerning augmented exQ.E.D. pressions will arise. BRUCE SCHACHTER Abstract-A method is presented for decomposing polygons into convex sets. The method is based upon a Delaunay tessellation ofthe polygon. It is implemented as a divide-and-conquer technique. Index Terms-Pattern recognition, polygon decomposition, tessellation. I. INTRODUCTION This correspondence describes a method for decomposing polygons into convex sets. We are requiring that the edges of the decomposition start and end at vertices (Fig. 1). The decomposition of polygons has a number of practical Manuscript received December 19, 1977; revised March 8, 1978. The author is with General Electric Co., Daytona Beach, FL 32015. 0018-9340/78/1iOO-1078$00.75 (C 1978 IEEE 1079 CORRESPONDENCE (b) (a) Fig. 1. (a) Unrestricted decomposition. (b) Endpoints of the edges of the decomposition restricted to vertices. applications. The convex subsets of a polygon can be considered primitives from which the polygon is built. These primitives may form the basis of a pattern recognition scheme. Convex polygons are convenient in computer graphics. They may be displayed on a CRT without the complicated data structure needed for nonconvex polygons. In general, convex polygons are desirable because many algorithms dealing with convex polygons run an order of magnitude faster than similar algorithms designed to handle arbitrary polygons [1], [2]. The decomposition problem has been studied by Pavlidis and Feng [3], [4] who present two algorithms for its solution. Pavlidis's first technique always produces a minimal decomposition. However, it is considerably more complex than either his second method or the one introduced here. II. TESSELLATIONS OF A POLYGON We will describe two tessellations of a polygon. The first is called a Voronoi tessellation [1]. It is constructed as follows. Let the vertices of a polygon be the nuclei of growing cells. We will grow these nuclei simultaneously toward the interior of the polygon. The border. of a growing cell will freeze at the point of contact with the border of another growing cell. Cells will not be allowed to expand across the boundary of the polygon. An example is shown in Fig. 2(a). Each vertex is the growth center of the Voronoi cell consisting of all the points in the polygon that are nearer to it than to any of the other vertices. Voronoi cells have straight line borders. Each edge of a Voronoi tessellation interfaces two Voronoi cells. Adjacent Voronoi cells are called Voronoi neighbors. If we connect the growth centers of each pair of Voronoi neighbors, we produce a Delaunay (triangular) tessellation [1] of the polygon [Fig. 2(b)]. An important point to note is that the edges of a Delaunay tessellation do not cross. Two vertices of a polygon are said to be straight line connected if they can be connected by a straight line lying entirely within the polygon. Shamos [1] refers to straight line connected vertices as being visible to each other. Two vertices of a polygon will be said to be Delaunay connected if they are the growth centers of Voronoi neighbors. The set of pairs of vertices that are Delaunay connected are a subset of the set of pairs that are straight line connected. III. Two THEOREMS FOR A DECOMPOSITION ALGORITHM Our polygonal decomposition algorithm will be based upon a Delaunay tessellation of the polygon. Actually, we need only construct a partial Delaunay tessellation. That is we need only those Delaunay edges originating at reflex (concave) vertices of the polygon. And of those edges we only want the minimum number needed to decompose the polygon into convex sets. The following two theorems define a procedure for generating Delaunay edges. Theorem 1: The nearest visible vertex V' to a given vertex V is a Voronoi neighbor of V. Let m denote the midpoint between vertices V and V. Point m is on the border of the Voronoi cell having growth center V. Proof: Let Voronoi cells grow circularly (at a uniform rate) about all the vertices of the polygon toward the polygon's interior. These cells are not allowed to expand beyond the boundary of the polygon. Since V and V' are visible to each other and are nearest neighbors, the first point of contact between their growing cells must occur at m. It follows that the edge consisting of points of continuing contact between the growing cells must be the perpendicular bisector of the line segment connecting V and V. V and V' are Voronoi neighbors through this edge. OL Theorem 2: Given one point known to be on the border of a Voronoi cell with growth center V, the entire border of the Voronoi cell can be found. Proof: The Voronoi cell about V is the interior envelope of the perpendicular bisectors of the line segnents joining V and all other visible vertices [5]. To prove the theorem we must first find a point known to be on the border of the Voronoi cell. This point is m, the midpoint between V and its nearest visible neighbor V' (by Theorem 1). We start our construction of the Voronoi cell about V by drawing the perpendicular bisector, b, of V and V'. Next draw the perpendicular bisectors of V and all other visible vertices V1, , V.. Label these bisectors b1, --., b". The interior envelope of the bisectors is located as follows. Start at point m. Travel along line b (possibly leaving the polygon) until the first point of intersection with line b, or b2 or ... or b. is found. Say that bk is the first such line. Branch off b onto bk heading in the direction that brings you closer to V. Continue traveling along bk until the first point of contact with another bisector is found. Proceed in this manner until the traversal of the interior envelope of the bisectors is complete. The vertices, whose bisectors with V are traversed are Delaunay connected to V. El The above construction is considerably more work than is required. In practice, we can terminate the construction once a Delaunay edge is found that eliminates the reflex vertex at V. This Delaunay edge will be said to resolve vertex V. Consider the example shown in Fig. 3. The shaded area in the diagram is thebcone formed by extending the polygonal edges ending at reflex vertex B toward the interior of the polygon. We will call this cone the inner cone of B. Vertex B can be resolved by an edge connecting B to any visible vertex within B's inner cone [Fig. 3(b)]. However, we are not assured that there will be a visible vertex within a reflex vertex's inner cone. Consider the example shown in Fig. 4(a). Vertex B may now be resolved by connecting it to the visible vertices to the immediate right and left of its inner cone [Fig. 4(b)]. 1080 COMPUTERS, VOL. c-27, NO. IEEE TRANSACTIONS ON Not~ 11111 22222222 2222 2 2 222 2 2 2 2 ? 2 2 22 2 2 2 7 7 22 '~b 3 0666 ~~~2 2 2 2 2 2 2 2b 2? 2 2 2 2 2 2 2 2 2 2 2 2~~~~~~~ 33 6'k33 66 J 3 .3 3 33 3 3 3 2 2 2-) s3 6 6 6 6 6 6 3.333 3 636b 6 6 6 6 6 666 6 6 '6 6 6 6 6 6 2 2 2 2 2 2 2 2 2 26 6 6b 6 6 6 6 6 6 6 6 6 6 6 6 2 222 22 2 22 2 22 2 2? 2 6 6 66 6 6b666 6 666 6 6 6 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2./ 266&6 6 6 6 6 6 6 6b 6 6 6 6 6 6 6 6 6 66 2 6 6 6 6 2 2 2 22 24 6o 6 6 6 66 6 66 66 66 6 6 6 6 77 6 6 66 22.2 2 2 e 6 22 22 222 22 --"66 O 66 4 4 72 2 6666666-666666666, 6 4 6 6 6 6 6 6 6 6 6 6 6 6 6-" 6 777.. e 46 6 6 6 6 6 6 6 6 6 6 2 22 2 ~ 22?2 3 3 3 1 13' ~~~~~~~~~~2 IIj~~~~~~~~~ ~3 2 2 2 2 2 22 2 2 6 22 222 e 6? 2 22.22222 77777727777222'22 222222a2>,< -7 ~ - 22 22 < 66 66 ~ ,,,, < 6 6 6 b 6 66666666666666666666A 5 S 5 S sv54 & 6 6 6 6 6 6 6 6 6 6 66)' b 6666666666666 6 6 6 6 ~~66 666 6 6 6 6bb66""c 6ia 6b66b66666'qqqa4 (a)~~~~~~~~~~~~~~~~~~~~~~04 I(b) _ Fig 2. (a) Voronoi tessellation gon are given of a polygon (dashed lines). Points within the vertex. (b) Delaunay (triangular) the label of the nearest of a polygon (solid linesX poly- tessellation 6 11, NOVEMBER 1978 1081 CORRESPONDENCE (b) (a) Fig. 3. Example showing a reflex vertex having a visible vertex within its inner cone. (b) (a) Fig. 4. Example showing a reflex vertex having no visible vertex within its inner cone. IV. THE DECOMPOSITION ALGORITHM The following subroutine resolves a reflex vertex of a polygon. It generates either one or two Delaunay edges originating at that vertex. Note that each Delaunay edge splits a polygon into two subpolygons. Delaunay Subroutine. 1) Let V denote an as yet unresolved reflex vertex of a polygon. 2) Find the nearest visible vertex to V, label it V'. 3) If Vr is within the inner cone of V, connect V to V' and return. 4) Locate the midpoint between V and V'. Label it m. 5) Starting at m construct the Voronoi cell about V. (Use the procedure described in Theorem 2.) For maximum efficiency direct the construction toward the inner cone of V. Construction can be terminated once either a) a single Delaunay edge within the inner cone is found, or b) a pair of Delaunay edges to the immediate right and left of the inner cone is found. 6) Connect V to the vertex, or pair of vertices, found in step 5). Return. This subroutine may be called either iteratively or recursively. An iterative algorithm calls the subroutine once for each reflex vertex. A recursive algorithm works in the manner of "divide and conquer." The subroutine is initially applied to the entire polygon, and then recursively to each subpolygon created; until no nonconvex subpolygons remain. Three examples are shown in Fig. 5. V. COMPUTATIONAL COMPLEXrrY We will now derive an estimate for the computational complex- ity of the decomposition algorithm. First, consider the time required to resolve a single reflex- vertex. The subroutine given in Section IV will resolve a reflex vertex V by connecting it to either one or two other vertices of the polygon. It does so by first obtaining Vs visibility list, and then constructing a partial Voronoi cell around V. The set of vertices visible to V can be obtained (in increasing or decreasing polar angle) in ((N) time [2]. Let N, < N be the number of vertices visible to V. The Voronoi cell having growth center V is the interior envelope of N, bisectors. It can be constructed in (9(N,) time [6]. Thus each call of the Delaunay subroutine takes (3(N) + ((NV) (9C;)(N) time. An iterative version of the algorithm calls the Delaunay subroutine once for each reflex vertex. Thus it will decompose an N-gon having m reflex vertices in ((mN) time. For a recursive version of the algorithm, let us first consider a best case analysis. Suppose that each call of the Delaunay subroutine generates a single Delaunay edge to partition an N-gon having m reflex vertices into two polygons, each having IN + 1 vertices and im - reflex vertices. We first apply a recursive algorithm to the entire N-gon, then to each of the two ( N + I)-gons just created, and so on until the decomposition is completed. The recursive equation for this process is T(N, m) = 2T(JN + 1, im - 1) + (9(N). Its approximate solution is T(N, m) = ((N log m). If the decomposition is asymmetric, the recursive equation becomes T(N, m) = T(N1, ml) + T(N2, M2) + (9(N), where N1 + N2 = N +2, and M1 + m2 = m -1. A worst case polygon would have N1 = 3. That is, one of the subpolygons created is always a triangle. The recursive equation for this case is T(N, m)= T(N- 1, m- 1) + 9(N). Its solution is T(N, m) = tive algorithm. (9(mN), which is no better than the itera- VI. DISCUSSION We presented a simple algorithm for decomposing a polygon. The algorithm will not always yield a minimum number of subsets in the decomposition. For the examples shown in Fig. 5, (a) and (b) are minimal decompositions; while (c) has two extra Delaunay edges. A postprocessing step could be added to the algorithm to eliminate any superfluous Delaunay edges. 1082 IEEE TRANSACTIONS ON COMPUTERS, VOL. c-27, NO. 11, NOVEMBER 1978 (a) (b) (c) Fig. 5. Three examples of polygonal decomposition. ACKNOWLEDGMENTS I wouldlike t thankS.S.:Dix, Dix C. Dyr, Pvlidis D. T. I would -like to. thankProf. T. Pavlidis, Dyer, Pro. Lee, and J. Van Loo for their thoughtful comments on this correspondence. Fig. 1 was provided by Errol Lloyd. REFERENCES [1] M. Shamos, Computational Geometry. New York: Springer-Verlag, 1977. [21 , Problems in Computational Gemetry, Carnegie-Mellon Univ., Tech. Rep. [3] T. Pavlidis, "Analysis of set patterns," Pattern Recognition, vol. 1, pp. 165-178, 1968. [41 H. Feng and T. Pavlidis, Decomposition of polygons-into simplercomponents," IEEE Trans. Comput., vol. C-14, pp. 636-650, June 1975. [5] D. Rhynsburger, "Analytic delineation of Thiessen polygons," Geographical Analysis, vol. 5, pp. 133-144, Apr. 1973. [6] D. T. Lee and F. Preparata, "An optimal algorithm for finding the kernel of a [7] polygon," to be published. E. Lloyd, "On triangulations of a M.f.T./LCS/TM-88, 1977. set of points in the plane," Masters thesis,
© Copyright 2026 Paperzz