首发于国际理科
【国际数学竞赛】任意多边形面积计算公式

【国际数学竞赛】任意多边形面积计算公式

对于任意一个多边形,如果已知其各个顶点的坐标 A_{1}(x_1,y_1),A_2(x_2,y_2),\ldots,A_n(x_n,y_n) ,那么这个多边形的面积为:

S=\frac{1}{2} |\sum_{i=1}^{n}\left(x_{i} y_{i+1}-x_{i+1} y_{i}\right)| ,

其中 x_{n+1}=x_1,y_{n+1}=y_1

举个例子(From Wikipedia),比如下图这样一个奇奇怪怪的五边形,其顶点坐标为 A_1(3,4),A_2(5,11),A_3(12,8),A_4(9,5),A_5(5,6)

根据上述公式,只需要把各点坐标带入上述公式即得:

\begin{aligned} S=& \frac{1}{2} | 3 \times 11+5 \times 8+12 \times 5+9 \times 6+5 \times 4 \\ &-4 \times 5-11 \times 12-8 \times 9-5 \times 5-6 \times 3 | \\ =& \frac{60}{2}=30.\square \end{aligned}

是不是感觉很神奇,也不知道对不对,这个大家也可以把上述面积分解验算一下。

上述公式就是Shoelace Theorem,鞋带定理?!

为什么叫Shoelace Theorem,因为这个公式的运算很像鞋带,我们来看看三个顶点时的公式计算, S=\frac{1}{2}|x_{1} y_{2}+x_{2} y_{3}+x_{3} y_{1}-x_{1} y_{3}-x_{2} y_{1}-x_{3} y_{2}| ,就如下图所示:

图:三个顶点时的计算公式,from Wikipedia

对于任意n 边形,我们也可以类型的把坐标依次写下来,然后就可以根据公式算出这个多边形的面积了。不过这里有两点需要注意

(1)对于任意多边形,我们看到的只是各个顶点的坐标,是没有标 A_1,A_2,\ldots,A_n 的,所以这里我们只需要任意指定一个顶点为 A_1 ,然后按照顺时针或者逆时针进行标号就可以了;

(2)因为我们是任意指定一个点为 A_1 ,且顺时针或者逆时针都可以,所以有时候按照公式计算出来是为负值。但是面积是一个正值,因此我们公式中是有一个绝对值的;


接下去我们就证明一下Shoelace Theorem,不过在证明之前,我们铺垫一点向量叉乘(cross product)的知识。(如果清楚可以直接看公式证明过程。)

之前我们有介绍过向量点乘(dot product)\vec{a}\cdot \vec{b}=|\vec{a}|\cdot|\vec{b}|\cdot \cos<\vec{a},\vec{b}>

注:上式左边是向量的点乘符号,右边是数乘符号。

这里我们在定义一个向量叉乘, \vec{a}\times \vec{b}=|\vec{a}|\cdot|\vec{b}|\cdot \sin<\vec{a},\vec{b}> \cdot \vec{n}

注,向量叉乘得到的是一个新的向量。

其中 \vec{n} 是一个单位向量,其方向是垂直 \vec{a},\vec{b} 向量所成平面的法向量方向。这里我们可以根据右手来判断,首先用右手四指(除大拇指外)指向 \vec{a} ,然后弯曲转向 \vec{b} ,那么大拇指指向的就是 \vec{a}\times \vec{b} 方向,如下图

图:From Further Pure Mathematics

如果是 \vec{b}\times \vec{a} ,那么方向就跟 \vec{a}\times \vec{b} 刚好相反。

那么向量叉乘怎么算呢?

这里我们就直接给出计算公式了。

如果 \vec{a}=a_1\vec{i}+a_2\vec{j}+a_3\vec{k} , \vec{b}=b_1\vec{i}+b_2\vec{j}+b_3\vec{k} ,

那么, \vec{a}\times \vec{b}=\left(a_{2} b_{3}-a_{3} b_{2}\right) \vec{i}-\left(a_{1} b_{3}-b_{1} a_{3}\right) \vec{j}+\left(a_{1} b_{2}-a_{2} b_{1}\right) \vec{k}

如果学过矩阵行列式,我们可以用行列式表示:

\vec{a} \times \vec{b}=\left|\begin{array}{ccc} \vec{i} & \vec{j} & \vec{k} \\ a_{1} & a_{2} & a_{3} \\ b_{1} & b_{2} & b_{3} \end{array}\right| .

说了这么多的向量叉乘,那么跟面积有什么关系呢?

我们在《三角形面积公式知多少?》一文中提过一个三角形面积公式:

