我试图解决两个矩形相交/重叠时的问题。当这种情况发生时,我想知道交叉点是对还是错。我找到了一个解决方案,但是它是用C或C ++编写的。我想用Python编写这些代码。
以下是来源:http://www.jeffreythompson.org/collision-detection/rect-rect.php
答案 0 :(得分:0)
这实际上是我编写的python代码的第一行(不过我确实知道C ++)
def rectRect(r1x, r1y, r1w, r1h, r2x, r2y, r2w, r2h):
# are the sides of one rectangle touching the other?
return r1x + r1w >= r2x and # r1 right edge past r2 left
r1x <= r2x + r2w and # r1 left edge past r2 right
r1y + r1h >= r2y and # r1 top edge past r2 bottom
r1y <= r2y + r2h # r1 bottom edge past r2 top
恕我直言rectRect
对于这个函数来说真是个坏名字,但是我还是从链接代码中保留了它。