游戏中心

多边形面积符号怎样反映顶点绕行方向:八组凹边界的绕行方向与面积·练习21

2026-11-01

地图区域的边界点按不同方向走一圈,带符号面积会改变正负,但实际覆盖面积不会因此变成负数。用一个矩形挖去上边凹口的例子,可以同时核对边界公式和直观分块。

本篇使用一组可以手算或逐行复查的虚构游戏记录。先读清操作顺序与边界,再看完整过程;它不是某一款现有游戏的隐藏公式,也不要求读者安装工具。

规则与输入

坐标横向右、纵向上,八个顶点组成没有自交的凹多边形。按给定顺序将相邻点的横纵交叉乘积作差并求和,最后除二得到带符号面积;最后一点必须接回第一点。另比较倒序顶点。

八组外框上边带矩形凹口的独立边界,均包含闭合的最后一条边。

逐步计算与结果

第1组外框6×12,凹口宽1、深5,平移[-5, -8],顶点[[-5, -8], [1, -8], [1, 4], [-1, 4], [-1, -1], [-2, -1], [-2, 4], [-5, 4]]。逐边交叉差[48, 12, 8, 5, -1, -10, 12, 60],合计134,带符号面积67,倒序为-67,实际面积67。

第2组外框13×9,凹口宽1、深4,平移[4, -4],顶点[[4, 5], [12, 5], [12, 1], [13, 1], [13, 5], [17, 5], [17, -4], [4, -4]]。逐边交叉差[-40, -48, -1, 52, -20, -153, -52, 36],合计-226,带符号面积-113,倒序为113,实际面积113。

第3组外框12×10,凹口宽5、深9,平移[-4, -2],顶点[[-4, -2], [8, -2], [8, 8], [5, 8], [5, -1], [0, -1], [0, 8], [-4, 8]]。逐边交叉差[24, 80, 24, -45, -5, 0, 32, 40],合计150,带符号面积75,倒序为-75,实际面积75。

第4组外框8×9,凹口宽1、深4,平移[-3, -8],顶点[[-3, -8], [5, -8], [5, 1], [2, 1], [2, -3], [1, -3], [1, 1], [-3, 1]]。逐边交叉差[64, 45, 3, -8, -3, 4, 4, 27],合计136,带符号面积68,倒序为-68,实际面积68。

第5组外框8×5,凹口宽4、深2,平移[-6, 0],顶点[[-6, 0], [2, 0], [2, 5], [1, 5], [1, 3], [-3, 3], [-3, 5], [-6, 5]]。逐边交叉差[0, 10, 5, -2, 12, -6, 15, 30],合计64,带符号面积32,倒序为-32,实际面积32。

第6组外框11×11,凹口宽1、深2,平移[9, -4],顶点[[9, 7], [17, 7], [17, 5], [18, 5], [18, 7], [20, 7], [20, -4], [9, -4]]。逐边交叉差[-56, -34, -5, 36, -14, -220, -44, 99],合计-238,带符号面积-119,倒序为119,实际面积119。

第7组外框14×12,凹口宽2、深10,平移[6, 3],顶点[[6, 3], [20, 3], [20, 15], [18, 15], [18, 5], [16, 5], [16, 15], [6, 15]]。逐边交叉差[-42, 240, 30, -180, 10, 160, 150, -72],合计296,带符号面积148,倒序为-148,实际面积148。

第8组外框11×6,凹口宽4、深3,平移[-8, -6],顶点[[-8, 0], [-3, 0], [-3, -3], [1, -3], [1, 0], [3, 0], [3, -6], [-8, -6]]。逐边交叉差[0, 9, 12, 3, 0, -18, -66, -48],合计-108,带符号面积-54,倒序为54,实际面积54。

逐组用外框减凹口核验绝对面积,正负只随绕行方向变化,平移不增加或减少覆盖。

怎样独立复核

不使用边界求和,直接用外矩形面积减去凹口矩形面积,应该等于带符号面积绝对值。倒序只改变符号,平移全部点不改变面积;这些是本例的独立交叉检查。

很多图像坐标的纵轴向下,视觉顺逆时针的解释会反过来,应先说明坐标约定。自交边界需要额外定义填充规则,不能直接拿这里的绝对值当作任何复杂路径的覆盖面积。

练习时可以只改变一个输入,再预测哪一步会最先改变。保留中间记录,检查空状态、相等数值和刚好落在边界的情况。最终结果碰巧相同,并不能证明两个过程等价;反过来,采用不同规则得出不同结果,也不应立即视作程序故障。