【银蛇出品】数学漫谈7——趣味小问题之计算给定多边形的面积

事情的起源是我发现了群友使用的一款功能强大的地图导航软件。其中一项功能是这样的:在地图上描绘出一个多边形,而后给出所围区域的面积。下面,我们把这个问题抽象一下,变成如下形式:
今在笛卡尔坐标系下给定n组点,将首尾顺次相接,恰能围成一个单连通区域,且成逆时针绕向(这点很重要),记之为Sn。问如何求区域Sn的面积?
我们从简单的情况开始考虑。对于给定三个点A1(x1,y1), A2(x2,y2), A3(x3,y3),如何计算三角形A1A2A3的面积呢?

一个自然的想法是利用叉乘

注意,这里为了表示方便,向量叉乘外的|·|仅为取向量z向的代数值,而非取绝对值。若无特殊声明,后续|·|仍为取向量z向的代数值,切记。之所以做此声明,是因为我们引入了向量叉乘,而向量叉乘必须满足右手规则,这使得我们结果的正负符号与曲线的绕向密切相关。也就是说,当曲线为逆时针环绕一周时,求得结果为正,否则结果为负,这个结果称为有向面积。这一点在后续推导中仍要用到。
注意到公式(1)最后的结果中存在着某种很优美的对称形式,我们将公式(1)做个变形,能看得更加清楚一些

规定其中x4=x1, y4=y1,后面出现类似情况不赘述。

公式(2)的推导过程启发我们,计算三角形A1A2A3的面积并不依赖于我们所选的坐标原点O,也就是说,再任取其它一点B为新的坐标原点,三角形A1A2A3的面积不会发生改变。

这个结果是合理的。
我们可以推测,n多边形(n=3,4,5,…)的有向面积应该具有以下形式

下面使用数学归纳法证明公式(4)。
证明 前面我们已经证明n=3的情况成立。
假设当n=l时公式(4)成立,即

其中l=3,4,5,…
接下来考虑n=l+1的情况。分成两种情况讨论,第一种情况是点Al+1在Sl外

这时Sl+1的有向面积应为Sl的有向面积和新三角形有向面积之和

第二种情况是点Al+1在Sl内

这时Sl+1的有向面积应为Sl的有向面积和新三角形有向面积之差,这里注意因绕向导致的有向面积的符号问题

两种情况的结果是一致的,且说明当n=l+1时公式(4)也成立。于是对于任意n=3,4,5,…,公式(4)均成立。证毕。
在实际计算面积时,只需要对公式(4)取绝对值即可。注意,取绝对值后结果必为正,所以即使曲线的绕向是顺时针也不会影响最终结果。

这就是原问题的答案。