【高等几何】03 - 射影变换
1. 增补仿射空间
1.1 点透视的启发
在第一篇中说到,圆锥面对于不同平面的截面构成了我们熟悉的二次曲线(圆、椭圆、抛物线、双曲线),因此它们也被称为圆锥曲线。至于为什么会是这样,最直观的证明就是著名的丹德林(Dandeline)双球模型。上一篇中圆柱截面为椭圆的证明,放在圆锥中依然适用。下图则演示了截面为双曲线的情况,依据中学对二次曲线的定义(椭圆为固定线段和,双曲线为固定线段差),很容易看出结论(抛物线视为特殊椭圆)。当然这个证明不是本课程要关心的,现在我们来换个观察角度。
同一个圆锥面被不同平面截出一系列迥异的曲线(甚至包括单点、重叠直线、相交直线、平行线),就好比是一簇光线在不同平面上的投影,它们之间必然有着内在的联系。这也正如人们在透视画法中发现的,不同角度的画虽然有各种程度扭曲,但它们仍然保留了原像图形的诸多性质,比如直线以及直线间的关系基本没有改变。以上点透视模型只是一个直观描述,但它对我们的深入讨论有两个至关重要的启发:(1)平面间的投影究竟是怎样的几何变换?(2)光线簇与投影的不变性质有怎样的关联?
第一个问题是把平面作为研究对象,把模型中的不同平面重叠起来,透视映射就表现为平面上点的某种变换,我们需要将其扩展为完整的变换群、并用更精确的数学语言来描述它。第二个问题非常关键,它提醒我们平面上的投影不变性可以放到高一维的空间、以研究线束来代替研究图形,也许能得到更简洁更本质的方法!上一篇的仿射几何受到了平行透视的启发,定义了单比不变的几何变换,这里则提出了更一般的点透视模型。按照纲领的思路,我们先要找到那些关键的透视不变性,以抽取出新几何的元素和特征。
1.2 无穷远元素
不过在回答这两个问题之前,我们需要先解决模型中的一点残缺遗憾。继续考察空间中以点
扩展后的空间中,投影面要以光线簇为原象,不仅点与所有光线一一对应,而且共面的光线要投影为一条直线。具体要求则是:任一光线与所有投影面有且仅有一个交点,同一平面的光线总是投影出一条直线,两个光线面(相较于一条光线)总是投影出两条相交直线。考虑与
据此便得到了最小的扩展空间:在欧几里得空间中,为每个平行线簇增补一个共同交点,直觉上也叫无穷远点。每一条光线都有唯一的无穷远点,不同光线的无穷远点不相同。在细致讨论无穷远点的性质之前,请不要忘记,这一切的动机都来自透视模型,由此光线簇既是一般的直线集合,更是理论来源。扩展后的空间在任一平面的性质,应当与原象(光线簇)保持一致。比如所有普通直线都有唯一无穷远点,直线两端就好像在无穷远点处相接,从而变成了一个大环,这就对应到光线的圆周辐射。再比如共面光线的投影应当总是一条直线,而任何普通平面的无穷远点是与之平行的光线的投影,由此可视为一条直线,直觉上也叫无穷远直线。
进一步地,任取两个无穷远点,其对应光线确定唯一的光线平面,所以它们就确定了唯一的无穷远直线。最后,任意两条无穷远直线代表了两个相交普通平面(或两个不同光线平面),总是相交于某一无穷远点。由此所有无穷远点都可以视为在同一平面上,直觉上也叫无穷远平面,记作
最后请注意,透视模型的讨论不光在欧氏空间成立,它同样没有离开仿射几何的范畴,而它是欧氏几何的父几何。所以我们把无穷远平面的增补说成是在仿射空间中,增补后的空间仍然叫仿射空间,对应的点线面则叫仿射点、仿射直线、仿射平面。只要把以前的“平行”“相交”替换成“相交于无穷远点”“相较于普通点”,所有的讨论在语言上都没有困扰(无穷元素在仿射几何里是特殊元素)。当然由于欧氏几何是特殊的仿射几何,往后提到它也是增补了无穷远平面的。下面就在这新定义的仿射空间下,研究透视映射(中心射影)的不变性质。
2. 射影变换
2.1 交比
相比仿射变换,仿射空间的中心射影的不变量少了很多,如果不增补无穷平面,甚至连同素性都保不住。幸好在扩展后的仿射空间里,仿射点(直线、平面)仍然对应仿射点(直线、平面),所以中心射影具有同素性。另外仿射空间元素之间的关联变得更加简单:两点确定一直线;两共面直线交于一点;直线与外一点确定一平面;两平面交于一直线;直线与平面交于一点。这些特点都是透视模型自带的,你不必一个个去证明,而且这些关系也透视不变,所以中心射影还具有关联性。对比仿射变换的三个性质,还有一个单比不变显然不再成立,甚至看到连顺序性都被打破了,直线在度量上难道就没有约束了吗?
还是回到欧氏空间的透视模型,如果直线上点的关系存在不变量,猜想一定可以表示为对应透视线的关系。比如在平行透视中(仿射对应),单比其实就是对应平行光线的距离比。而如果是普通透视点,光线之间不变量应当只与角度有关,为此先定义平面上直线
为了消除单比
2.2 调和共轭
需要注意,交比的值与点的顺序有关,但不难发现
调和点列是最容易作图获得的,基本原理则是构造
2.3 射影变换
(点列)交比是中心射影的核心不变量,可视为单比的一种扩展,以后就把仿射空间中保持同素性、关联性、点列交比不变性的映射叫做射影对应,而同一空间的射影对应则叫射影变换。中心射影显然是一种射影对应,且有限个中心射影
平面射影对应还有一些有趣的性质,这里一并介绍完。但务必要交代清楚:它们不仅存在于仿射空间,也同样适用于更一般的射影空间(下篇介绍),因为论证中只涉及到了点线的关联性质和射影对应。后面就不重复这里的证明了,你就权当提前感受一下射影几何的独特视角。让我们继续刚才讨论,如上证明过程中其实已经表明:(1)两条平面直线的射影对应可以由三对不同的点完全确定;(2)两个射影点列如果在交点处自对应,那么射影对应是一个透视对应。一维射影变换是特殊的射影对应,每个点都是象和原象,如果两个不同点
• [练习] (笛沙格对合定理)求证:任意不过四点形点的直线,与6条边的3对交点是某个对合变换的对应点。
刚才定义点列交比时,同时也定义了线束交比,并且两者的值由基本模型绑定在一起。其实不难发现,模型中的点列和线束在概念上是完全对等的(以后会详细讨论):点列在一条直线上,线束经过同一点。再加上点列交比和线束交比的相关性,我们有理由把刚才的讨论都平移到线束上,而点列成为了线束透视对应的透视轴。类似的结论有:(1)平面上线束的射影对应总可以拆成两个透视对应的乘积;(2)线束的射影对应由三组不同的对应线完全确定;(3)如果两个线束的中心连线自对应,那么射影对应是一个透视对应;(4)有一对对合线的射影变换是对合变换。同样也有完全四边形、以及对顶线和对顶三角形的概念,图形和完全四点形几乎一样,只是把点线互换、点列线束互换。
2.4 定理举例
综合一维透视对应的性质,在点列和线束间传递透视关系,还能得到平面几何上不少有趣的点线关联性质。比如分别以点
• [练习] 设有点
最后再举一个经典案例。设两直线
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库