Decomposition of Polygons into Convex Sets

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,