Computational geometry: an introduction
Computational geometry: an introduction
A linear time algorithm with minimum link paths inside a simple polygon
Computer Vision, Graphics, and Image Processing
On decomposing polygons into uniformly monotone parts
Information Processing Letters
On monotone paths among obstacles with applications to planning assemblies
SCG '89 Proceedings of the fifth annual symposium on Computational geometry
Triangulating a simple polygon in linear time
Discrete & Computational Geometry
Network flows: theory, algorithms, and applications
Network flows: theory, algorithms, and applications
Algorithm Design
Computational Geometry: Algorithms and Applications
Computational Geometry: Algorithms and Applications
Multiple-Source Multiple-Sink Maximum Flow in Directed Planar Graphs in Near-Linear Time
FOCS '11 Proceedings of the 2011 IEEE 52nd Annual Symposium on Foundations of Computer Science
Fast algorithm for polygon decomposition
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Hi-index | 0.00 |
Polygon partitioning is an important problem in computational geometry with a long history. In this paper we consider the problem of partitioning a polygon with holes into a minimum number of uniformly monotone components allowing arbitrary Steiner points. We call this the MUMC problem. We show that, given a polygon with n vertices and h holes and a scan direction, the MUMC problem relative to this direction can be solved in time O(nlogn+hlog^3h). Our algorithm produces a compressed representation of the subdivision of size O(n), from which it is possible to extract either the entire decomposition or just the boundary of any desired component, in time proportional to the output size. When the scan direction is not given, the problem can be solved in time O(K(nlogn+hlog^3h)), where K is the number of edges in the polygon's visibility graph. Our approach is quite different from existing algorithms for monotone decomposition. We show that in O(nlogn) time the problem can be reduced to the problem of computing a maximum flow in a planar network of size O(h) with multiple sources and multiple sinks. The problem is then solved by applying any standard network flow algorithm to the resulting network. We also present a practical heuristic for reducing the number of Steiner points.