☰
平面射影几何进阶:齐次坐标、交比、对合与极点极线实战解析
2026/10/13 23:14:43 网站建设 项目流程

上一篇我们聊了中心投影、无穷远点和交比的基本思想,今天把平面射影几何里更硬核的部分补上:齐次坐标的运算、交比的参数计算、对合,以及二次曲线的极点极线。很多朋友学到平面射影几何的第二阶段,往往卡在“定理看得懂,题目算不动”的尴尬里,尤其是从“欧氏几何思维”切换到“射影几何思维”的那一刻,脑子里的平行、垂直、中点突然都不灵了,剩下的只有点在直线上、直线过点这类抽象关系。这篇文章的主角是四个词:齐次坐标、交比、对合、极点极线。它们共同构成平面射影几何后半程的地基,也能帮你真正上手处理共点、共线、二次曲线相关的问题。适合已经了解射影平面基本定义、但对计算和定理理解还浮于表面的读者,读完可以直接拿坐标法验证经典结论。

1. 先搭骨架:齐次坐标与无穷远点

1.1 为什么要把平行线硬生生“掰”成交点

射影几何最反直觉的地方,就是承认无穷远点的存在。在欧氏平面里,两条平行线没有交点,但当你用中心投影去看一块铺满平行线的地面时,它们在照片里交于“视野尽头”的那个点。如果你不想为了每一个画面都重新解释“它们只是看起来相交”,最省事的办法就是直接规定:所有平行线真的相交,交点就在无穷远处。

这个规定不是文字游戏,而是几何结构的升级。从线性代数角度看,射影平面可以看作三维空间里所有过原点的直线组成的集合。一个点用齐次坐标 $(x:y:z)$ 表示,其中 $(x,y,z)$ 不同时为零,而且 $(x:y:z)$ 和 $(\lambda x:\lambda y:\lambda z)$ 表示同一个点。当 $z=0$ 时,这个点落在无穷远直线上;当 $z\neq 0$ 时,它对应普通的仿射点 $(x/z, y/z)$。

为什么要引入这样一个“多余”的坐标?因为中心投影在欧氏坐标下很难处理,而在齐次坐标下,投影变换就是一个简单的矩阵乘法。生活化类比:普通坐标是站在地面看世界,铁轨从脚下延伸到远方,看起来是平行的;齐次坐标是站到足够高的地方俯视,铁轨的物理性质没变,但你可以把“远方交汇”这个观察事实直接纳入同一套坐标系。这一下就把平行线合并到交点框架里,射影几何的大厦才立得住。

1.2 齐次坐标的换算与第一次踩坑

很多新手在用齐次坐标时都会踩同一个坑:看到 $(1:2:3)$ 就下意识把它当成三维向量 $(1,2,3)$,然后按向量加法去算。实际上它在射影平面里是二维点 $(1/3, 2/3)$,和 $(3:6:9)$ 完全是同一个点。换算规则很简单:当 $z\neq 0$ 时,把前两个分量都除以第三个分量,就得到仿射坐标;当 $z=0$ 时,它是无穷远点,不能执行“除以零”,只能保留齐次形式。

实际计算中,我建议你尽量保留齐次坐标,不要急着设 $z=1$。为什么?因为很多射影性质,比如交比、极点极线,往往在无穷远点参与时反而显得简洁。如果一开始就归一化,你会遗漏 $(x:y:0)$ 这类点。等到最后需要看几何意义时,再把有限点的坐标归一化也不迟。另外,齐次坐标的“等价类”思想会影响后续所有计算:一个向量乘以任意非零常数,仍然代表同一个点,所以检查“两点是否相同”时,不能用普通坐标直接比,而要看两个三元组是否成比例。

2. 交比:四个点怎么排,投影都变不了

2.1 交比的定义和计算公式

交比是射影几何里第一个真正的不变量。直线上有四个点 $A,B,C,D$,交比定义为有向线段长度比值的比值:

$$ (A,B;C,D)=\frac{AC/CB}{AD/DB} $$

更实用的公式是引入直线上的参数 $t$,设四个点的参数分别是 $a,b,c,d$,则

$$ (A,B;C,D)=\frac{(c-a)(d-b)}{(c-b)(d-a)} $$

