square1 =(47,15)(51,15)(51,19)(47,19)
square2 =(19,0)( - 27,46)(19,92)(65,46)
这两个方块可能与X轴或Y轴不平行。
这两个方块不相交,但如何从这些点以数学方式找到它?
答案 0 :(得分:0)
对于边与Y轴和Y轴平行的情况,您可以使用以下(简单形式,无性能优化):
(min(square2.x1, square2.x2) <= max(square1.x1, square1.x2)) and
(min(square1.x1, square1.x2) <= max(square2.x1, square2.x2)) and
(min(square2.y1, square2.y2) <= max(square1.y1, square1.y2)) and
(min(square1.y1, square1.y2) <= max(square2.y1, square2.y2))
答案 1 :(得分:0)
对于任意旋转的方块,您可以使用Separating Axes Theorem(SAT)方法。 One more explanation
检查第一凸多边形是否位于第二凸多边形的外侧,反之亦然。这种方法非常有效。