第二章 直线几何
- 理解空间直线为什么需要六个坐标描述,但独立参数只有四个
- 掌握 Plücker 坐标的定义、几何意义和约束条件 $\mathbf{l}\cdot\mathbf{l}_0 = 0$
- 理解 Klein 二次曲面是什么,它与直线的对应关系
- 理解射影几何与齐次坐标,理解无穷远点的代数化处理
- 掌握两直线间距离、公垂线、夹角的计算(Klein 型)
直线几何是旋量的几何基础。旋量描述的是刚体的螺旋运动轴,而螺旋运动轴本质上是一条空间直线。不懂直线几何,就不懂旋量为什么要这样定义。
上一章留下了问题:旋量是"具有旋距的线矢量"——那到底什么是线矢量?线矢量怎么用坐标表示?本章回答这个问题。
本章之后:第三章将直线推广为旋量(加一个旋距参数),第四章引入指数映射描述刚体运动。
前置知识回顾
- 叉积几何意义:$\mathbf{a}\times\mathbf{b}$ 垂直于 $\mathbf{a}$ 和 $\mathbf{b}$,模长等于以两者为边的平行四边形面积。去哪里补:线性代数教材。
- 标量三重积:$\mathbf{a}\cdot(\mathbf{b}\times\mathbf{c})$ = 六面体体积,有轮换对称性。去哪里补:线性代数教材。
- 射影几何基础:Pappus 定理、无穷远点概念。若不熟悉,可先看本章 2.5 节。
三维空间中的直线具有 4 个自由度:方向需要 2 个参数(单位球面上的一点),位置需要 2 个参数(垂直于方向平面上的偏移)。但用坐标表示时,我们通常写成六维向量 $(l, m, n; p, q, r)$,需要约束条件使其降到四维独立参数。
为什么需要六维?因为六维形式与旋量完全兼容——旋量只需要在直线坐标上加一个旋距参数即可。Plücker 坐标的设计使得从直线到旋量的过渡是无缝的。
位置向量 $\mathbf{r} = (r_x, r_y, r_z)^T$:从坐标系原点 $O$ 到点 $P$ 的向量。它描述空间中一个点的位置。
姿态向量 $\mathbf{l} = (l, m, n)^T$:直线的方向向量,单位化后满足 $l^2 + m^2 + n^2 = 1$,三个分量是方向余弦。
仅靠方向向量 $\mathbf{l}$ 无法确定一条直线的位置——所有平行的直线都有相同的方向。我们需要额外的信息来固定直线在空间中的位置。
定义 2.1(矢矩):线矢量 $L$ 对原点 $O$ 的矢矩定义为:
其中 $\mathbf{r}$ 是直线上任一点的位置向量。矢矩 $\mathbf{l}_0$ 垂直于由原点和直线确定的平面,其模长等于原点到直线的距离乘以 $\|\mathbf{l}\|$。
定义 2.2(线矢量):线矢量是含主部与副部的六维向量:
线矢量的两个约束条件:
第一个约束将 6 维降到 5 维,第二个约束再降到 4 维,与直线的自由度完全对应。自互易特性来自叉积的性质:$\mathbf{l}$ 与 $\mathbf{r}\times\mathbf{l}$ 恒垂直,所以 $\mathbf{l}\cdot(\mathbf{r}\times\mathbf{l}) = 0$ 恒成立。这个看似简单的约束,实际上是 Klein 二次曲面的雏形。
在讨论直线之间的几何关系之前,需要定义一个关键的代数工具。
定义 2.3(Klein 型):设线矢量 $L_1, L_2$ 为 $\mathbb{R}^6$ 中的元素,则 Klein 型定义为:
Klein 型是一个双线性型。它看起来像是某种"内积",但注意两个下标是交叉的——这是它与普通点积不同的关键。Klein 型刻画两直线之间的所有几何关系:夹角、公垂线、距离。
定义 2.4(Klein 二次曲面):由 $Kl(L, L) = 0$ 定义的二次超曲面。
Klein 二次曲面的几何意义极为深刻:三维空间中的所有直线,与五维射影空间中 Klein 二次超曲面上的所有点有一一对应。直线是超曲面上的点,点也是直线——这就是 Plücker 坐标的本质。从代数几何的角度看,Klein 二次曲面是 Grassmannian $G(1,3)$($\mathbb{P}^3$ 中直线的参量空间)在 $\mathbb{P}^5$ 中的实现。
现在从具体操作的角度看:给定直线上两点 $\mathbf{r}_1 = (x_1, y_1, z_1)^T$ 和 $\mathbf{r}_2 = (x_2, y_2, z_2)^T$,如何构造 Plücker 坐标?
方向向量(单位化):
对原点的矩:
展开叉积,得到 Plücker 坐标的行列式形式:
代入 Klein 型,得到核心约束:
这就是 Klein 二次曲面方程在 Plücker 坐标下的具体形式。这条约束不是误差或近似,而是直线的本质约束——六维表示中必然冗余两个自由度,$lp+mq+nr=0$ 精确地描述了这个冗余。
直线的向量方程(参数形式):给定直线上一点 $\mathbf{r}_1$ 和方向 $\mathbf{l}$,直线上任意一点可以表示为
叉积形式 $\mathbf{r}\times\mathbf{l} = \mathbf{l}_0$ 给出了矢矩的几何意义:矢矩编码了直线相对于原点的"偏移"信息。给定 $\mathbf{l}$ 和 $\mathbf{l}_0$,可以反推出垂直于直线的位置向量(即直线上离原点最近的点):
这个公式说明:Plücker 坐标不仅编码了直线的方向和位置,而且可以完整地还原直线的几何信息。
射影几何研究在射影变换下保持不变的几何性质(如交比),不依赖距离和角度。起始于 Pappus Alexandria(公元 3 世纪)的 Pappus 定理。
为什么旋量理论需要射影几何?因为 Plücker 坐标本质上是射影坐标——只有比例关系有意义,绝对值没有意义。射影几何提供了处理 Plücker 坐标的正确数学框架。
定义 2.6(齐次坐标):空间中的点可以由齐次坐标在三维射影空间 $\mathbb{P}^3$ 中表示为 $(x, y, z, d)^T$。
关键性质:比例因子不影响坐标表示,$(x:y:z:d) = (\lambda x : \lambda y : \lambda z : \lambda d)$,与具体取值无关。
直观理解齐次坐标:想象一台投影仪照射屏幕。$(x, y, z)$ 是屏幕上的点,$d$ 是投影仪到屏幕的距离。移动投影仪(改变 $d$)会缩放整个图像,但点的相对位置不变。当 $d = 0$ 时,坐标对应无穷远点——两平行直线在射影空间中确实相交于此。这使得"平行线无交点"的欧氏几何麻烦消失了。
齐次坐标的优势:在射影空间中,直线的交点(即使是平行线)也有良定义的坐标,避免了欧氏几何中"平行线无交点"的麻烦。Plücker 坐标本身就是齐次坐标的一种——$L = (l:m:n:p:q:r)$,只有比例关系有意义。
两条直线 $L_1 = (\mathbf{l}_1; \mathbf{l}_{10})$ 和 $L_2 = (\mathbf{l}_2; \mathbf{l}_{20})$ 的 Klein 型值:
这个值编码了两直线的全部几何关系:
| $Kl(L_1,L_2)$ 的值 | 几何含义 |
|---|---|
| $= 0$ | 两直线互易:相交或平行 |
| $\neq 0$ | 两直线不共面(交错线) |
| $|Kl(L_1,L_2)|$ | 与公垂线距离和夹角相关 |
具体地说,设两直线的夹角为 $\phi$,公垂线距离为 $d$,则 Klein 型的绝对值与 $d\sin\phi$ 和 $\cos\phi$ 有关。当 $Kl(L_1, L_2) = 0$ 时,两直线互易——几何上表现为相交或平行。
- 线矢量 $L = (\mathbf{l}; \mathbf{l}_0) = (\mathbf{l}; \mathbf{r} \times \mathbf{l})$:六维向量,方向 + 对原点矩
- 两个约束 $\|\mathbf{l}\|=1$ 且 $\mathbf{l} \cdot \mathbf{l}_0 = 0$ → 4 个独立参数
- Klein 型 $Kl(L_1,L_2) = \mathbf{l}_1\cdot\mathbf{l}_{20} + \mathbf{l}_2\cdot\mathbf{l}_{10}$:两直线几何关系
- Klein 二次曲面 $Kl(L,L) = 0$:直线 ↔ 五维射影空间中的点
- Plücker 坐标 $(l,m,n;p,q,r)$:直线六维坐标,满足 $lp+mq+nr=0$
- 垂直位置向量 $\mathbf{r}_0 = \frac{\mathbf{l}\times\mathbf{l}_0}{\mathbf{l}\cdot\mathbf{l}}$:直线上离原点最近的点
- 齐次坐标 $(x,y,z,d)$:比例表示,$d=0$ 对应无穷远点
参考来源
- 戴建生 (2014)《旋量代数与李群、李代数》第二章,P.23-P.46。教材:
media/screw-algebra/screw-algebra-lie-groups.pdf - Plücker coordinates - Wikipedia(定义参考,Plücker relation 的标准表述)
- Plücker Coordinates and Geometric Algebra(从几何代数角度统一 Plücker 坐标,blade/外积的视角)
- Explaining Homogeneous Coordinates & Projective Geometry(投影仪类比解释 W 维度)
- Screw theory - Wikipedia