这个公式的好处是不需要关心测量方向,只要坐标系一致,参数直接代入即可。如果点 $B$ 的参数是无穷大(即 $b\to\infty$),公式会退化成 $(c-a)/(d-a)$,其他情况也可以取极限。

为什么不用两条线段长度的简单比值?因为中心投影会改变线段长度,简单比值不守恒。交比像一个“四把椅子之间的投影不变量”,无论你从哪个方向观察,四个点的排列扭曲程度都用一个数字固定下来。这里的关键不是“交比等于几”,而是“经过射影变换后这个数字不变”。你可以把交比理解成射影世界的“全息签名”。

2.2 一个手算实例:从齐次坐标到参数化

光给公式容易飘,我们拿具体数值走一遍。设直线 $l: x+y-z=0$,在上面取四个点:

$$A=(1:0:1),\quad B=(0:1:1),\quad C=(1:1:2),\quad D=(1:-1:0)$$

注意 $D$ 的第三坐标是 0,所以它是一个无穷远点。此时不能直接设 $z=1$,必须保留齐次坐标。

用 $A,B$ 作为直线的基向量,直线上任意点可写为 $P(\lambda,\mu)=\lambda A+\mu B=(\lambda:\mu:\lambda+\mu)$。于是每个点对应一个参数比例 $t=\mu/\lambda$。逐个对应:

  • $A$:$(\lambda,\mu)=(1,0)$,所以 $t=0$
  • $B$:$(\lambda,\mu)=(0,1)$,所以 $t=\infty$
  • $C$:$(1:1:2)$ 要满足 $\lambda=1, \mu=1$,所以 $t=1$
  • $D$:$(1:-1:0)$ 满足 $\lambda=1, \mu=-1$,所以 $t=-1$

要求 $(A,B;C,D)$,代入公式并用极限处理 $b=\infty$。交比退化为

$$ (A,B;C,D)=\frac{c-a}{d-a}=\frac{1-0}{-1-0}=-1 $$

得出 $-1$,说明 $C$ 和 $D$ 调和分割 $A$ 和 $B$。这个例子也展示了为什么齐次坐标里不能随便把所有点都归一到 $z=1$——$D$ 是无穷远点,但它参与的交比计算非常干净。

2.3 调和点列:射影几何中最常用的特例

当 $(A,B;C,D)=-1$ 时,称 $C,D$ 调和分割 $A,B$,这四个点组成一个调和点列。调和点列在射影几何里到处都是,甚至可以说它是“中等难度的入门钥匙”。

最经典的一个调和点列是:在普通数轴上取 $A=0$,$B=1$,$C$ 是 $AB$ 的中点 $C=1/2$,$D$ 是无穷远点。这时 $a=0,b=1,c=1/2,d=\infty$,代入极限公式得到

$$ (A,B;C,D)=\frac{c-a}{c-b}=\frac{1/2}{-1/2}=-1 $$

所以中点和无穷远点调和分割线段的两个端点。这解释了射影几何里“中点”为什么不是一个看似很强的概念:它只是在某个仿射坐标下的特殊调和位置,经过射影变换后可能变得面目全非。

调和点列的另一个来源是完全四点形。取平面上四个点(无三点共线),连接所有六条边,三组对边的交点会构成对角线点。这些对角线点和原来四条边上的某些交点之间会形成调和关系。这类构造在尺规作图里非常有用,不过初学者不必急着背图,先记住“交比等于 -1”这个代数特征,后面作图题自然能套上去。

3. 对合与极点极线:二次曲线登场

3.1 对合:自己就是自己的变换

对合(involution)是一类特殊的射影变换,它满足“做两次等于什么都没做”,但它本身不是恒等变换。一维射影变换可以用二阶矩阵表示,如果矩阵 $A$ 满足 $A^2=\lambda I$($\lambda\neq 0$),那么它对应的射影变换就是对合。

最简单的例子是交换两个基向量:

$$ (x:y)\mapsto (y:x) $$

矩阵是 $\begin{pmatrix}0&1\1&0\end{pmatrix}$,平方是单位矩阵,所以做两次确实回到原点。这个变换的几何意义是直线上的“反射”,但不是欧氏反射,而是在某个射影坐标下的配对。

对合的双重元素是满足 $T(P)=P$ 的点。比如在 $(x:y)\mapsto(y:x)$ 中,双重元素满足 $x=y$,所以点 $(1:1)$ 和 $(1:-1)$ 是双重元素。更一般地,对合可以由两对对应点完全确定,这在作图题中非常强大:只要你指定两对点,整个对合就被唯一“锁死”了。

