A polygonal chain is a series of points connected by line segments. They are commonly used to represent cartographic features (e.g. coastlines, rivers, roads) in the context of GIS (Geospatial Information System), vectorization of digital images in applications like computer vision, or in any application that uses vector graphics.
It is often infeasible to maintain the original complexity of a polygonal chain, either because of size and/or computational constraints. Algorithms to simplify polygonal chains are therefore needed to reduce the complexity of the original chain by reducing the number of points while minimizing the variance from the initial structure.
The Ramer-Douglas-Peuker algorithm is commonly used for this task.
Also known as the iterative end-point fit algorithm, it works by recursively processing the line segment between endpoints, dividing the segment until all original points are with the error distance from the approximating segments. The expected running time of the algorithm is Θ(n log n), with a worst case of O(n2).
While generally fast, the algorithm doesn't minimize the number of the segments in the approximation.
Here, we examine an algorithm introduced by Iri and Imai that addresses the problem of minimizing line segments. While the original method has a time complexity of O(n3), we will also present an extension to the algorithm given by Eu and Toussaint in their paper, On Approximating Polygonal Curves in Two and Three Dimensions that improves the time complexity to O(n2), perhaps making it a practical alternative to the Ramer-Douglas-Peuker algorithm for certain applications.
We will present salient concepts associated with the algorithm, as well as an interactive demonstration.