We present an iterative procedure that, given a polygonsl chain, generates an approximation of it, with a smaller number of vertices. The procedure approximates the polygonal chain by selecting a subset of vertices from the original chain. The line segments defined by the selected vertices form a candidate for the final approximation chain.
Initially the algorithm approximates the polygonal chain by one straight line segment that connects its two endpoints. This approximation is tested using a distance criterion (a parameter that can be varied). If the criterion is not acceptable, the line segment is sub-divided into two segments at the curve point most distant from the straight line segment. This procedure is recursively repeated until the resulting approximation satisfies the error tolerance specified for the given distance criterion.