Skip to content

第 4 章:只需简单多边形的分割定理 ​

返回目录

先解释本章的四个工作用语。

平面集合是“开”的,指每一点周围都能放一个足够小的圆盘,整个圆盘仍在该集合中。例如去掉闭折线 C 后的集合 U 是开集:点不在有限条闭线段上,与它们的最小距离为正。

“有限折线路径”是把有限个点依次用线段连接成的路线。“连续路径”更一般,可写作 \gamma(t)=(x(t),y(t)),其中 0\le t\le1,两个坐标都连续,且每一时刻都在指定集合中。它不是图论中必须沿原边走的路径。

在一个开集里,把能够沿集合内有限折线互相走通的点归为一类,本篇把每一类称为一个区域。它就是标准的“连通分支”:固定一点,能从它走到的点周围的小圆盘也都能走到,因此这一类是开集;其余各类也是开集。若一个标准连通区域含有两类,就被两个非空的开部分分开,违背连通性。反过来,沿折线行走的连续过程不能从一边跳到互相分开的另一边。这也说明,对这里的开集,“连通”和“道路连通”一致;不把这个结论套给任意集合。

“足够小”也会给出依据:有限个互不相交的闭线段(或线段中截取的闭小段)之间,距离能取到一个正的最小值。取比它更小的圆盘半径或带宽,就不会误碰其他线段。此处引用的是初等实分析事实“有界闭集上的连续函数能取到最小值”;本篇不另行建立实数的连续性理论,后面避免只用“紧集”一词替代这个具体理由。

有限位置条件为什么能满足。 若只需从 X 向边的开段上一点 M 画候选路径,可以选中间点 T,用 X	o T	o M 两段线。避开经过 X 或 M 与各原顶点的有限条直线,并避开会让新线段与原边重合的有限条直线,就不会穿过原顶点或沿原边走。有限条直线不可能盖住一个圆周:每条最多去掉圆周上两个点,总还有可选的 T。每段与每条原边最多相交一次,所以交点有限,真正相交时两直线不平行,正是横交。

若要求候选路径已经在某个原面 \Omega 内,先利用道路连通性取得有限折线。它全程避开原图,其有限条闭线段与原图的距离有正的最小值;必要时先在原线段中插入额外折点,再把折点移动到足够小的邻域中,并避开同样的有限特殊直线,路径仍留在 \Omega 中,却排除了碰顶点、沿边重合等特殊情况。这是第 7、8 章用“稍作扰动”的具体依据,而不是任意修改路线。

4.1 先定义闭折线、补集与边的开段 ​

用 C 表示一条简单闭折线:它由有限条线段首尾相接,除了相邻边的共同端点,没有其他交点。C 只包含这些线段上的点,不包含尚未定义的“多边形内部区域”。共线的多余中间顶点可先删去。

本文所说的补集,明确指

U=\mathbb R^2\setminus C.

也就是平面上所有不在原闭折线上的点。“区域”在这里指 U 的一个连通分支;这不是预先把平面划成“内部”和“外部”。

若一条边的端点为 A,B,“边的开段”指去掉两个端点后剩下的点:

(A,B)=\{(1-t)A+tB:0<t<1\}.

下文用“边的开段”替代容易混淆的“边内部”。它与“多边形内部”不是同一个概念。

要证明的多边形分割定理: U 恰好有两个连通分支,一个有界,一个无界,且 C 是二者共同的边界。我们先证“至多两个”,再证“至少两个”;只讨论有限线段,不用一般若尔当曲线定理。

4.2 先画窄通道,再在其中连接辅助路径 ​

先分清三种对象。

对象是线还是区域?在证明中的作用
原边、原闭折线 C原图中的线段、线段的并集不能碰到的障碍
窄通道边旁边的一小片二维带状区域,不包含原边为辅助路径的连接提供空间
辅助路径 L、R另画的连续曲线,不是多边形的边将同一侧附近的点连接起来

