游戏新闻

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

2026-11-01

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

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

规则与输入

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

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

逐步计算与结果

第1组外框7×5,凹口宽1、深2,平移[1, 6],顶点[[1, 6], [8, 6], [8, 11], [6, 11], [6, 9], [5, 9], [5, 11], [1, 11]]。逐边交叉差[-42, 40, 22, -12, 9, 10, 44, -5],合计66,带符号面积33,倒序为-33,实际面积33。

第2组外框11×10,凹口宽1、深2,平移[4, -3],顶点[[4, 7], [12, 7], [12, 5], [13, 5], [13, 7], [15, 7], [15, -3], [4, -3]]。逐边交叉差[-56, -24, -5, 26, -14, -150, -33, 40],合计-216,带符号面积-108,倒序为108,实际面积108。

第3组外框6×7,凹口宽2、深4,平移[5, 8],顶点[[5, 15], [6, 15], [6, 11], [8, 11], [8, 15], [11, 15], [11, 8], [5, 8]]。逐边交叉差[-15, -24, -22, 32, -45, -77, 48, 35],合计-68,带符号面积-34,倒序为34,实际面积34。

第4组外框7×11,凹口宽3、深5,平移[-7, 8],顶点[[-7, 19], [-5, 19], [-5, 14], [-2, 14], [-2, 19], [0, 19], [0, 8], [-7, 8]]。逐边交叉差[-38, 25, -42, -10, -38, 0, 56, -77],合计-124,带符号面积-62,倒序为62,实际面积62。

第5组外框8×8,凹口宽3、深7,平移[7, -1],顶点[[7, -1], [15, -1], [15, 7], [12, 7], [12, 0], [9, 0], [9, 7], [7, 7]]。逐边交叉差[8, 120, 21, -84, 0, 63, 14, -56],合计86,带符号面积43,倒序为-43,实际面积43。

第6组外框9×9,凹口宽2、深5,平移[-4, 9],顶点[[-4, 18], [-2, 18], [-2, 13], [0, 13], [0, 18], [5, 18], [5, 9], [-4, 9]]。逐边交叉差[-36, 10, -26, 0, -90, -45, 81, -36],合计-142,带符号面积-71,倒序为71,实际面积71。

第7组外框8×7,凹口宽1、深6,平移[2, 3],顶点[[2, 3], [10, 3], [10, 10], [8, 10], [8, 4], [7, 4], [7, 10], [2, 10]]。逐边交叉差[-24, 70, 20, -48, 4, 42, 50, -14],合计100,带符号面积50,倒序为-50,实际面积50。

第8组外框12×7,凹口宽1、深3,平移[-3, 5],顶点[[-3, 5], [9, 5], [9, 12], [-1, 12], [-1, 9], [-2, 9], [-2, 12], [-3, 12]]。逐边交叉差[-60, 63, 120, 3, 9, -6, 12, 21],合计162,带符号面积81,倒序为-81,实际面积81。

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

怎样独立复核

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

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

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