The edge distortion d(c
i
, c
j
) is then computed as the maximum distance of the boundary
points that lie between c
i
and c
j
, from the edge
−−→
c
i
c
j
. If there are L boundary points
between the two end points of an edge, then L distances need to be computed using (5)
while determining the edge distortion of that edge. The conventional algorithm involves
the determination of
N
C
(N
C
−1)
2
number of edge distortions. Therefore, the conventional
algorithm is computationally intensive.
In [6], a sliding window is employed to reduce the numbers of edges in the DAG and
thereby reduce the total number of edge distortions that need to be computed. The main
idea is to restrict the number of admissible edges for each vertex within a window of
fixed length. The length of the window is predefined with an ad-hoc value; the smaller
the size of the window, the higher the speed-up. However, smaller window size may not
include all the admissible edges and therefore, it is less likely to yield optimal number
of vertices. The sliding window algorithm (SWA) provides improvement in speed at the
cost of being sub-optimal.
Another fast algorithm called Modified Schuster & Katsaggelos algorithm (MSK)
is presented in [7]. The main idea in this algorithm is to declare all the edges that lie
beyond the graph vertex at which the polygon edge distortion exceeds twice the error
threshold as inadmissible edges. This is equivalent to adapting the window size as we
scan along the graph based on the edge distortion observed at the current vertex.
5 Proposed Computationally Efficient Optimal Algorithm
The reference fast algorithms described in the previous section focus only on reducing
the number of edges in the DAG; thus, they do not reduce the complexity associated
with the computation of edge distortion to determine if that edge is a valid edge. In
order to achieve higher speed-up performance, we employ a different approach called
cone intersection method to the problem of determining whether an edge is a valid edge.
Suppose we wish to determine the set of all admissible edges starting from a vertex
c
i
. Consider the point c
i+1
. Let T
i+1
be the cone of straight lines formed by a disk of
radius δ centered at c
i+1
. The set of the straight lines from c
i
that lie within a distance
δ from c
i+1
are within the cone T
i+1
. Considering the next scan-point on the boundary,
c
i+2
, the set of the admissible straight lines from c
i
that lie within a distance δ from
both c
i+1
and c
i+2
are within the cone, T
i+1
T
T
i+2
. For a boundary point c
j
, the cone
of admissible straight lines that lie within a distance of δ from all the boundary points
in the current scan is S
j
= (T
i+1
T
T
i+2
. . .
T
T
j
). At each stage, we test if the current
boundary point c
j
lies within the cone S
j
. If the test succeeds, then the edge
−−→
c
i
c
j
is an
admissible edge; otherwise, it is an inadmissible edge.
Proposed Algorithm:
R
0
= 0;
for (i = 1, . . . N
C
) {
R
i
= ∞
}
for (i = 0, . . . N
C
− 1) {
108