目的
学习和介绍一个有用的求任意简单多边形面积的经典公式。
所谓“简单多边形”,可以是凹、或凸多边形,但原则上边与边之间不能有交叉;或者,拓扑一点,从多边形卷绕数的角度,多边形内的点卷绕数只能是
±1
。
这个公式有悠久的历史,而且计算中十分有用,可惜维基里面只有英文版。
Shoelace公式
这里的shoelace,——“鞋带”——,并不是人名,所以翻译成“鞋带公式”没有任何问题。这个名字是怎么来的呢?因为实际计算中,公式以 n×2 的矩阵形式表示多边形上顺序排列的顶点,行列式的计算又存在错位,形如所系的“鞋带”,所以才得名。又叫“鞋带算法”、“鞋带法”、“高斯面积公式”、测量员公式。
维基上的简单例子是这样的,比如已知
ΔABC
三个顶点的坐标
A:(x1,y1)
、
B:(x2,y2)
、
C:(x3,y3)
,对应的矩阵是这样的:
计算面积时,先根据中间一个矩阵,计算
再从最右侧矩阵计算
则三角形面积为:
代入一个简单的情形试试,
A:(0,4),B:(0,0),C:(3,0)
,则是一个直角顶点在原点,底
3
高
当简单多边形边数或顶点数更多时,则计算面积时上述矩阵为 n×2 维,计算规则不变。
公式中约定: 当下标大于 n 时,
它可以看作格林公式用于面积计算时的特殊情形。
证明
证明因为不难,用Green定理来证时,只须假设合适的向量场,也比较方便。所以就不写了。
这个讲完之后,后面介绍它在近似数值计算求复杂闭曲线所包围面积中的一个应用。