Python 检查正方形是否包含在另一个正方形中

Python 检查正方形是否包含在另一个正方形中,python,opengl,pyglet,Python,Opengl,Pyglet,所以我正在用pyglet(opengl)用python做一个小项目。 当我点击屏幕上的一个点时,会生成一个正方形,该正方形从坐标相等地展开 例如,如果我点击(100100),就会从(99,99)中画出边长为3的正方形。左下角点每世代减少(-1,-1),边长增加2 我想做的是有一种方法来检测正方形是否在窗口的边界之外,这样我就可以从我的正方形集合中删除它 我现在做的只是检查所有的角落都在窗户里面,但是必须有更好的方法来做到这一点吗?我有边长,正方形的中心和左下角的点供我使用 这是我的square类

所以我正在用pyglet(opengl)用python做一个小项目。 当我点击屏幕上的一个点时,会生成一个正方形,该正方形从坐标相等地展开

例如,如果我点击(100100),就会从(99,99)中画出边长为3的正方形。左下角点每世代减少(-1,-1),边长增加2

我想做的是有一种方法来检测正方形是否在窗口的边界之外,这样我就可以从我的正方形集合中删除它

我现在做的只是检查所有的角落都在窗户里面,但是必须有更好的方法来做到这一点吗?我有边长,正方形的中心和左下角的点供我使用

这是我的square类,我看到的方法是in_bounds方法。现在它又回到了现实。以前我计算每个角点,但我认为使用一个具有长度的单点更好

class Square:

    def __init__(self, x, y, x_max, y_max):
        self.center = (x,y)
        self.point = (x-1, y-1)
        self.length = 3
        self.x_bound = x_max
        self.y_bound = y_max

    def next(self):
        self.point = (self.point[0] - 1, self.point[1] - 1)
        self.length += 2

    def in_bounds(self):
        return True
        #return not (self.top_left[0] < 0 and self.top_right[0] > self.xbound and self.bot_left[1] < 0 and self.top_left[1] > self.ybound)
class Square:
定义初始值(self,x,y,x_max,y_max):
自中心=(x,y)
self.point=(x-1,y-1)
self.length=3
self.x_bound=x_max
self.y_bound=y_max
def next(自我):
self.point=(self.point[0]-1,self.point[1]-1)
自我长度+=2
定义范围(自):
返回真值
#返回not(self.top\u left[0]<0和self.top\u right[0]>self.xbound和self.bot\u left[1]<0和self.top\u left[1]>self.ybound)

编辑:我的边界将是一个矩形。

只需三个点即可。给定边界内的一个点(如左上角),可以检查右上角点是否在正x方向超过边界,左下角点是否在负y方向超过边界


这假设边界是正方形的。第四个点不能超过已经测量的点的长度(x,y)。

是的,很抱歉忘了提到我的边界是一个矩形。那也可以。所有的正方形都是矩形。因此,如果一个角上的平方超过了边界线的值,那么另一个角上的平方将超过边界线的值。不过,我应该更通俗一点。