0

给定两个简单的多边形 P 和 Q,其中 P 是凸的,但 Q 不是凸的,如果 P 有 n 并且 Q 有 m 个顶点,那么计算 P 和 Q 之间的差 $P - Q$ 的速度有多快?

可以假设多边形是作为按顺时针方向排序的顶点列表给出的。

4

1 回答 1

0

“多快”取决于很多参数,所以我认为,我们应该首先从如何做开始。

首先,我假设多边形位于同一平面上。从计算 P 的每条线与 Q 的每条线的有限交点开始。如果存在交点并且交点位于相交线上(我的意思是在起点和终点之间,而不是在它们之上),则将线一分为二并继续有限线-线交叉点迭代。然后,通过使用多边形计算中的点和线段的中点对每个线段进行分类(现在我可以将它们称为线段,因为它们都被分割)......内部,外部或 OnthePolygon...分类后构造一个来自位于 Q 外部的 P 线和位于 P 内部的 Q 线的新多边形。在这里,您的挑战将是处理位于彼此上的公差和线。乍一看,整体算法是这样的..

该算法可以通过计算它们的范围(每个轴的最小值和最大值)来消除线条甚至多边形来改进。除硬件、编程语言或数据处理参数外,此操作的速度取决于输入多边形及其方向。

于 2012-04-01T13:42:50.803 回答