如何判断点P(px,py)是否位于矩形Rect(x,y,w,h)内部?
点与矩形位置判断算法
给定左上角坐标为(x, y)、宽度为w、高度为h的矩形,以及坐标为(px, py)的点P,判断点是否在矩形内部的核心逻辑基于坐标区间匹配:
核心判断条件
以常见的屏幕坐标系(y轴向下递增)为例,矩形的有效坐标范围为:
- 横向:左边界
x到右边界x + w - 纵向:上边界
y到下边界y + h
点P位于**矩形内部(包含边界)**的条件:
x ≤ px ≤ x + w 且 y ≤ py ≤ y + h
若需判断点是否在严格内部(不含边界),则条件调整为:
x < px < x + w 且 y < py < y + h
代码示例(Python)
# 判断点是否在矩形内(包含边界) def point_in_rect(x, y, w, h, px, py): return x <= px <= x + w and y <= py <= y + h # 判断点是否在矩形严格内部(不含边界) def point_strictly_in_rect(x, y, w, h, px, py): return x < px < x + w and y < py < y + h
内容的提问来源于stack exchange,提问作者Lưu Phạm Thị
相关产品推荐
相关产品推荐

