体育新闻

游戏规则观察:矩形区域相交与仅仅接触(练习26)

2026-10-21

两个矩形的边挨在一起,与覆盖了一块有面积的区域不同。分别求横向和纵向的公共长度,再相乘,可以明确区分分离、接触和真正重叠。

以下是为了练习规则阅读而设计的独立场景。所有输入在这里完整列出,可以先自己记录结果,再对照后面的计算。它不声称对应某款现成游戏;如果实际说明中的边界或处理顺序不同,应以该说明重新演算。

条件与输入

本例矩形与坐标轴平行,宽高为正。左边和下边包含,右边和上边不包含;交叠宽度或高度为零就算无面积交集,不把接触边当作覆盖区域。

公共宽为右边较小值减左边较大值,负数取零;高度同理;公共面积为宽乘高。

固定矩形[3, -2, 6, 3],格式为左、下、右、上 待比较矩形[[5, 2, 7, 6], [0, -5, 1, -4], [7, -1, 8, 2], [0, 5, 5, 10], [-5, 6, 0, 11], [-3, 4, -1, 9], [4, 2, 9, 7], [6, -2, 8, 3], [3, -2, 6, 3]]

逐项复盘

与矩形[5, 2, 7, 6]比较:公共宽1,公共高1,面积1;存在面积交集。

与矩形[0, -5, 1, -4]比较:公共宽0,公共高0,面积0;没有面积交集。

与矩形[7, -1, 8, 2]比较:公共宽0,公共高3,面积0;没有面积交集。

与矩形[0, 5, 5, 10]比较:公共宽2,公共高0,面积0;没有面积交集。

与矩形[-5, 6, 0, 11]比较:公共宽0,公共高0,面积0;没有面积交集。

与矩形[-3, 4, -1, 9]比较:公共宽0,公共高0,面积0;没有面积交集。

与矩形[4, 2, 9, 7]比较:公共宽2,公共高1,面积2;存在面积交集。

与矩形[6, -2, 8, 3]比较:公共宽0,公共高5,面积0;没有面积交集。

与矩形[3, -2, 6, 3]比较:公共宽3,公共高5,面积15;存在面积交集。

各次公共面积依次为[1, 0, 0, 0, 0, 0, 2, 0, 15]。

如何自行核对

可把所有坐标都当作整数网格,列出两块区域各自包含的单位格子,再数共同格子。得到的数量应等于公式算出的面积,便于发现边界多算一格。

如果你的游戏要把接触边也当作碰撞,应单独定义接触规则,不能把本例的正面积判定暗中改成包含零面积而仍沿用同一个解释。

练习时保留原输入,只改一处条件,再观察哪些结果发生变化。若结果与预期不同,先查编号起点、边界是否包含以及前一步留下的状态。这样的记录能把“感觉不对”变成可复现的问题,也更方便向同伴说明自己的判断依据。