地球坐标系中,有两个矩形框,每个矩形框有四个坐标顶点构成,求两个矩形框是否相交,写出Python代码
时间: 2024-11-22 11:43:59 浏览: 8
图像中检测出的m个小矩形框按照彼此相邻合并成n个大矩形框C++代码
在地球坐标系中,由于空间维度较高,通常涉及到的是三维坐标而不是二维的矩形框。但假设这里是指二维平面情况下的矩形。我们可以创建一个函数,判断两个矩形是否至少有一个共同的边:
```python
class Rectangle:
def __init__(self, top_left, bottom_right):
self.top_left = tuple(top_left)
self.bottom_right = tuple(bottom_right)
def is_intersects(self, other):
x1, y1 = self.top_left
x2, y2 = self.bottom_right
x3, y3 = other.top_left
x4, y4 = other.bottom_right
# 检查x轴方向的交集
if (x1 <= x3 <= x2) or (x1 <= x4 <= x2):
if (y1 <= y3 <= y2) or (y1 <= y4 <= y2):
return True # 至少有一边交
# 检查y轴方向的交集
elif (y1 <= y3 <= y2) or (y1 <= y4 <= y2):
if (x1 <= x3 <= x2) or (x1 <= x4 <= x2):
return True # 至少有一边交
return False # 无交集
# 示例
rect1 = Rectangle((0, 0), (5, 5))
rect2 = Rectangle((3, 3), (8, 8))
if rect1.is_intersects(rect2):
print("矩形相交")
else:
print("矩形不相交")
阅读全文