可能重复:
多边形相交的简单算法
我正在寻找有关如何快速计算两个任意方向的四边形的交集的大纲(没有预设的角角或边长限制)。我不是要简单地检查它们是否相交,而是希望得到构成结果相交区域的点。我知道通常多边形相交不是一个微不足道的问题,并且有一些可用的库可以做得很好。
但是由于在这种我只关心四个边的形状的特殊情况下,我想知道是否有一种快速方法可以使用,而无需在我的应用程序中包含整个额外的库。
到目前为止,我想到的是:
- 在两个形状上相对于彼此运行“多边形中的点”
- 将每个多边形的每条边彼此相交
上述两个步骤是否最终让我得到了构成结果交叉区域的所有点?有没有更好的使用方法?
如果我能得到构成结果区域的点的正确顺序,那将是很好的。这不是强制性的——如果你知道任何聪明/快速的方法来做这件事(凸壳?)我会很感激任何建议。