【几何基础】02 - 顺序公理

1. 顺序公理

  关联公理仅讨论了对象的连接属性,但这些对象目前仍然是一种无序的状态(集合状态)。为了体现对象的空间性,需要定义一种顺序关系,使得对象更有“方向性”和“位置感”。几何中的“位置”看起来有很多种,比如直线的两个方向、平面的两面、圆形(球形)的内外等,但令人惊讶的是,这些关系居然都可以从直线上三点的关系定义起。

  按理说两个点就足以确定方向,但要注意“方向”概念本身的引入是需要三个点来说明的。比如为了说明直线上点A的两侧,你必须指出分属两侧的点B,CA构成何种顺序关系(A介于B,C之间)。顺序公理就是定义了直线上三点间的“介于”关系,也可以说成点AB,C之间

  II. 顺序公理

    II1. 一直线上的三点中,最多有一点在其它两点之间,且在点A,B之间等价于在点B,A之间。

    II2. 对于点A,B,直线AB上存在点C,使得BA,C之间。

    II3. 平面上有直线a和三点A,B,C,若a通过线段AB但不经过点C,则它必定通过线段ACBC

  公理II1先声明了介于关系的对称性,对于一个崭新的概念,这些看似多余叙述其实是严谨性所要求的。II1还限制了介于关系不多于一个,却没有直接表述三点介于关系的存在性,这是因为它可以通过其它的公理推导出来,这个我们等会再看。公理II2I2进行了扩充,使得直线上的点不止两个,而且它是向两个外部方向扩展的,为构造更多的点提供方便的工具。

  在继续讨论之前,可以先定义一下线段,对任意两点A,B,它们可以合称为线段ABBA(次序无关)。点A,B就叫线段AB端点,介于A,B之间的点也叫线段AB上的点或线段AB内点。若不同于AB的另一直线a经过线段AB的某个内点,那么称直线a穿过线段AB。注意,这个线段的定义避免了“所有介于A,B之间的点”这样的描述,使得讨论可以仅限于问题中的有限个元素。

  光靠在一维空间的讨论,非常难以构造直线上的顺序关系,公理II3巧妙地通过二维空间一次性结束了整个顺序公理。II3可以这样直观地理解(以下左图):一条直线进入三角形的内部后,一定会再从中出来。这条公理其实为封闭曲线的讨论奠定了基础,而且公理中直接给出了构造两点之间点的方法,其实联合II2,II3可以生成非常复杂的介于关系。先来构造介于A,B之间的点,取直线AB外一点D,作点E使DAE之间,再作点F使BEF之间。对ABE和直线DF使用II3可知DF必定穿过线段AB,设交点为C,它就是我们要构造的点。

          

  以上右图结合了公理II2,II3,它是个非常基础的图形,其中的小结论可以作为有力的证明工具,以后会经常用到。具体来说,图中共有四个介于关系,用其中的两个可能推导出另外两个,只不过现在为止还只能得到两个结论。首先,如果D,B分别在线段AE,EF上,则显然点C分别在线段AB,DF上。还有,如果D,C分别在线段AE,DF上,则可以先后证明B,C在线段EF,AB上。剩下的因果关系,你可以在得到下段的结论后再讨论。

  在构造空间的位置之前,先要把直线上的顺序关系定义好,而此时我们还需要把上面遗漏的一些问题解决。一个是公理II1中没有指出介于关系的存在性,如以下左图,先假设点A,B不在线段BC,AC上,目标是证明点C在线段AB上。先取直线AB外一点D,并作点E使D在线段CE上,先由II3不难得到F,G分别在线段AE,BE上,然后用上面的小结论很快得到D在线段AG,BF上,最终可得C在线段AB上。另一个要解决的是II3中未说明的:a是否只经过线段AC,BC中的一个。假设a与三条边都有交点,则交点D,E,F中必定有一个在其它两个之间,设ED,F之间,利用上面的小结论直接得到C在线段AF上,导出矛盾。

          

  现在来看看如何定义直线上的顺序关系,所谓顺序关系,就是给定直线上的一个点集,一定可以把它们排成序列A1,A2,,An(这里否定了环线的存在),使得如果i<k<j则必有AkAi,Aj之间。首先需要说明,如果这种排列存在,则只有两种可能,且它们正好是首位相倒的,这个不难用反正法来证明。首先所有序列的首尾两个点(或者翻转之后)必定是相同的,因为它们都不在其它点之间,而这样的点只能有两个A,B。然后如果线段AB之间的点C,D在不同的序列中顺序不同(ACDB,ADCB),由唯一的介于关系也能直接导出矛盾。另外还容易看出,任何子集的排列(或者翻转后)也是序列的一个子序列。

  当n3时,这个序列显然存在(且翻转后唯一),下面用归纳法证明对任意n都存在。设给定直线上的n+1个点,先把其中的任意n个点排成序列A1,A2,,An,然后证明可以把另外一个点B插入到这个序列中。为证明结论,我们需要两个简单的引理,它们是三点序列ABC扩展为四点ABCD的常见情形(以下左图)。已知条件当然是BA,C之间,由此先构建基本图形ABCEFG。第一种附加条件是CB,D之间,这时也同样得到基本图形DCBGFH,考察ADG与直线FC便知CA,D之间。同理可证BA,D之间,因此ABCD构成四点序列。第二种附加条件是CA,D之间,同样考察ADG和直线FC,可知HD,G之间。结合GB,F之间可得到基本图形DCBGFH,从而得到CB,D之间,并进而得到BA,D之间,它们说明ABCD构成四点序列。

          

  现在回到问题的证明,考察点BA1,A2,,An组成的序列,它相当是把B插入到序列A2,,Ann个位置。当序列是A2,,An,B时,问题是要证A1,A2,,An,B构成序列,为此只要证Ai(2in)A1,B之间,对A1,Ai,Aj,B(2i<jn)使用以上引理即可。当序列是A2,,B,,An时,问题是要证A1,A2,,B,,An构成序列,同样对A1,Ai,B,Aj使用引理即可。当序列是B,A2,,An时(以上右图),问题是要证A1,B,A2,,An或者B,A1,,An构成序列。如果BA1,An之间或A1B,An之间,利用引理即可分别得到结论,现在还需证明An不可能在A1,B之间。这时可以构造基本图形CDBA2AnFCCEA1A2AnF,考察CBA1和直线DAn便可知An不可能在A1,B之间。

