惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Tailwind CSS Blog
C
CERT Recently Published Vulnerability Notes
P
Proofpoint News Feed
Vercel News
Vercel News
博客园 - 三生石上(FineUI控件)
IT之家
IT之家
Help Net Security
Help Net Security
月光博客
月光博客
N
News and Events Feed by Topic
Cloudbric
Cloudbric
博客园 - 司徒正美
L
LangChain Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Tenable Blog
The Register - Security
The Register - Security
The Hacker News
The Hacker News
I
InfoQ
The Last Watchdog
The Last Watchdog
MyScale Blog
MyScale Blog
Schneier on Security
Schneier on Security
WordPress大学
WordPress大学
小众软件
小众软件
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
宝玉的分享
宝玉的分享
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
K
Kaspersky official blog
L
LINUX DO - 热门话题
N
News | PayPal Newsroom
F
Fortinet All Blogs
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Security @ Cisco Blogs
Recorded Future
Recorded Future
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
Google Online Security Blog
Google Online Security Blog
S
Schneier on Security
C
Cisco Blogs
N
News and Events Feed by Topic
V2EX - 技术
V2EX - 技术
Latest news
Latest news
PCI Perspectives
PCI Perspectives
T
The Blog of Author Tim Ferriss
P
Palo Alto Networks Blog
T
Tor Project blog
Project Zero
Project Zero
云风的 BLOG
云风的 BLOG
Webroot Blog
Webroot Blog
Attack and Defense Labs
Attack and Defense Labs
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org

NBlog

NBlog - 软件工程和工程师们的未来在何方? NBlog - Gitlab EE 破解手册 NBlog - Gitlab EE 破解手册 NBlog - 又是一年高考季 NBlog - 又是一年高考季 NBlog - 心浮气躁的AI时代 NBlog - 心浮气躁的AI时代 NBlog - 我的2025 NBlog - 我的2025 NBlog - 一位高考数学73的学生证明了黎曼猜想 NBlog - 一位高考数学73的学生证明了黎曼猜想 NBlog - 2017 夏 NBlog - 2017 夏 NBlog - OPanel: 较大型开源个人项目初尝试 NBlog - OPanel: 较大型开源个人项目初尝试 NBlog - [博客更新] 博客添加AI生成内容标识 NBlog - [博客更新] 博客添加AI生成内容标识 NBlog - 为什么我感觉Minecraft越来越无聊了? NBlog - 为什么我感觉Minecraft越来越无聊了? NBlog - 对Abc曲谱标记语言的探索 NBlog - 对Abc曲谱标记语言的探索 NBlog - 域名弃用公告 NBlog - 域名弃用公告 NBlog - [博客更新] 转移至next.js,并重新设计整个网站 NBlog - [博客更新] 转移至next.js,并重新设计整个网站 NBlog - 我的歌单 NBlog - 我的歌单 NBlog - 证明简谐运动的周期公式 NBlog - 证明简谐运动的周期公式 NBlog - [聽后有感] 二 NBlog - [聽后有感] 二 NBlog - The Connells 歌词翻译 NBlog - The Connells 歌词翻译 NBlog - [聽后有感] 一 NBlog - [聽后有感] 一 NBlog - [博客更新] 域名已全面迁移至nocp.space NBlog - [博客更新] 域名已全面迁移至nocp.space NBlog - 证明皮克定理 NBlog - 英语选词填空中的数学问题 NBlog - 英语选词填空中的数学问题 NBlog - 如何在家制作食盐(NaCl)晶体? NBlog - 如何在家制作食盐(NaCl)晶体? NBlog - 拒绝“学习方法论”视频 NBlog - 拒绝“学习方法论”视频 NBlog - [博客更新] 现已支持RSS Feed NBlog - [博客更新] 现已支持RSS Feed NBlog - [代码日记] 编译运行VSCode源码 NBlog - [代码日记] 编译运行VSCode源码 NBlog - 证明一些导数结论 NBlog - 证明一些导数结论 NBlog - [代码日记] Calcium源码仓库喜提20stars NBlog - [代码日记] Calcium源码仓库喜提20stars NBlog - C大调卡农(摇滚版) NBlog - 陈升新单《望鄉》发布 NBlog - 陈升新单《望鄉》发布 NBlog - [博客更新] 全面重写整个网站 NBlog - [博客更新] 全面重写整个网站 NBlog - 我开发了一款计算器 (Calcium 使用手册) NBlog - 论如何免费的游玩离线Minecraft NBlog - 论如何免费的游玩离线Minecraft NBlog - Ferrum文件管理器荣获软件创新大赛二等奖 NBlog - Ferrum文件管理器荣获软件创新大赛二等奖 NBlog - 自己推导的三角函数二级结论 NBlog - 自己推导的三角函数二级结论 NBlog - 证明海伦公式 NBlog - 证明海伦公式 NBlog - Ferrum文件管理器参加了一个软件创新比赛活动! NBlog - Ferrum文件管理器参加了一个软件创新比赛活动! NBlog - NBlog, 2023新年好! NBlog - NBlog, 2023新年好! NBlog - [代码日记] 手写多功能计算器! (未完工+难题) NBlog - [代码日记] 手写多功能计算器! (未完工+难题) NBlog - 中考结束, 我回来了! NBlog - 中考结束, 我回来了! NBlog - [代码日记] 上手实践webpack、babel NBlog - [代码日记] 上手实践webpack、babel NBlog - [代码日记] 在游戏中为实体写一个AI NBlog - [代码日记] 在游戏中为实体写一个AI NBlog - 为什么铜傀儡比轻灵更好? NBlog - 为什么铜傀儡比轻灵更好? NBlog - [代码日记] PR经历记录 NBlog - [代码日记] PR经历记录 NBlog - [代码日记] 为nodejs.org网站源码提PR NBlog - [代码日记] 为nodejs.org网站源码提PR NBlog - [博客更新] 博客已更换主题至经典landscape NBlog - [博客更新] 博客已更换主题至经典landscape NBlog - ICraft开发日志-3 NBlog - ICraft开发日志-3 NBlog - 发现某反mc网站的bug NBlog - 发现某反mc网站的bug NBlog - ICraft开发日志-2 NBlog - ICraft开发日志-2 NBlog - ICraft开发日志-1 NBlog - ICraft开发日志-1 NBlog - 在旧手机上部署MC服务器 NBlog - 在旧手机上部署MC服务器 NBlog - 函数图像生成器 一个控制台小游戏 Nocp-startpage NBlog - 新博客正式开启
NBlog - 证明皮克定理
NriotHrreion · 2024-10-12 · via NBlog

证明皮克定理

By NriotHrreion2024-10-12

引入

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

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

皮克定理

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

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

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

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

证明

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

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

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

移项,可得

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

化简,得

,可得

式代入,即可得出公式

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

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

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

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

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

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

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

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

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

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

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

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

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

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

式代入,可得

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

移项,得

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

式代入,可得

式代入式,可得

化简,即可得出面积

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

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

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

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

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

设切割下来的三角形中,包含了个格点,所拼接三角形的边的边长为,拼接后多边形内部所包含的格点总数及其变化量分别为,拼接后多边形的边所经过的格点总数为,拼接后的面积为,切割线所经过的格点数为,则有

可得

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

式代入,可得

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

式代入,可得

式代入式,可得

化简,即可得出面积

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

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

结论

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

结语

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