游戏中心

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

2026-11-01

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

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

规则与输入

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

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

逐步计算与结果

第1组外框14×12,凹口宽5、深1,平移[-9, 8],顶点[[-9, 8], [5, 8], [5, 20], [-2, 20], [-2, 19], [-7, 19], [-7, 20], [-9, 20]]。逐边交叉差[-112, 60, 140, 2, 95, -7, 40, 108],合计326,带符号面积163,倒序为-163,实际面积163。

第2组外框9×9,凹口宽1、深8,平移[5, 8],顶点[[5, 17], [8, 17], [8, 9], [9, 9], [9, 17], [14, 17], [14, 8], [5, 8]]。逐边交叉差[-51, -64, -9, 72, -85, -126, 72, 45],合计-146,带符号面积-73,倒序为73,实际面积73。

第3组外框12×11,凹口宽5、深7,平移[-6, 0],顶点[[-6, 11], [-4, 11], [-4, 4], [1, 4], [1, 11], [6, 11], [6, 0], [-6, 0]]。逐边交叉差[-22, 28, -20, 7, -55, -66, 0, -66],合计-194,带符号面积-97,倒序为97,实际面积97。

第4组外框7×11,凹口宽2、深1,平移[-9, 7],顶点[[-9, 18], [-6, 18], [-6, 17], [-4, 17], [-4, 18], [-2, 18], [-2, 7], [-9, 7]]。逐边交叉差[-54, 6, -34, -4, -36, 22, 49, -99],合计-150,带符号面积-75,倒序为75,实际面积75。

第5组外框13×10,凹口宽8、深7,平移[-9, 0],顶点[[-9, 10], [-5, 10], [-5, 3], [3, 3], [3, 10], [4, 10], [4, 0], [-9, 0]]。逐边交叉差[-40, 35, -24, 21, -10, -40, 0, -90],合计-148,带符号面积-74,倒序为74,实际面积74。

第6组外框12×8,凹口宽4、深1,平移[1, -9],顶点[[1, -1], [3, -1], [3, -2], [7, -2], [7, -1], [13, -1], [13, -9], [1, -9]]。逐边交叉差[2, -3, 8, 7, 6, -104, -108, 8],合计-184,带符号面积-92,倒序为92,实际面积92。

第7组外框10×10,凹口宽3、深5,平移[-1, -9],顶点[[-1, 1], [1, 1], [1, -4], [4, -4], [4, 1], [9, 1], [9, -9], [-1, -9]]。逐边交叉差[-2, -5, 12, 20, -5, -90, -90, -10],合计-170,带符号面积-85,倒序为85,实际面积85。

第8组外框11×10,凹口宽4、深4,平移[5, -1],顶点[[5, -1], [16, -1], [16, 9], [10, 9], [10, 5], [6, 5], [6, 9], [5, 9]]。逐边交叉差[11, 160, 54, -40, 20, 24, 9, -50],合计188,带符号面积94,倒序为-94,实际面积94。

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

怎样独立复核

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

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

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