零点定理是一个大家平时生活中用惯了以至于反而觉得很陌生的一个定理。若函数f(x)在区间[a,b]连续,并且f(a)与f(b)异号,那在(a,b)之间一定存在某个x,使得f(x)=0。如果你从海拔为-100的地方走到海拔为400的地方,那不管你是怎么走的,你一定会有经过了海平面的一瞬间。另一个比较隐蔽一些的应用便是,对任意一个凸多边形,总存在一条直线把它分成面积相等的两份。考虑一条竖直直线从左至右扫过整个凸多边形,则凸多边形位于直线左边的那部分面积由0逐渐增大为整个凸多边形的面积,直线右侧的面积则由最初的整个凸多边形面积渐渐变为0。若把直线左侧的面积记为f(x),直线右侧的面积记为g(x),则随着直线位置x的变化,f(x)-g(x)的值由一个负数连续地变为了一个正数,它一定经过了一个零点。这表明,在某一时刻一定有f(x)=g(x)。
图1
用类似的方法,我们能证明一个更强的命题:对任意一个凸多边形,总能用两条互相垂直的直线把它的面积分成四等份。利用前面的结论,我们能找到一条直线l1,它把整个凸多边形分成上下相等的两份;类似地,我们能找到唯一的一条与l1垂直的直线l2,使得它恰好把整个凸多边形分成左右相等的两份。注意,现在我们有A1+A2 = A2+A3 = A3+A4 = A4+A1,我们甚至立即还可以知道A1=A3并且A2=A4,但这都还不足以保证四块面积全都相等。怎么办呢?注意,我们前面假定直线l1是一条水平直线。事实上,l1每取一个方向,我们都能用上面的方法得到一个具有相同性质的新构造。为此,我们将直线l1的方向顺时针旋转90度。考虑整个过程中A1-A2的值的变化过程:旋转后的A1-A2恰好就是旋转前的A2-A3,而A1和A3又是相等的……于是我们发现,旋转前后的A1-A2的值恰好互为相反数!这表明,在直线l1旋转的过程中,一定有一瞬间满足A1-A2=0,这一刻的l1和l2便是两条互相垂直并把图形四等分的直线。
我们来看一个更牛B的定理:对任意一个凸多边形,总能用三条交于一点的直线把它的面积分成六等分。
图2
先用直线l1把图形分成上下相等的两半。对于l1上的任意一点p,总存在唯一的四条射线,它们和直线l1一起恰好把图形分成六等分。现在,考虑p点从l1最左边向最右边移动,则角α由180度慢慢变成0度,角β则从0度慢慢变成180度,因此在此过程中必然有α=β的时刻。把此时我们得到的那条直线记作l2,并把剩余的两条射线分别记作r1和r2。现在,将l1的方向顺时针旋转180度,得到的构造和之前一样,只不过r1和r2交换位置了:原来r2在r1延长线的顺时针方向,现在r2跑到了r1的延长线的逆时针方向,前后两个角度互为相反数。因此,在l1旋转的过程中,必然有某个时刻r1的延长线和r2正好重合。三次嵌套地调用零点定理,我们终于证明了这个结论。
本文来源于上次提到的电子书
前几天回了一趟家,不巧又碰上扁桃体发炎,发烧烧得和笔记本底板一个温度,搞得10多天没更新了
呼吁大家在读书学习写代码想问题的时候多注意身体!
声明:文章转自Matrix67博客,版权归原作者所有,转载仅供学习使用,不用于任何商业用途,如有侵权请联系删除,谢谢。