We propose a technique called Rotate-and-Kill for solving the polygon inclusion and circumscribing problems. By applying this technique, we obtain $O(n)$ time algorithms for computing (1) the maximum area triangle in a given $n$-sided convex polygon $P$, (2) the minimum area triangle enclosing $P$, (3) the minimum area triangle enclosing $P$ touching edge-to-edge, i.e. the minimum area triangle that is the intersection of three half-planes out of the $n$ half-planes defining $P$, and (4) the minimum perimeter triangle enclosing $P$ touching edge-to-edge. Our algorithm for computing the maximum area triangle is simpler than the alternatives given in [Chandran and Mount, IJCGA'92] and [Kallus, arXiv'17]. Our algorithms for computing the minimum area or perimeter triangle enclosing $P$ touching edge-to-edge improve the $O(n\log n)$ or $O(n\log^2n)$ time algorithms given in [Boyce \emph{et al.}, STOC'82], [Aggarwal \emph{et al.}, Algorithmica'87], [Aggarwal and J. Park., FOCS'88], [Aggarwal \emph{et al.}, DCG'94], and [Schieber, SODA'95].
翻译:我们提出一种名为“旋转-消去”(Rotate-and-Kill)的技术,用于解决多边形包含与外接问题。通过应用该技术,我们获得了$O(n)$时间的算法,用于计算:(1)给定$n$边凸多边形$P$内的最大面积三角形;(2)包含$P$的最小面积三角形;(3)边对边接触的包含$P$的最小面积三角形,即由定义$P$的$n$个半平面中三个半平面交集构成的最小面积三角形;(4)边对边接触的包含$P$的最小周长三角形。我们的最大面积三角形计算方法比[Chandran and Mount, IJCGA'92]和[Kallus, arXiv'17]中的备选方案更简洁。计算边对边接触的包含$P$的最小面积或周长三角形的算法,改进了[Boyce \emph{et al.}, STOC'82]、[Aggarwal \emph{et al.}, Algorithmica'87]、[Aggarwal and J. Park., FOCS'88]、[Aggarwal \emph{et al.}, DCG'94]以及[Schieber, SODA'95]中给出的$O(n\log n)$或$O(n\log^2n)$时间算法。