这章主要讲的是3D的射影几何,与2D的射影几何差不多。主要区别是:
三维空间的齐次坐标就是 x 1 , x 2 , x 3 , x 4 x_1,x_2,x_3,x_4 x1,x2,x3,x4,比二维空间多一个。 x 4 x_4 x4一般是1,如果是0那就代表无穷远的点。
三维空间投影矩阵 H H H是 4 × 4 4 \times 4 4×4的,有15个自由度。
三维投影空间中点和面是对偶的。也就是说它们可以互相交换运算中的位置。
三维空间面就是:
π 1 X + π 2 Y + π 3 Z + π 4 = 0 \pi_1 X + \pi_2 Y +\pi_3 Z + \pi_4 = 0 π1X+π2Y+π3Z+π4=0
π 1 , π 2 , π 3 \pi_1,\pi_2,\pi_3 π1,π2,π3就是平面的法向量。
相交关系
下面来讨论这几个关系的代数表述。
三个点确定一平面 我们假设点是 X i X_i Xi, 平面式 π \pi π
确定平面需要解以下方程:
[ X 1 T X 2 T X 3 T ] π = 0 \left[ \begin{matrix} X_1^T \\ X_2^T \\ X_3^T \\ \end{matrix} \right] \pi = 0 X1TX2TX3T π=0
书中p67 3.4式给了一个解析解。
三个平面确定一个点 把上述方程点和面的位置换一下就行。
[ π 1 T π 2 T π 3 T ] X = 0 \left[ \begin{matrix} \pi_1^T \\ \pi_2^T \\ \pi_3^T \\ \end{matrix} \right] X = 0 π1Tπ2Tπ3T X=0
线段在三维空间中表示比较尴尬,因为点和面是对偶的,如果要表示线,那就需要5维向量。本节介绍了3种方法,我们掌握一种就可以了。
零空间理论 我们假设 A , B A,B A,B是两个点,经过这两个点的直线除了叉乘,还可以表示为:
W = [ A T B T ] W= \left[ \begin{matrix} A^T\\ B^T \end{matrix} \right] W=[ATBT]
那么把 A , B A,B A,B换成平面,上式就是两个平面相交形成的点。
三维空间中的二次曲面定义如下:
X T Q X = 0 X^T Q X = 0 XTQX=0
Q是一个 4 × 4 4 \times 4 4×4的对称矩阵,主要有以下性质:
我们记得在二维投影空间中有一个无穷远的直线 l ∞ l_{\infty} l∞,那么类似地,在三维投影空间就有一个无穷远平面 π ∞ \pi_{\infty} π∞,在该平面上还有一个绝对圆锥 Ω ∞ \Omega_{\infty} Ω∞
结论3.7 无穷远平面在投影变换下保持不变当且仅当该变换是仿射变换。
绝对圆锥 Ω ∞ \Omega_{\infty} Ω∞是 π ∞ = ( 0 , 0 , 0 , 1 ) \pi_{\infty}=(0,0,0,1) π∞=(0,0,0,1) 上的圆锥,满足:
X 1 2 + X 2 2 + X 3 2 = 0 X 4 2 = 0 X_1^2 + X_2^2 + X_3^2 = 0 \\ X_4^2=0 X12+X22+X32=0X42=0
写成圆锥表达式就是:
( X 1 , X 2 , X 3 ) I ( X 1 , X 2 , X 3 ) T = 0 (X_1,X_2,X_3)I(X_1,X_2,X_3)^T = 0 (X1,X2,X3)I(X1,X2,X3)T=0
结论3.9 绝对圆锥在投影变换下保持不变,当且仅当该变换是相似变换。
所有的圆都和绝对圆锥相交于两点,所有的球都和绝对圆椎相交于 π ∞ \pi_{\infty} π∞
度量性质 当我们知道了绝对圆锥,我们就可以恢复度量性质,比如直线之间的夹角:
cos θ = d 1 T Ω ∞ d 2 ( d 1 T Ω ∞ d 2 ) ( d 1 T Ω ∞ d 2 ) \cos \theta = \frac{d_1^T \Omega_{\infty} d_2}{\sqrt{(d_1^T \Omega_{\infty} d_2)(d_1^T \Omega_{\infty} d_2)} } cosθ=(d1TΩ∞d2)(d1TΩ∞d2)d1TΩ∞d2
就是由与绝对圆锥相切的平面组成的圆锥,记为 Q ∞ ∗ Q_{\infty}^* Q∞∗,对偶圆锥也在相似变换下保持不变。 π ∞ \pi_{\infty} π∞是 Q ∞ ∗ Q_{\infty}^* Q∞∗的零向量。