这里“路径”是连续行走的轨迹;全程避开 C,可写为连续映射 \gamma:[0,1]\to U。L,R 是下面具体构造出的两条辅助闭路径,不是两个已经确定的补集区域。

L:辅助路径R:辅助路径e沿箭头走:上方是左手侧,下方是右手侧粗深线:原多边形的一条边浅色面:窄通道,是一片区域细线 L、R:画在通道里的路径通道与路径都不包含原边此图只画边中段,暂不画顶点
图 10|先分清三种对象:边是一条线段;窄通道是一小片平面区域;辅助路径是通道里另外画出的一条曲线。底色不是多边形的整个“内部”或“外部”。

第一步:只看一条边的中段。 沿闭折线选定一个行进方向。在这条边旁边选一个足够薄的矩形,去掉原边后,矩形分成左手旁和右手旁两个半矩形。每个半矩形就是此处的窄通道;在其中各画一条与原边平行的短线。

“左”“右”随行进方向确定:转弯后也要跟着转,不是固定指纸面左右。图 10 的上、下关系只针对图中向右的箭头。

第二步:放大一个顶点。 选一个以该顶点为圆心、足够小的圆盘,使它只遇到与此顶点关联的两条边。这两条径向线段把去掉原边后的圆盘分成两个开扇形。前一条边左手旁的短线和后一条边左手旁的短线,进入同一个开扇形;在其中用小圆弧和短线连接。右手旁的两条短线,在另一个开扇形中同样连接。

连接避开圆心和两条原边。把这些连接周围选作一片很薄的带状区域,就是顶点附近的窄通道;圆盘本身不等于通道,也不能整盘当作可走区域,因为其中仍有原边和顶点。

VLRLR从下往上走,到 V 后向右转左手旁的短路,接到左手旁右手旁的短路,接到右手旁圆盘中只遇到两条关联边两条辅助路径都不碰 V 或原边浅色通道容纳连接;细线才是实际的路径
图 11|放大一个顶点 V:不是让路径穿过顶点,而是在相应扇形中绕开它。左右由行进方向决定,不是纸面的左边和右边。

凹角也按同样规则连接。 两个扇形不一定一样大,也不一定都是凸扇形;它们各自都可以用路径连通其中的点。连接只依据行进方向的左手、右手,不需要先决定多边形的哪一部分叫“内部”。

VLRLR改为到 V 后向左转左手路径仍然接左手路径右手路径仍然接右手路径两个扇形的大小可以不同此图局部可出现在多边形凹角不需要先判断哪个扇形属于“内部”
图 12|沿同样的规则也能处理凹角。这里并未把两条路径命名为“内侧”和“外侧”,只用沿箭头行进的左手、右手来辨认。

第三步:沿全部顶点做完连接。 每一条边旁的左手短线,经两端的局部连接接到相邻短线;依次走完整圈并回到起点,就形成一条辅助闭路径 L。右手旁同理得到 R。因此 L 自身连通,R 自身连通,而且都包含在 U 中。

为什么能选得足够小、足够窄?顶点和边只有有限多个,可以先选两两不交、避开其他边的顶点圆盘;圆盘外互不相交的紧线段之间有正距离,再把中段矩形选得比这些距离更窄。于是各处连接不会误碰非关联边,左右辅助路径也可保持互不相交。

原图 C 只有深色边线每个角都按图 11 的方式连接深色:原闭折线 C浅绿、浅金:两条窄通道绿实线:辅助闭路径 L金虚线:辅助闭路径 RL、R 各自贯通整圈两者都在 U = 平面去掉 C 中
图 13|局部连接做完一整圈,才得到 L、R 两条辅助闭路径。矩形只是一个具体例子;构造规则同时适用于图 12 那样的转角。图中央未着色的部分同样属于补集,通道并不占满补集。

到这里证明的是:可以在 U 中画出 L,R,且二者各自连通。还没有证明它们位于不同的补集分支。两条辅助曲线互不相交,并不能单独排除它们经过更远的地方互通。