2. 边界和区域

  刚刚我们证明了直线上点集的顺序性,而顺序性自然能给出方向的定义,这对在几何中建立空间概念必不可少。比如,前面当证到至少存在一点在任何两点之间时,你一定迫不及待说,依次类推可知两点间有无穷多个点。但无穷的概念只有在序列(自然数)出现后才能被说清楚,因此这个论断一定不能缺少顺序定理在场。笼统地说,顺序关系使得点在空间有了秩序和位置,从而可以被划分、切割,这样使得聚类讨论成为可能。

  所谓划分,就是使用一个边界将空间中的点进行分类,同类的点组成一个区域,区域和区域之间没有交集(边界和区域尚未定义)。区域最大的特点就是:同一区域的点是相互连通的,而不同区域则不连通。直线上的点集将直线划分成多个线段或射线(段),每段就是一个区域,分割点便是边界。平面上的直线、或射线线段组成的图形把平面分成了多个区域(片),三维空间中的平面或片又将空间分割为多个区域(块)。点将直线分割为段,段将平面分割为片,片将空间分割为块,这些都是直观的叙述,需要逐一对其进行严格定义。以下仅举几个基础的场景作为示例,不展开完整叙述,而且你还要知道,这里并不涉及复杂的曲线面。

2.1 简单的划分

  为了说明连通性,先要定义折线段,它是一组首尾相连的线段A1A2,A2A3,,An1An的总称,也可简记为A1A2An,点在折线段上是指在某个线段上或是某个端点。所谓点A,B连通,是指存在折线段AB,它与边界没有交点(边界视情况而定,可能是点、线、面、以及复杂组合)。上面说道区域内的点相互连通,这就暗示连通其实是一个等价关系,而对称性、传递性都比较显然。如果区域中的任意两点的线段与边界无交点,则它也叫线段连通的,否则叫折线连通的。

  先来看单个点O对直线a的分割,当a上的两点A,B连通时,其实等价于点O不在线段AB上。有时还把这样的点A,B称为在O同侧,否则称为在O异侧。如果非要用线段(非折线段)连通作为同侧的条件,则还要证明同侧具有传递性。假设A,B同侧且A,C同侧,则讨论O,A,B,C组成的序列,必然有B,C在序列中有A的一侧,即B,C也在O同侧。另外,容易构造点L,R使得O在它们之间,用顺序理论可证直线上的其它点只能和L,R之一同侧,所以Oa分成了两个区域。点O和和其中的一侧合称为一条射线,当点A在这一侧时也称A在射线上,或者记射线为OA,显然直线被其上的任意点分成了两条射线。

  再来看直线a对平面α的分割,这时也可以用线段连通作为同侧的定义:A,B都不在a上,且线段ABa没有交点,则称A,Ba的同侧。同侧的传递性直接用反证法和公理II4可证。另外,同样容易构造出在a异侧的两个点L,R,利用反证法也可证明:平面上的任何点都同L,R之一在同侧,α被其上的任意直线分割成了两个区域。对空间中的任意平面α,用完全相同的方法,可以定义同侧并证明其传递性,而且空间被α分割为两个区域。线、面、空间这种简单的划分,其实还可以作为“方向”的定义,这里不展开阐述。

  说到“方向”,其实还有一种常见的场景,那就是旋转(本段是本人杜撰),平面上绕点旋转、空间中绕直线旋转。要想在空间对象a1,,an上定义旋转方向,就需要给环状序列a1ana1n3)一个合适的定义,而且这种定义下只有两种环状序列(旋转重合算一种),它们翻转后重合。以平面上的直线绕点O旋转为例,在不区分直线上点O的两侧的情况下,我们来构造直线环状序列。其实要定义的只是直线的“相邻”关系,且任一直线总是只与另外两条直线相邻,如果能证明环状序列的存在性,其唯二性也就显然了。

  在同一平面上通过点On条直线,何为两条直线相邻?首先,两条将平面分割为四个区域(显然是线段连通的),而且它们可以被分成两对,每对都在两条直线的不同测,这些区域对便是定义的关键。问题可以先退化到只有一条直线a1的情形,空间被分割为一对线段区域(每个区域线段连通),且这对区域在a1的两侧。当添加直线a2时,容易证明a2的两条射线分别处于之前的一对区域中,且把它们分成了两对区域(仍然线段连通),而没对区域都处于a1,a2的两侧。如果ai,aj划分的两对区域中,有一对里不含其它直线,我们就称ai,aj相邻。开始时a1,a2相邻,且把它们组成环a1a2a1,其中的两个间隙可对应两对区域。后面每次加入一条直线,(类似的证明)都只会分割之前的某对区域,且分割后的每对区域都在所有直线两侧(且线段连通)。新添加的直线ak破坏了原来的相邻关系aiaj,但引入了新的相邻关系aiak,ajak,这就相当于把ak插入到ai,aj之间,环得到扩展而性质不变。这个逐步添加的过程便可以构造出满足条件的环状序列。