对合的直观理解可以借用镜子:你对着镜子做一次动作,看到的是相反的动作;再做一次动作指令,又回到原来。射影几何里的对合就是这种“对称操作”的抽象版。值得注意的是,对合不一定有实数双重元素,比如 $(x:y)\mapsto(-y:x)$ 平方后是 $-I$,在实数射影平面上没有固定点,但作为抽象射影变换它依然成立。

3.2 极点极线方程怎么算

二次曲线在射影几何里占据中心位置。给定一个对称矩阵 $Q$,二次曲线记作

$$ X^T Q X=0 $$

其中 $X=(x,y,z)^T$。例如圆 $x^2+y^2-z^2=0$ 对应的 $Q=\mathrm{diag}(1,1,-1)$。

对于平面上任意一点 $P=(x_p:y_p:z_p)$,它的极线方程是

$$ P^T Q X=0 $$

即把 $P$ 的坐标代进 $Q$,得到一个线性方程。如果 $P$ 恰好在二次曲线上,这条极线就是该点的切线;如果 $P$ 在曲线外,极线是过 $P$ 的两条切线的切点连成的弦。这个“切点弦”性质是作图时最常用的理解方式。

举个例子。设曲线 $C: x^2+y^2-z^2=0$,取点 $P=(1:2:1)$。那么

$$ Q P = \begin{pmatrix}1&0&0\0&1&0\0&0&-1\end{pmatrix}\begin{pmatrix}1\2\1\end{pmatrix}=(1,2,-1)^T $$

所以极线方程为

$$ x+2y-z=0 $$

这个结果在普通坐标下就是 $x+2y=1$,看起来像一条直线,但它其实经过无穷远点,在射影意义上是一条完整的直线。

3.3 配极原则:把共点共线问题变成矩阵乘法

极点极线最漂亮的性质是配极原则:如果点 $R$ 在点 $P$ 的极线上,那么点 $P$ 也在点 $R$ 的极线上。用矩阵表达,就是

$$ P^T Q R=0 $$

因为 $Q$ 是对称矩阵,这个式子等价于 $R^T Q P=0$,所以双向成立。

配极原则的威力在于,它把几何中的“点在直线上”变成了代数中的“内积为零”。很多原本绕来绕去的共线共点题,翻译成矩阵乘法之后,只是一页纸的线性代数。比如要证明三个点共线,可以证明它们的极线共点;要证明三条线共点,可以证明对应的极点共线。这种对偶关系是射影几何区别于欧氏几何的核心美感。

如果没有配极原则,你想验证两个点是否互为配极,得先求极线再代入,过程一步都不能少;有了配极原则,直接算 $P^T Q R$ 是不是 0 就行,几步搞定。这就体现了矩阵符号的力量。

4. 实操:两个小题目把上面的工具串起来

4.1 题目一:验证四点调和

上一节我们已经做过一个数值验证,这里再完整走一遍流程,方便你以后照着做。

第一步,确定直线和四个点的齐次坐标。第二步,选两个方便的点作为基地,参数化整条直线。第三步,把每个点对应的参数 $t$ 算出来。第四步,代入交比公式或极限公式。如果你得到 -1,就说明它们调和。

实际操作中,最容易出错的是第二步:参数化时用 $\lambda,\mu$ 而不是直接用坐标比。因为很多点(比如无穷远点)在一个坐标系下看起来很别扭,但在另一个参数系里可能就是个很自然的 $t$ 值。参数化的选择不唯一,但交比的结果不会变。你可以选任意两个点作为基,算出来的交比都一样。这本身就是交比不变性的又一次体现。

4.2 题目二:求二次曲线的极线并验证配极

再看一个完整例子。给定曲线 $C: x^2+y^2-z^2=0$ 和点 $P=(1:2:1)$,我们算出它的极线 $l_P: x+2y-z=0$。

现在在 $l_P$ 上取一个点 $R=(1:0:1)$,验算 $R$ 是否满足 $P^T Q R=0$。代入:

$$ P^T Q R=(1,2,1)\begin{pmatrix}1&0&0\0&1&0\0&0&-1\end{pmatrix}\begin{pmatrix}1\0\1\end{pmatrix} =1 - 1 = 0 $$