4.3 为什么补集 U 至多有两个连通分支 ​

目标: 任取 X\in U,证明它能在 U 内连接到 L 或 R。这里的“连接”全程不能碰到原闭折线 C,并不是沿原多边形的边走。

先在任意一条边的开段上选一点 M,从 X 向 M 画一条有限折线路径。可以把折点稍作扰动,使它避开所有原顶点,与原边不重合,也只作有限次横交。此时不要求整条候选路径都在 U 中;它的用途只是找到第一次碰到 C 的位置。

因为终点 M\in C,第一次相遇必存在,记为 Q。Q 位于某条边的开段,而不是原顶点。从 X 出发到碰到 Q 之前,这段候选路径都在 U 中。

在 Q 之前足够近的位置取一点 Z,实际行走只走到 Z,不走到 Q。此时 Z 已经靠近原边的某一侧。在同侧的局部半矩形,或顶点圆盘对应的开扇形中,可以把 Z 连接到第 4.2 节构造的 L 或 R;这个局部连接同样不碰 C。

C 的一段边LRXZQQ:原路线第一次碰 C 的位置到达 Q 之前,先停在 ZX 到 Z 的路始终在补集 U 中在同侧通道内,从 Z 接到 L连接过程始终不碰 Q 或 C蓝线到 Z 为止;红虚线表示不能继续走的部分
图 14|“走到边上”不是允许路径碰边:Q 只用于确定首次相遇位置,实际连接在 Q 前的 Z 处转弯。若从另一侧接近,则以相同方式接到 R。

拼接“从 X 到 Z”与“从 Z 接到辅助路径”这两段路,就得到一条完全位于 U 中的路径。因此每个 X\in U 都与 L 或 R 的点处于同一个连通分支。

L 自身连通,所以整条 L 只属于一个分支;R 也只属于一个分支。U 的每个分支都含有二者之一,故 U 至多有两个连通分支。此处仍允许两条辅助路径属于同一个分支;下一节才排除这一可能。

“每个点都能接到 L 或 R”补上了全局覆盖这一步;仅说“原边附近有两侧”,不能排除远处还有第三个分支。

4.4 整条射线的总交点数为何在局部保持奇偶性 ​

先把坐标轴转到一个合适方向,使所有边都不水平,并且任意两个不同顶点不在同一条水平线上。为什么能选到?边与顶点对只有有限多个,只需避开由它们决定的有限个方向,仍有无穷多个方向可选。以后所有射线统一朝右,不能在移动起点时任意转动射线。

对 X=(x,y)\in U,向右的射线是 \{(x+s,y):s\ge0\}。若它不经过顶点,令 N(X) 为它与原闭折线 C 的全部交点数。每条非水平边至多贡献一个交点,而边只有有限条,所以 N(X) 是有限整数;定义奇偶标签 \varepsilon(X) 为它除以 2 的余数,即 0 或 1。

“一般位置”在这里仅指起点不在 C 上,且该水平射线不经过顶点。不要把“附近最多两个交点”误读为整条射线最多两个交点。

第一步:普通交点在小范围内不会消失。 对一条非水平边,其与水平直线的交点坐标随高度连续变化。如果交点在边的开段内,而且位于起点右方,两项都是严格条件;起点移动足够小,这些条件仍成立。若某条边原来不与射线相交,情况改变时必有一项严格条件失效。

因此交点要出现或消失,只可能是:交点走到边的端点,或走到射线起点。前者是射线扫过顶点;后者就是起点碰到 C,而我们的移动始终在 U 内,禁止后一事件。因为边数有限,可以把邻域选得足够小,同时保护所有不涉及顶点事件的普通交点。

第二步:穷尽分析一个顶点附近的变化。 设射线扫过前方顶点 V。顶点有且只有两条关联边;两条边都不水平,所以从 V 离开后,每条边只能伸向水平线上方或下方。