2.2 角

  你可能会问,把以上论证中的直线换成射线不是更简洁吗?但其实我们还没有建立任何的射线分割的理论,离开相应的结论以上论述就经不住推敲。为此我们就讨论一下射线对平面的分割,设h,k为平面上以O为端点两条不共线的射线,并且记直线h,k上的另外一条射线为h,k。射线h,k合称为一个,并记为(h,k)h,k不分顺序),h,k分别叫角的O叫角的顶点。直线h,k交于O,且把平面分割为四个线段连通的区域,以这个视角看待射线对平面的分割会更加方便。

  如果以(h,k)为边界,以下左图的区域I自然是一个线段连通的区域,它叫(h,k)内侧,相应的,平面上(h,k)I之外的“区域”称为角的外侧。对于外侧的任意两点A,B,取区域III中任意一点C,不难证明A,B都和C线段连通,从而A,B折线连通。所以外侧是连通的,它可以被称为一个区域,然后需要说明内外侧不连通。取内侧的点A和外侧的点B,不失一般性,可设BA在直线k的两侧(以下右图)。首先容易证明:无论如何折线段AB都与直线k相交,如果射线k(包括点O)上有交点,则结论得证。如果交点在k上,设第一个交点为线段CD上的点EE可能为D),则A,E在直线h的两侧。设折线ACE与直线h交于点F,则F必然在射线h上,结论得证。

          

  然后继续讨论角的性质,利用射线和直线的位置关系,容易证明,从O出发的任意射线(不同于h,k)必然整个在角的内侧或外侧,而且它把这一侧又分割为两个区域。其中后一个结论不是不证自明的,需要从直线分割的角度分类讨论。有了这些结论,就可以用射线定义旋转的方向了。把某一侧没有其它射线两条射线定义为相邻的,后面的论证非常类似,这里不再赘述。有了环状序列,便可以从任意一处断开为顺序序列,也就是说在角的每一侧可以建立射线的顺序关系。这时就可以在射线之间定义“之间”的概念,即如果射线c(a,b)内侧,则称ca,b之间。

  当然,如果没有前面关于旋转的讨论,也可以仅凭“之间”的定义对角内侧射线建立顺序关系。构造关系时,可以顺利借助直线上点的顺序关系,为此先来看一个简单的引理(以下左图)。分别在射线h,k上取点H,K,则显然线段H,K的内点都在角的内侧。再考察从O出发的内侧射线l,取点A使得OH,A之间,然后容易证明直线l与线段AK不相交(以h为边界),最后对HAK和直线l使用II4lHK必定相交。这个结论把射线的“之间”关系转化为点的“之间”关系,利用这个对应可以证明,三条射线中最多有一条在其它两条之间(反证)。

  当然这里仅讨论角内侧中的射线簇,或者换个说法,射线簇中存在一个射线a,使得其它射线h1,,hn都在直线a的同一侧。如果能找到一个h1,使得其它hj都在(h1,a)内侧(以下右图),则在h1,a上分别取点H1,A。讨论线段H1A与其它射线的交点构成的序列(包括H1,A),便能建立一个射线序列,其中h1,a是序列两端。可以使用归纳法证明结论,当n=2时,如果h1(h2,a)内侧,则结论成立。如果h1(h2,a)外侧,则线段H1A必与直线h2相交,但交点又只能在直线a的同一侧,所以必然在射线h2上,h2(h1,a)内侧。当引入hn+1时,类似地讨论h1,hn+1,a之间的关系,也能证明结论。

          

