792 Chapter 13 Computational Geometry Topics
convention is made that the edge d
0,n−1
is considered to be a diagonal. The optimiza-
tion is done from the bottom up, so for initialization we need w
i,i+1
=−1 for all i.
As indicated in Keil (1985), P
ik
can have exponentially many decompositions that
attain weight w
ik
. However, by defining equivalence classes of decompositions, the de-
composition of P
ik
is simplified. Each decomposition of P
ik
has an associated pair of
vertex indices [a, b], with possibly a =b, the vertices with indices a, i, k, b occurring
in clockwise order in one of the convex polygons in the decomposition. Two decom-
positions are equivalent if they have the same weight and the same associated pair of
indices. Additionally, some minimum decompositions are labeled as narrowest pairs,
those whose convex regions in a small neighborhood of d
ik
do not contain the con-
vex region of any other minimum decomposition of P
ik
. Keil (1985) observed that
only narrowest pairs need to be considered when constructing solutions to the sub-
problem P
ik
. Figure 13.76 shows an original polygon (upper left) and 11 minimum
convex decompositions. The narrowest pairs are shaded in gray. As it turns out, the
angular order of diagonals d
ij
1
through d
ij
k
, counterclockwise about a vertex V
i
, is the
same as the order of the vertices V
j
1
through V
j
k
, counterclockwise about the poly-
gon. A consequence of this observation is that narrowest pairs for the subproblem
P
ik
can be tested for by just comparing indices of the associated pairs. Any associated
pair [a
0
, b
0
] of a potential decomposition is discarded whenever another associated
pair [a
1
, b
1
] with smaller indices is encountered; if a
1
≤ a
0
, it must also be the case
that b
1
≤ b
0
. As narrowest pairs for the subproblem for P
ik
are computed, they are
pushed onto a stack so that the pairs from the bottom to the top of the stack are in
counterclockwise order about vertices V
i
and V
k
. The stack for the polygon in Fig-
ure 13.76 will contain [1, 3], [3, 4], and [6, 8], the last pair being the top of the stack.
The diagonals d
06
and d
89
thereby form the narrowest pair that is furthest counter-
clockwise.
Another key idea involves canonical triangulations of the convex polygons in the
decomposition. Each triangulation of a convex polygon is a triangle fan where the
base vertex of the fan is a reflex vertex of that convex polygon. Figure 13.77 illustrates
the canonical triangulations. The polygon of the figure is from Keil and Snoeyink
(1998), but with the vertices labeled differently to meet the constraint in the paper
that V
0
is a reflex vertex. The reflex vertex used as the base vertex of a fan has the
smallest index of all reflex vertices in the convex polygon for which the fan is con-
structed. Keil and Snoeyink mention the following observations. In a canonical tri-
angulation of the original polygon P , each diagonal d
ik
with i<ksatisfies three
conditions with respect to subpolygon P
ik
:
1. The diagonals with end points in P
ik
define a canonical triangulation of P
ik
.
2. If V
i
is a reflex vertex of P , then for the triangle V
i
, V
j
, V
k
with i<j<k, either
j = k −1ord
jk
is a diagonal used in the convex decomposition.
3. If V
i
is not a reflex vertex of P , then V
k
is a reflex vertex. For the triangle
V
i
, V
j
, V
k
with i<j<k, either j =i +1ord
ij
is a diagonal used in the convex
decomposition.