S=\frac{1}{2}ab\sin C

比对一下叉乘公式,我们发现 |\vec{a}\times \vec{b}|=||\vec{a}|\cdot|\vec{b}|\cdot \sin<\vec{a},\vec{b}> | 就是以 \vec{a},\vec{b} 两个向量所构成的平行四边形面积。再除以2,就是以 \vec{a},\vec{b} 构成的三角形面积了。


接下去我们要用数学归纳法来证明Shoelace Theorem,首先证明三个顶点时定理成立,然后假设 n 个顶点定理成立,推导 (n+1) 边形时成立。

【1】证明三角形时成立

已知平面坐标系上三个顶点坐标 A(x_1,y_1),B(x_2,y_2),C(x_3,y_3) ,我们可以把这三个顶点放到三维空间中,并把点 A 移动到原点 A'=(0,0,0) 。那么, B\left(x_{2}-x_{1}, y_{2}-y_{1}, 0\right)C\left(x_{3}-x_{1}, y_{3}-y_{1}, 0\right)

于是,根据向量叉乘的几何意义可知:

S_{\triangle ABC}=\frac{|\vec{AB}\times \vec{AC}|}{2}

=\frac{1}{2}\left\|\left(0 \quad 0 \quad x_{1} y_{2}+x_{2} y_{3}+x_{3} y_{1}-x_{1} y_{3}-x_{2} y_{1}-x_{3} y_{2}\right)\right\|

=\frac{x_{1} y_{2}+x_{2} y_{3}+x_{3} y_{1}-x_{1} y_{3}-x_{2} y_{1}-x_{3} y_{2}}{2}\square

注:
(1)把二维平面上的三角形放到了三维空间中,面积保持不变;且把点 A 移动到了原点,这样计算就方便很多。
(2)为了接下去证明的方便,我们这里没有加绝对值,因为如果计算出来是负值,只需要改变一下计算顺序就可以了。

【2】假设 n 边形时成立,推导 (n+1) 边形成立

已知条件n 边形时成立, S_{A_1A_2\ldots A_n}=\frac{1}{2} \sum_{i=1}^{n}\left(x_{i} y_{i+1}-x_{i+1} y_{i}\right) ,

其中x_{n+1}=x_1,y_{n+1}=y_1

对于顶点为 A_1A_2\ldots A_{n+1}(n+1) 边形,可以分为 n 边形与一个三角形之和

S_{A_1A_2\ldots A_{n+1}}=S_{A_1A_2\ldots A_n}+S_{A_1A_{n}A_{n+1}} ,

S_{A_1A_2\ldots A_n}=\frac{1}{2} \sum_{i=1}^{n}\left(x_{i} y_{i+1}-x_{i+1} y_{i}\right) ,

S_{A_1A_{n}A_{n+1}}=\frac{1}{2}\left(x_{1} y_{n}+x_{n} y_{n+1}+x_{n+1} y_{1}-x_{1} y_{n+1}-x_{n} y_{1}-x_{n+1} y_{n}\right) ,

于是,

S_{A_1A_2\ldots A_{n+1}}=\frac{1}{2}((x_1y_2+\cdots+x_ny_1)-(y_1x_2+\cdots+y_nx_1)+\\(x_1y_n+x_ny_{n+1}+x_{n+1}y_1)-(y_1x_n+y_nx_{n+1}+y_{n+1}x_1))

=\frac{1}{2}((x_1y_2+\cdots+x_ny_{n+1}+x_{n+1}y_1)-(y_1x_2+\cdots+y_{n+1}x_1)

=\frac{1}{2} \sum_{i=1}^{n+1}\left(x_{i} y_{i+1}-x_{i+1} y_{i}\right),

其中, x_{n+2}=x_{1},y_{n+2}=y_1\square


至此,我们就完整的证明了Shoelace Theorem。这个定理在竞赛中还是比较常见的,比如在AMC10/12中,今年2020AMC12A中就有:

利用这个定理还是很容易计算的,

不知道大家对于这个定理有什么想法,欢迎交流讨论~

如果想看三角形与四边形面积计算公式可看下面两篇文章:

双木止月Tong:【国际数学竞赛】三角形面积公式知多少?zhuanlan.zhihu.com图标双木止月Tong:【国际数学竞赛】四边形面积公式知多少?zhuanlan.zhihu.com图标

想了解更多关于国际数学竞赛及课程的知识,可参阅:

双木止月Tong:国际数学竞赛及课程zhuanlan.zhihu.com图标

编辑于 03-01

文章被以下专栏收录