2.3 多边形

  空间中还有一种分割方法,是一个封闭区域所划分的内外侧,展开讨论篇幅将很大,这里仅举平面上封闭区域为例。所谓封闭,就是折线段且首尾相连A1AnA1,它被称为多边形n边形),组成它的线段和端点分别叫多边形的顶点。当多边形的任意两边没有公共点时(包括端点和线段内点),它也叫简单多边形。直觉上简单多边形(以下简称多边形)将平面划分为内外侧,直线可以不通过内侧,即使通过两侧也一定在外侧,下面就来讨论这一系列问题。

  由于折线段的情况非常复杂,试图通过直线的两侧来定义区域将非常困难,这时不妨从直观性质中寻找灵感。直观上,一个从封闭区域内侧出发的射线,最终一定会跑到外侧,因此它必定穿过边界奇数次。在此我们必要严谨地讨论一下射线“穿过”多边形的次数。直线和多边形有公共点的情形无非下图中五种,但第三、五种直线没有“刺穿”边界,它们不算一次穿过,其它三种都算一次穿过。另外显然,直线只能穿过线段一次,穿过n边形不超过n次。为了不造成混淆,这里仍然把“有公共点”称为“相交”,这与课本不同。

  考察从同一点出发的两条不同射线,它们或者共线、或者组成一个角,但都将平面分成两个区域。这样的两条射线还把多边形分割为多个折线段(首尾是射线和多边形交点,不讨论在直线上的线段),且容易证明:相邻的折线段分别在平面的两个区域。因为从某个折线段出发遍历整个多边形还会回来,所以折线段的个数必定是偶数,即两条射线穿过多边形的总次数是偶数。这就是说,从同一点出发的任意射线穿过多边形的次数有相同的奇偶性,次数为奇(偶数)数的叫多边形的内点外点)。我们要证明的结论则是:以多边形为边界,它的所有内(外)点之间都连通,但内外点不连通,这两个区域分别叫多边形的内侧外侧

  为了证明内(外)点的连通性,我们需要一些引理做铺垫,这些引理是为了证明局部的连通性。面对千变万化的多边形,从局部出发、尤其是从多边形的边和顶点附近出发,是一个很客观的策略。先来看一个三角形内点的性质(以下左图),以后把三角形顶点与其对边内点组成的线段叫三角形的“贯线”。在不与边重合的情况下,直线与三角形最多只能有三个交点,而上面知道直线只能穿过多边形偶数次,故此时交点数只能是02。因为通过内点的直线一定与多边形相交,故通过三角形内点和顶点的直线也必然与其对边相交,也就是说内点一定在贯线上,反之显然成立,即点为三角形内点的充要条件是它在某条贯线上。

          

  如果线段与三角形相交且有点是三角形内点,那么称这个线段穿过了三角形,它与三角形的交点也叫“穿过点”。考察这样一个ABC和多边形Ω(以上右图),如果ΩABC的穿过点只能出现在(可以没有)边BC(包括端点)上,容易证明Ω一定有顶点是ABC内点(就是穿过三角形的线段的某个端点)。容易在AC上构造点C,使得ABC中没有Ω的顶点,即Ω上没有ABC的内点,这样ABC的任一贯线BD上都没有Ω的点。同样道理,也存在贯线CE满足特点,也即存在D,E使得图中的绿色线段(不包括端点)上没有Ω的点。

  有了以上引理,我们就来证明一个重要的结论:从简单多边形Ω(或简单折线段)之外一点O,总能通过一条折线段连通到Ω上任意一点。先从O构造一条与Ω相交的射线,而A是第一个交点,这时O,A就是折线相通的。假设Ω上与A相邻的两个顶点是B,CA本身也可能是顶点),下面证明OAB,AC上的所有点连通,如果结论成立,则可以依次推断OΩ上所有的点都连通。不失一般性,下面证明O,B连通。

  如果OA,AB不共线、且ACOAB外侧(以下左图),对ABO使用引理,OA上存在点D,使得BD内部没有Ω的点,显然折线段ODB连通了O,B。如果OA,OB共线、或者ACOAB内侧(以下右图),在射线CA上取点C,使得线段AC内部没有Ω的点。先对AOC使用引理,AC上存在点D使得OA上没有Ω的点,再对ABD使用引理,AD上存在点E使得BE上没有Ω的点,这时折线ODEB连通O,B

          

  现在回到内(外)点连通的证明(以下左图),设A,B都是内(外)点,先在Ω某条边上取一点C,且假设已经构造出连通折线ADCBEC。对CAB使用引理,EC上存在点F使得DF上没有Ω的点,显然折线段ADFEB连通A,B,区域性得证。要证明两个区域不连通,等价于证明不存在连点线段连通。分别在内、外侧取点A,B,考虑射线AB穿过Ω的情况,根据内外点的奇偶性不同,可知线段AB上一定有穿过点,内外侧的不连通性得证。

          

  最后的问题是直线与多边形的相交情况,首先如果直线穿过多边形,由于内点射线的穿过次数为奇数,直线的两端最终一定都在外侧。那么有没有直线不穿过多边形、甚至和多边形没有交点呢?这个问题可以换成一个更一般的问题:平面上有n个点,是否存在直线l,使得所有点都在l的同一侧?先任取一直线a,假设a的两侧都有点,将两侧的点互相相连,这些直线一定都与a相交。将这些有限的交点排成序列A1,A2,,考察与a相交于A1的那条直线b,所有n点都在bA2一侧、或就在b上。为了使得直线上也没有给定的点(以上右图),在每个点Pi上构造两条线段(相交于Pi但不含有其它点),对这些线段的4n点使用刚才结论并得到直线l。可以证明l上一定没有给定点,且给顶点都在l的同一侧。

 

posted on   卞爱华  阅读(938)  评论(0编辑  收藏  举报

编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架

导航

点击右上角即可分享
微信分享提示