上一篇我们扩展了仿射空间,并在其上定义了交比和射影变换。同素性和关联性是射影不变性,(点列和线束)交比是射影不变量,现在我们就要以这些射影性质为启发,抽象并构建新的几何空间。但这一次要做得更彻底,不同于仿射几何对于欧氏几何做减法,我们要从零开始建立射影几何,并顺带推广仿射几何与欧氏几何。是的,你将不再受困于三维空间和实数域,而是以最自由开放的方式重建几何空间。现在开始我们才正式进入课程的正题,请先自备一点抽象代数以及线性代数的知识。
1. 射影公理
1.1 结合公理
几何公理的建立仍然要从基本元素和基本关系定义起。同素性中的“素”就是要讨论的几何对象(基本元素),为了不拘泥于三维空间,我们把基本元素定义为个集合。其中的元素称为点,的元素称为维平面,特别地的元素也叫线,的元素称为超平面。注意这里的点线面只是一些名称,并不能与直觉几何的名称混淆(虽然有一定联系)。关联性中包含的情况看似比较多,但其实可以由一个基本关系延伸出来,它仅存在于两个不同集合的元素之间。如果关系存在,则称结合于,记作(也只是一个记号),它也可以表述为“在上”或“通过”。
以上关于元素和结合关系定义,与希尔伯特公理非常相像(只是维度更自由),但为了能限定高维平面的内涵,还需要借助线性代数的思想。当某个点不能同时在一个维数小于的平面上时,则称它们是线性无关的,否则就是线性相关的。现在就可以在基本元素和基本关系下,限定一组公理以构建新的几何空间,其中每一条都要是简洁且必要的。我将课本的公理条目重新做了编排,为的是更有层次和递进感:第一组是说结合关系的传递性;第二组以线性无关点确定新的平面,以及平面间的结合关系;第三组描述了平面之间的公共点;第四组则限定了元素数量。这组公理所描述的几何(元素和关系)就称为维射影几何,中唯一元素也叫维射影空间。
射影结合公理
如果,则有;
任何个线性无关的点确定唯一维平面(存在唯一维平面经过它们);
如果平面包含线性无关点组,且点组确定维平面,则有;
如果平面上各有线性无关点组和,且它们的并集线性相关,则至少有一个公共点;
同一个二维平面上的两条直线必有一个公共点;
每个维平面至少有个线性无关点,每条直线上至少有三个不同点;
存在唯一的一个维平面。
仅凭以上公理便可得到一些基本的几何命题,这里仅作罗列阐述,请自行证明。比如两点确定一条直线;直线和直线外一点确定一个平面;给定维平面和平面外一点,则存在唯一的维平面经过。一组线性无关点集,其中任意个点也是线性无关的(反证)。一个维平面和所有与之结合的元素,可以构成一个维射影几何,该平面代表的射影空间也称为的子空间。平面上两直线有唯一交点;如果直线不经过超平面,则有唯一公共点;3维射影(子)空间中,(2维)平面与不在其上的直线有唯一交点。两个超平面至少交于一条直线;3维射影(子)空间中,两个平面总交于一条直线。
1.2 笛沙格定理
在3维(子)射影空间中,还有一个非常重要的命题。考察以为射心、对两个平面的透视模型,并假定有三点形射影对应-。由于的相交线(透视轴)是透视自对应的,所以三点形的三条对应边都相交、且交点都在上,这就是空间的笛沙格(Desargues)定理。如果两个三点形在同一平面(对应边不共线),且仍然以平面上的为透视中心,任选平面外直线,并记与三对点的交叉点。先对异面三点形使用笛沙格定理,得到对应边的交点共线,同理也有共线和共线。这时以为射心对三点形使用空间笛卡尔定理,便能得到共线,该结论就是平面的笛沙格定理。


要特别注意的是,平面笛沙格定理一定要在3维射影空间中才能被证明,换句话说,如果仅有2维射影结合公理是无法推导出这个定理的,而必须将其引入为公理才能继续后面的讨论。另外你可以自己证明,笛沙格逆定理也成立:如果三点形对应边相交、且交点共线,那么三个对应点的连线共点,后面我们会从对偶的视角轻松证明它。笛沙格定理及其逆定理是平面几何中的重要点线关系,结合无穷远直线,便得以全新的视角看待平面几何中的经典结论。尤其是逆定理,可以意外轻松地解决某些共点问题,比如以三角形及其三边中点为一对三点形,无穷远直线便是它们的透视轴,逆定理表明存在透视中心,也就是说三条中线交于一点。请练习证明以下命题:
• [练习] 试证:任意四边形的两条对边中点连线、以及对角线中点连线相交于一点。
有一件事希望你能注意到,共点还是共线其实取决于你的视角,同样是三线共点,换个视角就是的交点共于直线上。再举一个后面会用到的例子,考察射心到直线的透视对应-,并获得交叉点。易知和三对应边交点共线,从而三对应点连线共点,也就是说共线。反之如果仅有透视对应-,在直线上任取点并获得点,也可知共线。值得一提的是,其实是透视对应下的Puppus线(但没有用到Puppus定理),证明中是比较常用的基本模型。

