我已经实现了一个函数来检查两个多边形 p1 和 p2 的重叠,以验证 p1 是否与 p2 重叠,该函数获取 p1 的每个边缘并测试它的一个点是否在 p2 内部而不是 p2 的边缘(它们可以共享一条边)。
该函数工作得很好,问题是它被调用了一千次,它使我的程序非常慢,因为它必须逐点迭代每个边缘,我只检查 4 个多边形重叠的情况,它们是:
如果一个三角形与一个三角形重叠。
如果三角形与矩形重叠。
如果三角形与平行四边形重叠。
如果一个矩形与一个平行四边形重叠。
有没有更简单快捷的方法来检查这些重叠情况是否发生?