conference paper

Algorithms and Lower Bounds for the Maximum Overlap of Two Polygons Under Translation

Abstract

International audienceA fundamental problem in shape matching and geometric similarity is computing the maximum area overlap between two polygons under translation. For general simple polygons, the best-known algorithm runs in O((nm)2log(nm))O((nm)^2 \log(nm)) time [Mount, Silverman, Wu 96], where nn and mm are the complexities of the input polygons. In a recent breakthrough, Chan and Hair gave a linear-time algorithm for the special case when both polygons are convex. A key challenge in computational geometry is to design improved algorithms for other natural classes of polygons. We address this by presenting an O((nm)3/2log(nm))O((nm)^{3/2} \log(nm))-time algorithm for the case when both polygons are orthogonal. This is the first algorithm for polygon overlap on orthogonal polygons that is faster than the almost 30 years old algorithm for simple polygons. Complementing our algorithmic contribution, we provide kk-SUM lower bounds for problems on simple polygons with only orthogonal and diagonal edges. First, we establish that there is no algorithm for polygon overlap with running time O(max(n2,nm2)1ε)O(\max(n^2,nm^2)^{1-\varepsilon}), where mnm\leq n, unless the kk-SUM hypothesis fails. This matches the running time of our algorithm when n=mn=m. We use part of the above construction to also show a lower bound for the polygon containment problem, a popular special case of the overlap problem. Concretely, there is no algorithm for polygon containment with running time O(n2ε)O(n^{2-\varepsilon}) under the 33-SUM hypothesis, even when the polygon to be contained has m=O(1)m=O(1) vertices. Our lower bound shows that polygon containment for these types of polygons (i.e., with diagonal edges) is strictly harder than for orthogonal polygons, and also strengthens the previously known lower bounds for polygon containment. Furthermore, our lower bounds show tightness of the algorithm of [Mount, Silverman, Wu 96] when m=O(1)m=O(1)

Similar works

Full text

thumbnail-image

INRIA a CCSD electronic archive server

redirect
Last time updated on 08/11/2025

This paper was published in INRIA a CCSD electronic archive server.

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.

Licence: info:eu-repo/semantics/OpenAccess