2. 射影代数
2.1 直线上的加法
射影结合公理对应的是射影变换的同素性和关联性,现在则需要考虑交比不变性,而前提又是将直线上的点代数化。这次我们不能像仿射几何那样直接赋予点一个实数,而是要借助已有性质逐步建立代数系统,并以合适的方式引入交比不变性。不可思议的是,笛沙格定理看似普通的关联定理,却可以帮助我们搭建比较完备的代数系统。以下我将仿照之前《几何基础》中的“笛沙格几何”一章,建立直线上的域结构,然后扩展到高维空间的非齐次坐标系,最终建立射影几何的齐次坐标系。推导过程中抛弃了课本[1]的运算定义、以及并不严谨的构建逻辑,以我自己的理解尽量做到逻辑自洽。如发现有不合理之处,恳请赐教!其实你可以尝试证明,这里的加法、乘法运算和教材上是等价的,不过更加直观而且便于使用。

首先由于直线上至少有三个不同点,不妨把它们记作,目的是对应仿射坐标的原点、单位点、无穷远点。任取另一条过的直线并同样选定单位点、无穷远点,相应三点可构造唯一的透视对应。两直线的透视对应点视作相同的“数”。下面就在两条直线上同时建立代数同构的域。如上图在两直线上分别取点,交点引出的直线与的交点分别定义为。这个定义虽然直观,但良性的定义还要求交换位置后交点相同,下图中先有Pappus线,然后对和使用笛沙格定理,即有共线。这就同时为两条直线定义了加法,且右图证明了加法满足交换律。接下来请自行证明为加法单位元,并且对任意点都存在逆元(构造法),最后再挑战一下加法结合律,最终证得直线上的加法构成一个Abel群。

当然严格的加法应该从给定的直线、及选定的基础点开始定义,并且任意点的加法应当是直线上的固定点,而与其它辅助元素的选取无关。现在再另选一条直线(它可能不在平面上),类似地得到交点,要证明的是相交于直线的同一点。先对和使用笛沙格逆定理,得到三线共点,同样可知三线共点,从而三线共点,对和使用笛沙格定理便证得结论。这说明加法的定义是由给定直线和基本点确定的,不依赖辅助元素的选取,并且直观上兼容仿射空间(欧氏空间)的加法定义。另外值得一提的是,加法定义并没有用到单位点,因此射心可以随意选择。

2.2 直线上的乘法

现在来定义直线上点的乘法。还是以相交直线以及确定的透视对应为基础,在两直线上分别取点,连接得到点,与的交点定义为。注意乘法定义天然是不对称的,良性的定义还要求交换位置后在上也得到,即要证明下图中共线。先对和使用笛沙格逆定理,得到共线,根据Pappus线的特点即得共线。接下来需要你自行证明点是乘法的单位元,以及对任意点都存在逆元,然后再挑战一下乘法的结合律、还有与加法的分配律。最后针对给定直线和基本点,还需要证明不依赖的选取(与加法雷同),是直线上的确定点。最终,直线上的点在乘法下是一个除环(没有交换律),结合加法的交换群便构成了“体”的代数结构。

而事实是,乘法交换律的确不能由以上公理证明,需要另外引入公理。如果图中的乘法交换律成立,就是说共线,这就要-对应的Pappus命题成立。回顾上一篇的仿射空间,Pappus定理是利用射影对应证明的,关键用到了射影的交比不变性。这时我们才恍然大悟:Pappus命题其实就是交比不变性在射影几何的真身,我们必须依赖它间接地引出交比的概念(射影几何对直线度量的唯一限制)!因此以下把2维射影空间的笛沙格命题和Pappus命题都补充进来,以获得射影结合公理的完整体。这样在2维及以上的射影几何中,直线上任选三点都能构建一个代数“域”了,这个域(体)帮助我们建立了直线上的坐标系。
射影结合公理(可选)
2维射影空间中,笛沙格命题成立(为了2维空间的代数运算);
2维平面中,Pappus命题成立(为了乘法交换律)。

