矩形几何运算与实现
1. 点是否在矩形内的判断
要判断一个点 $P$ 是否在矩形内,可使用以下两个条件:
- $left < P_x < right$
- $bottom < P_y < top$
以下是实现该功能的 Python 代码:
class Rect:
# --snip--
def contains_point(self, point: Point):
return self.left < point.x < self.right \
and self.bottom < point.y < self.top
这里利用了 Python 中复合不等式的优美语法,在其他大多数语言中, left < point.x < right 需表示为 left < point.x && point.x < right 。
2. 矩形相交判断
判断两个矩形是否重叠,可转化为判断它们在 $x$ 轴和 $y$ 轴上的投影是否重叠。矩形在坐标轴上的投影可看作一个区间,例如,矩形在水平轴上的投影可表示为 $(O_x, O_x + w)$,其中 $O$ 为原点,$w$ 为矩形宽度;垂直投影为 $(O_y, O_y + h)$,$h$ 为矩形高度。
两个矩形重叠的条件用开区间表示为:
[
\be
订阅专栏 解锁全文
425



被折叠的 条评论
为什么被折叠?