成功。所以 $R$ 的极线也应该经过 $P$。计算 $R$ 的极线:

$$ Q R=(1,0,-1)^T $$

极线方程为 $x-z=0$。把 $P=(1:2:1)$ 代入:$1-1=0$,确实经过 $P$。这个验证过程虽然简单,但完整呈现了配极原则的代数机制:矩阵对称性就是几何对偶性的根源。

如果你以后遇到要证明“某某直线是某某点的极线”的题目,别去硬画图,直接写出二次曲线矩阵,然后算矩阵乘法。这是我在实际解题中最常用的方法,省时且不容易错。

4.3 如何用计算机代数系统快速验证

如果题目数据复杂,手算容易出错。我通常会在纸上推完公式后,再用熟悉的数学软件或线性代数库做一遍验算。你只需要把二次曲线矩阵 $Q$、点坐标向量 $p$ 写出来,然后用矩阵乘法求出 $l=Qp$,再检查 $l^T p$ 是否等于零(实际上 $p^TQp$ 代表点是否在曲线上)。整个过程十几行就能完成。

举一个思路示例:

Q = diag([1, 1, -1]) p = [1, 2, 1] l = Q * p # 得到极线方程系数,例如 (1, 2, -1)

这里的技巧是:不要直接在屏幕上画图验证,而是把点、线、二次曲线全部用矩阵表示,用线性代数工具算交比、求秩、判断三点共线。这个习惯会让你在后面学到更复杂的射影几何时如鱼得水。

5. 常见坑与进阶路径

5.1 三个最容易让新手翻车的地方

第一个坑是把齐次坐标当成普通坐标去比较。比如你觉得 $(1:2:3)$ 和 $(2:4:6)$ 不是同一个点,但实际上它们就是同一点,只是你习惯了“坐标不同就是不同点”的欧氏思维。第二个坑是认为中点、平行在射影变换下保持不变。中点这个概念只在仿射几何里稳定,经历任意射影变换后,它可能变成某个奇怪的调和点,不再位于线段中央。第三个坑是用极线公式时,忽略了 $Q$ 必须是对称矩阵。如果你从一般二次式 $ax^2+2bxy+\cdots$ 转换成矩阵时忘掉因子,或者不对称,极线就会算错。

这三个坑对应的对策分别是:多写齐次坐标的比例关系、多做投影变换的数值例题、以及每次写二次曲线矩阵前都确认对称形式。这些建议看起来简单,真能坚持下来的话,后面做题会顺利很多。

5.2 一套适合自学的记号与流程

我建议你把射影几何的练习流程固化成:先用齐次坐标表示所有点和直线;再写出二次曲线矩阵;然后把“点在直线上”翻译成 $l^T p=0$;把“共线”翻译成三个点坐标的行列式为零;把“极线”翻译成矩阵乘法。整个过程不要依赖图形,图形只在最后检验时用。

这个流程的好处是极大降低思考负担。很多人学射影几何到后来不是在学几何,而是在学线性代数——这不是坏事。一旦你接受“点就是向量、直线就是线性方程”的视角,很多复杂定理会变得异常直白。

5.3 下一步可以往哪走

平面射影几何的后半程还有几个值得关注的方向:一维射影几何与对合的更深入分类;二次曲线的射影等价分类;射影度量与绝对形;以及视觉领域里特别常见的单应矩阵。如果你是为了应用,可以去研究图像矫正、相机标定相关的模型,那些模型本质上都是平面射影几何的现代版本。

就学习顺序来说,我建议你先练熟齐次坐标的基本运算,再掌握交比与调和点列,之后进入极点极线和配极原则。当你发现自己在做共点共线题时已经条件反射地写出矩阵方程,就可以进入下一个阶段了。

我个人在实际操作中的体会是,射影几何最“劝退”的阶段不是定义,而是从理解到计算的跨越。每个人都说“交比是不变量”,但真让你手算时,可能会因为参数选得不好或齐次坐标忘除第三分量而卡住。我的建议是,遇到任何经典定理都自己至少做一遍坐标验证,哪怕计算繁琐,也比光看证明要记得牢。最后再分享一个小技巧:验证配极性质时,如果结果和你预期不一致,先检查二次曲线矩阵是否对称,再检查点坐标是否漏了无穷远点,这两处占了绝大部分错误来源。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询