3. 空间坐标系
3.1 非齐次坐标
以上加法和乘法的定义,采用了更加直观可用的视角,你可以轻松地在图上作出和。另外其实还同时为两条相交直线定义了透视同构的域(体)结构,这将方便我们建立空间坐标系。现在延续仿射坐标系的构建方法,只是需要额外增加点作为“无穷远点”,因此要事先选取个线性无关点,其中作为原点、充当不同直线的。从直线上总存在第三点开始,可以归纳证明空间中存在一个单位点,它与任意个都线性无关。空间单位点可以确定条坐标轴上的单位点,方法是取经过以及其它个的超平面与轴的交点。

先分别以为原点、单位点、无穷点建立直线坐标系,然后透视对应到其它轴上,并记透视中心为。然后对于空间的任意点,可以像一样找到它在坐标轴上的投影,的坐标组合成了点的非齐次坐标。空间坐标系虽然建成,但还有一个隐患需要清扫,就是轴的位置太特殊,这会影响后面的推理。对和使用笛沙格定理,证得共线,然后对任意透视点,同样可以得到经过。这就是说坐标轴和的相应数是点的透视对应,坐标轴两两透视对应,它们的位置是对等的。

非齐次坐标系兼容了仿射坐标系,但却有一个致命缺点,就是空间里某些点没有坐标,而这些点在射影空间并不是特殊的。所谓没有坐标,是说与其它个的超平面交坐标轴于点,所以在个点所确定的超平面上,反之亦成立。这个超平面在仿射空间就是无穷远平面,但在未选定坐标系的射影空间只是一个普通超平面,非齐次坐标显然不是最合适的代数工具。但令人欣喜的是,我们在维射影空间建立非齐次坐标,却能为其中的超平面(维射影空间)建立完美坐标系。以为例,其上的每一点都与点确定了一条直线,继而上的每个维平面都与确定了一个维平面,这就启发我们用这些过点的平面等价研究超平面。
3.2 超平面方程和齐次坐标
非齐次坐标构成了域(体)上的维线性空间,在欧氏空间中过的直线和平面分别对应的1维和2维子线性空间,然而在射影空间里,这个结论并不是天然成立的。从坐标的定义出发好像只能证明,在某些维度全为0的点构成的线性子空间可以组成特定平面(比如坐标轴平面),我顶多还能证明中的过直线对应1维子线性空间,然后就束手无策了(教材对这个关键一环表述不严谨)。最终我还是找到了一个比较靠谱的证明思路,就是先推导出超平面的线性方程是,其它平面方程由超平面相交得到。对于过平面,先根据方程得知超平面上的点是维线性子空间,而它们相交便得到其它平面(线性子空间)。
超平面方程的获得,得利于加法、乘法的直观定义以及归纳法。先来看2维平面的直线方程,如图令直线分别交两轴于点,则点指明了“斜率”。对直线上的任意点,先获得两轴上的对应点,然后对和使用笛沙格定理得知共线。这样便得到2维平面的直线方程或,综合各种特殊情况(请自行补充)更应该写成直线方程的一般式。以此为基础,可以递归推导出维空间的超平面方程。

为了描述方便,现在以3维空间为例,建立(2维)平面的一般方程。设平面与三轴的交点分别为,取平面上的任意点,设平面与相交于直线。然后以为射心将透视对应到平面上,并获得交点,点就是在轴的坐标,利用直线和平面的方程可算得。同样也能算得,并计算整理得到直线的方程。然而注意到共面,可知点就在直线上,最终得到平面的方程。

这样就完成了我们的最初设想:维射影空间中,过的每条直线上所有点的坐标,正好组成域(体)上维线性空间中的一个1维子空间;而过的维平面上所有点的坐标,正好组成中的一个维子空间。并且的子空间的包含关系正好对应平面的结合关系,这就提示我们把所有子空间对应到射影空间的一个超平面上(比如无穷远平面),然后用线性空间代替讨论这个超平面,彻底完成射影空间的代数化。也就是说讨论射影空间时,先把它放进高一维射影空间,然后将上任意一点,用直线所代表的1维线性子空间表示。
由于1维子空间上点的坐标是成比例的,我们只需采用其中一个来代表它,而它也被称为的齐次坐标,并区分记作。射影空间的每个点都有齐次坐标,它是讨论射影几何的完美代数工具。但是为了兼容仿射坐标,我们选择将放在位置,以建立齐次坐标和非齐次坐标的关联。如图是的透视中心,然后以为透视中心分别将透视到上,利用和不难证明共线。所以上的坐标也是透视对应的,它们可以直接做为平面上的坐标。放到里就是说,点的非齐次坐标正好是。

最后做为练习请考虑,非齐次坐标下怎样判断个点共于同一个维平面?(从齐次坐标线性关系推导)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库