判断图形是否碰到了另外一个图形

def collide(self, s2):
        """ 判断图形是否碰到了另外一个图形 """
        s1 = self
        
        s1.update_points()
        s2.update_points()

        if not (s1.points and s2.points):
            return False

        t1 = s1.transform
        t2 = s2.transform

        t1.update_points(s1.points)
        t2.update_points(s2.points)

        # 更新外接矩形
        t1.update_collision_rect()
        t2.update_collision_rect()

        # simple collide rect
        if not (t1.min_x < t2.max_x and t1.max_x > t2.min_x \
                and t1.min_y < t2.max_y and t1.max_y > t2.min_y):
            return False

        return points_in_points(t1, t2) or \
               points_in_points(t2, t1) or \
               lines_cross(t1, t2)