python中不精确的矩形碰撞检测
我有以下代码:python中不精确的矩形碰撞检测,python,Python,我有以下代码: def collideRect(r1,r2,r3,r4): """Tests for collisions between two rectangles""" if r1[0]<r4[0] and r2[0]>r3[0] and r1[1]<r4[1] and r2[1]>r3[1]: return True return False 对于使用此函数的应用程序,我需要它具有足够的通用性,以便能够准确计算矩形交点,而
def collideRect(r1,r2,r3,r4):
"""Tests for collisions between two rectangles"""
if r1[0]<r4[0] and r2[0]>r3[0] and r1[1]<r4[1] and r2[1]>r3[1]:
return True
return False
对于使用此函数的应用程序,我需要它具有足够的通用性,以便能够准确计算矩形交点,而无需为两个矩形定义相同的角
解决此问题的简单方法是什么?您可以使用以下功能确保具有左下角和右上角:
def standardize(p1, p2):
xs, ys = zip(p1, p2)
return (max(xs), max(ys)), (min(xs), min(ys))
通过使用以下功能,可以确保具有左下角和右上角:
def standardize(p1, p2):
xs, ys = zip(p1, p2)
return (max(xs), max(ys)), (min(xs), min(ys))
事实证明,碰撞检测是一个非常重要的问题。更不用说定义对角意味着可以旋转和无效的矩形。事实证明碰撞检测是一个非常重要的问题。更不用说定义对角意味着可以有旋转的和无效的矩形。谢谢,这很好用!我意识到这个问题很简单,也许我应该自己解决,但无论如何谢谢你的帮助!谢谢,效果很好!我意识到这个问题很简单,也许我应该自己解决,但无论如何谢谢你的帮助!