两条关联边相对于 V 的水平线射线从上方移到下方时,局部交点数
两条都在上方从 2 变为 0
两条都在下方从 0 变为 2
一条在上方、一条在下方从 1 变为 1,交点换到另一条边

这不是仅凭几幅图猜规律:两条边各有“向上、向下”两种可能,表中已覆盖全部组合。若顶点在射线起点左方,邻近移动中它仍在后方,不贡献交点。

局部类型一:两个交点同时消失20两条边都伸向顶点上方局部类型二:一个交点换到另一边11两条边分居顶点上方、下方
图 15|图只画一个顶点附近。穷尽性来自正文的上下分类,不来自“图看起来如此”;全部其他交点还要加回总数。

第三步:把局部变化加回整条射线。 把远离该顶点的普通交点数记为 K。在足够小的邻域中,这些交点保持不变。总交点数可能为

K+2\longleftrightarrow K+0,\qquad
K+1\longleftrightarrow K+1.

例如 K=7,前者就是 9\leftrightarrow7,仍都是奇数。这里 K 不必很小;一条射线完全可能穿过许多条边。由于开头还避开了顶点等高的方向,小范围内至多遇到一个顶点事件;若不加该方向限制,也只需将同时发生的多个偶数变化相加,结果仍为偶数。

其他 K = 7 个交点保持;只在顶点附近改变 2 个上:7 + 2 = 9;下:7 + 0 = 7;奇偶性相同只画相关边段;闭折线其余连接省略
图 16|整条射线可以穿过许多边。图示远处七个交点都保留,局部减少两个,所以总数从九变七。两条射线表示同一方向下起点的不同位置。

第四步:给恰好射过顶点的起点定义标签。 不把顶点粗略算作一次普通交点。分别把射线向上、向下稍微平移,取邻近一般位置的奇偶标签;表中说明两边相同,于是用这个共同值定义原特殊位置的 \varepsilon。顶点在后方的情形没有特殊交点,直接取邻近值即可。

至此证明了“局部不变”:对每个 X\in U,存在一个足够小的邻域,其中所有点的标签都等于 \varepsilon(X)。这个邻域完全避开 C。

第五步:局部不变为什么推出整条路径上不变。 设 \gamma:[0,1]\to U 是任意连续路径。每个时刻附近,起点只在上述小邻域中移动,所以 \varepsilon(\gamma(t)) 在一段时间内不变。若它能在整段时间从 0 变成 1,就把区间 [0,1] 分成“标签为 0”和“标签为 1”两个非空、各自相对开的部分。这与实数区间的连通性矛盾;该基本性质等价于常见的中间值思想:连续过程不能在两个互相分离的状态间无跳变地切换。这里的标签函数因局部不变而连续,并不是预先假定它连续。

第六步:确实找到两个标签不同的点。 取一条边上一个不与任何顶点等高的点 Q,在它左、右取足够近的 X_-,X_+,使水平小线段只穿过这一条边。较左起点的右射线多经过该边一次;较右起点的射线在穿过该边之后才开始。它们在远处的交点完全相同,故总交点数相差一,标签不同。

它们不可能在 U 内沿路径相连,否则违背第五步。结合第 4.3 节“至多两个分支”,得到恰好两个。

最后补上有界性和共同边界。C 装在一个大圆盘中,圆盘外所有点可以互通,所以只能有一个无界分支,而且它确实存在;另一分支有界。任意边的开段附近,两侧标签相反;顶点由关联边的点逼近,因此 C 的每一点都邻近两个分支。反过来,不在 C 上的点周围有完全避开 C 的小圆盘,全部属于同一分支,不会成为两个分支的边界。因此二者共同的边界恰为 C。

本节分析的是局部变化,标签却由整条射线的总交点数定义。有限性保护其他交点;连续路径把局部结论传到全程。这三个层次缺一不可。

保留每一次追问,认真走完每一步证明。