计算几何 算法与应用 第三版 一个不是显然的小结论的证明

为了避免遗忘 写文章记录一个小结论的证明过程

《计算几何 算法与应用》第三版 Mark de Berg

Otfried Cheong Marc van Kreveld Mark Overmars著 邓俊辉译 清华大学出版社 p252页提到一个小结论 2 n e > = 3 n f 2ne>=3nf 2ne>=3nf

这个结论不是显然的 但证明也不难 证明如下

考虑平面上由一系列多边形彼此拼接形成的区域R,R由这些多边形组成,设这些多边形为Li i<=i<=n Li之间是完全拼接的即Li的边是两个多边形的公共边,或不是公共边,且若两边如果有交集则交集只能是一点,且该点必须是这两条边的端点,另外两边可以没有交集

L i Li Li的边数记为 L i . e d g e n u m Li.edgenum Li.edgenum 设包围整个R最外侧的边(即 L i Li Li 1 < = i < = n 1<=i<=n 1<=i<=n 所有的边中只与其中一个多边形关联的边)构成的多边形为 L o Lo Lo L o . e d g e n u m Lo.edgenum Lo.edgenum L o Lo Lo的边数

我们断言 ∑ i = 1 n L i . e d g e n u m + L o . e d g e n u m = 2 ∗ n e \sum_{i =1}^{n}{Li.edgenum} + L_{o}.edgenum = 2*n_{e} i=1nLi.edgenum+Lo.edgenum=2ne n e n_e ne为所有 L i Li Li的边的并集 U e Ue Ue中的总边数

事实上考虑任意一条边 e e e, e e e属于 U e Ue Ue并且 e e e不是 L o Lo Lo的边,于是恰和两个多边形Ld1, Ld2关联,显然由于在对所有 L i Li Li中非Ld1, Ld2的多边形的边数求和时,由于这些多边形并不关联 e e e,所以对这些多边形边数的求和不会计入 e e e,而对Ld1 Ld2的边数求和时恰被计入两次,因此对所有 L i Li Li的边数求和只会把 e e e计入两次,由 e e e的任意性可知对所有 L i Li Li的边数求和每一个 e e e都恰好被计入两次,另外不难发现 L o Lo Lo的每一条边恰被计入一次 而每一个 e e e L o Lo Lo中的所有边恰为 U e Ue Ue因此

设所有 e e e的总数为 N u m e Nume Nume 于是我们有 2 ∗ N u m e + L o . e d g e n u m = ∑ i = 1 n L i . e d g e n u m 2*Nume+ L_{o}.edgenum = \sum_{i =1}^{n}{Li.edgenum} 2Nume+Lo.edgenum=i=1nLi.edgenum

从而 2 ∗ N u m e + 2 ∗ L o . e d g e n u m = ∑ i = 1 n L i . e d g e n u m + L o . e d g e n u m 2*Nume + 2* L_{o}.edgenum = \sum_{i =1}^{n}{Li.edgenum} + L_{o}.edgenum 2Nume+2Lo.edgenum=i=1nLi.edgenum+Lo.edgenum

而由于每一个 e e e L o Lo Lo中的所有边恰为 U e Ue Ue因此 N u m e + L o . e d g e n u m = n e Nume + L_{o}.edgenum = n_{e} Nume+Lo.edgenum=ne 结合上式即得 ∑ i = 1 n L i . e d g e n u m + L o . e d g e n u m = 2 ∗ n e \sum_{i =1}^{n}{Li.edgenum} + L_{o}.edgenum = 2*n_{e} i=1nLi.edgenum+Lo.edgenum=2ne

另外 L i . e d g e n u m > = 3 {Li.edgenum} >=3 Li.edgenum>=3 L o . e d g e n u m > = 3 L_{o}.edgenum >= 3 Lo.edgenum>=3 因此由上式知 2 ∗ n e > = 3 ∗ ( n + 1 ) 2*n_{e} >= 3*(n+ 1) 2ne>=3(n+1)

由开头所提教材中f的定义, f f f即为每一个 L i Li Li L o Lo Lo, n f nf nf即为所有 L i Li Li,和 L o Lo Lo的总数即为 n + 1 n+1 n+1因此由上式 2 ∗ n e > = 3 ∗ n f 2*n_{e} >= 3*n_{f} 2ne>=3nf

证毕

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值