Discrete Comput Geom 23:273–291 (2000) Discrete & Computational DOI: 10.1007/s004549910018 Geometry © 2000 Springer-Verlag New York Inc.
Efficient Algorithms for Approximating Polygonal Chains
P. K. Agarwal1 and K. R. Varadarajan2
1 Center for Geometric Computing, Department of Computer Science, Duke University, Durham, NC 27708-0129, USA [email protected]
2 DIMACS, Rutgers University, Piscataway, NJ 08854, USA [email protected]
Abstract. We consider the problem of approximating a polygonal chain C by another polygonal chain C 0 whose vertices are constrained to be a subset of the set of vertices of C. The goal is to minimize the number of vertices needed in the approximation C 0. Based on a framework introduced by Imai and Iri [25], we define an error criterion for measuring the quality of an approximation. We consider two problems. (1) Given a polygonal chain C and a parameter ε 0, compute an approximation of C, among all approximations whose error is at most ε, that has the smallest number of vertices. We present an O(n4/3+ )-time algorithm to solve this problem, for any >0; the constant of proportionality in the running time depends on . (2) Given a polygonal chain C and an integer k, compute an approximation of C with at most k vertices whose error is the smallest among all approximations with at most k vertices. We present a simple randomized algorithm, with expected running time O(n4/3+ ), to solve this problem.
1. Introduction
Let C =hp1,...,pni denote a polygonal chain whose vertices are p1,...,pn and whose , ,..., 0 =h = ,..., = i edges are p1 p2 p2 p3 pn 1 pn. A polygonal chain C pi1 p1 pik pn is an approximation of C if i1 < < ik (Fig. 1).