NBlog

由一条咸鱼搭建的博客

证明皮克定理

By NriotHrreion2024-10-12

引入

如图所示,图中有一个复杂的多边形,它存在于一个网格中,假设网格每一个的边长都是1,那么,这个多边形的面积SS是多少呢?

看到这个问题,你可能会优先采用小学老师教过的“大面积减小面积”的方法,但这种方法计算起来比较慢。那么,是否有公式可以直接求解它的面积呢?这看似不可能的公式还真的存在,它就是皮克定理

皮克定理

对于如上图所示的这样的多边形,它的面积符合如下公式:

S=I+O21S=I+\frac{O}{2}-1

  • II是多边形内部所包含的格点总数
  • OO是多边形的边所经过的格点总数

以上图的多边形为例,套用公式即可得出面积

S=45+2421=56S=45+\frac{24}{2}-1=56

那么接下来,我们尝试简单证明一下这个公式。

证明

我们不妨先从最简单的情况入手,即求解网格中长方形的面积。

一个简单的长方形一个简单的长方形

由于网格的固有性质,我们可以知道长方形的周长多边形的边所经过的格点总数OO是相等的。设长方形的长与宽分别为aabb,可得

O=2(a+b)O=2*(a+b)

移项,可得

a+b=O2 \begin{equation} a+b=\frac{O}{2} \end{equation}

接着,我们可以知道,多边形内部所包含的格点总数II可以用aabb来表示,即

(a1)(b1)=I(a-1)(b-1)=I

化简,得

ab(a+b)+1=Iab-(a+b)+1=I

S=abS=ab,可得

S=I+(a+b)1S=I+(a+b)-1

(1)(1)式代入,即可得出公式

S=I+O21S=I+\frac{O}{2}-1

那么现在我们就证明了长方形情况下的皮克定理,但皮克定理可用于网格中的任意多边形,所以我们还需要推广这个公式。我们知道,将这样的长方形在网格中进行切割拼接操作即可获得复杂的多边形,所以我们也可以以此来推广我们刚刚证明出来的公式。

切割时分为多种情况,我们一一分类讨论。

切割线不经过或包括多边形内部的格点

示例:切割后的多边形示例:切割后的多边形

若切割时切割线不经过或包括多边形内部的格点,那么切割出来的这个三角形必有一边的边长为1。

  1. 当我们把长度为1的边拼接在切割后的多边形上,则不会改变IIOO的大小

示例:拼接后的多边形示例:拼接后的多边形

设拼接后多边形的边所经过的格点总数为OO',则有

O=O+22=OO'=O+2-2=O

故此时的OO不变。又因为切割线不经过或包括多边形内部的格点,所以II也不变。

所以,此时拼接后的图形的面积仍为

S=I+O21S=I+\frac{O}{2}-1

  1. 当我们把长度不为1的另一条边拼接在切割后的多边形上,则IIOO大小改变,但面积不变

示例:拼接后的多边形示例:拼接后的多边形

设拼接后多边形内部所包含的格点总数及其变化量分别为II'ΔI\Delta I,拼接后多边形的边所经过的格点总数为OO',拼接后的面积为SS',则有

I=I+ΔI \begin{equation} I'=I+\Delta I \end{equation}

假设皮克定理的公式对此时的多边形仍然成立,则有

S=I+O21S'=I'+\frac{O'}{2}-1

(2)(2)式代入,可得

S=I+ΔI+O21 \begin{equation} S'=I+\Delta I+\frac{O'}{2}-1 \end{equation}

由于网格的固有性质,拼接时多边形内部所包含格点总数的变化量ΔI\Delta I会与所拼接的三角形的边长有如下关系(设所拼接三角形的边的边长为xx):

ΔI=x1\Delta I=x-1

移项,得

x=ΔI+1 \begin{equation} x=\Delta I+1 \end{equation}

由于网格的固有性质,拼接后多边形的边所经过的格点总数符合下式:

O=O+22xO'=O+2-2x

(4)(4)式代入,可得

O=O+22(ΔI+1)=O2ΔI \begin{equation} O'=O+2-2(\Delta I+1)=O-2\Delta I \end{equation}

(5)(5)式代入(3)(3)式,可得

S=I+ΔI+O2ΔI21S'=I+\Delta I+\frac{O-2\Delta I}{2}-1

化简,即可得出面积

S=I+O21S'=I+\frac{O}{2}-1

S=SS'=S

假设成立,皮克定理的公式对此时的多边形仍然成立。

综上所述,切割线不经过或包括多边形内部的格点时,皮克定理成立。

切割线经过或包括多边形内部的格点

示例:切割后的多边形示例:切割后的多边形

示例:拼接后的多边形示例:拼接后的多边形

设切割下来的三角形中,包含了mm个格点,所拼接三角形的边的边长为xx,拼接后多边形内部所包含的格点总数及其变化量分别为II'ΔI\Delta I,拼接后多边形的边所经过的格点总数为OO',拼接后的面积为SS',切割线所经过的格点数为tt,则有

I=Im+mt+(x1)=I+xt1I'=I-m+m-t+(x-1)=I+x-t-1

I=I+ΔI \begin{equation} I'=I+\Delta I \end{equation}

可得

ΔI=II=xt1\Delta I=I'-I=x-t-1

x=ΔI+t+1 \begin{equation} x=\Delta I+t+1 \end{equation}

假设皮克定理的公式对此时的多边形仍然成立,则有

S=I+O21S'=I'+\frac{O'}{2}-1

(6)(6)式代入,可得

S=I+ΔI+O21 \begin{equation} S'=I+\Delta I+\frac{O'}{2}-1 \end{equation}

由于网格的固有性质,拼接后多边形的边所经过的格点总数符合下式:

O=O+2(t+1)2xO'=O+2(t+1)-2x

(7)(7)式代入,可得

O=O+2(t+1)2(ΔI+t+1)=O2ΔI \begin{equation} O'=O+2(t+1)-2(\Delta I+t+1)=O-2\Delta I \end{equation}

(9)(9)式代入(8)(8)式,可得

S=I+ΔI+O2ΔI21S'=I+\Delta I+\frac{O-2\Delta I}{2}-1

化简,即可得出面积

S=I+O21S'=I+\frac{O}{2}-1

S=SS'=S

假设成立,皮克定理的公式对此时的多边形仍然成立。

综上所述,切割线经过或包括多边形内部的格点时,皮克定理成立。

结论

我们证明了由长方形切割而来的所有多边形,其面积都符合皮克定理的公式;又因为这样切割而来的多边形囊括了网格中所有的多边形,因此网格中所有的多边形的面积都符合皮克定理:

S=I+O21S=I+\frac{O}{2}-1

结语

上面的证明过程可能较为简单,毕竟是我自己研究而得的结果,有的地方或许会不严谨,如果你有发现任何错误,欢迎在留言区指出。