前面讲了2D情况下的射影几何和射影变换,我们用到更多的则是3D情况下的射影几何。这里只需对一些概念进行推广即可。
三维齐次坐标
对
IP3
中的点我们使用一个4元组
X=(x1,x2,x3,x4)T
表示,它与非齐次坐标(X,Y,Z)的关系是
单应矩阵
在 IP3 中的变换可以用一个 4×4 的矩阵H表示。即 X′=HX
平面
三维空间中的平面可以写成
考虑到只有系数间的比例关系是有意义的,它的自由度为3。在齐次空间中可以用一个4维向量表示,即 ππ=(π1,π2,π3,π4)T
(通过替换非齐次坐标)写成平面方程形式为
即
ππ 的前三个系数对应着欧氏几何中平面的法线,使用非齐次坐标表示就是 n⋅X~+d=0 。其中 n=(π1,π2,π3)T,X~=(X,Y,Z)T,x4=1,d=π4 。在此形式下, |d|/||n|| 是平面到原点的距离。
三点确定一个平面
设有三个不共线的点
X1,X2,X3
,他们都在平面
π
上,则有
πTXi=0,i=1,2,3
因此
X1,X2,X3 不共线,故他们线性不相关,因此它们构成的 3×4 矩阵的秩为3。 π 可以从该矩阵的零空间得到。
在二维平面中我们通过 l=x1×x2 来确定一条直线,类似的,我们也能用更简单的方法由三点确定一个平面。
首先我们定义一个矩阵 M=[X,X1,X2,X3] 。其中X为空间中任意一点。 X1,X2,X3 为用来确定平面 π 的3点。
显然,对于平面上一点 X=[x1,x2,x3,x4] ,它必能被 X1,X2,X3 线性表出,从而有det M = 0。
从第一列对det M展开有
detM=x1D234−x2D134+x3D124−x4D123
。其中
Djkl
是由矩阵
[X1,X2,X3]
的jkl行组成的新矩阵。由于det M = 0,可以得到
这也是之前平面所满足的方程的解。
将空间点X表示为
X=[X~ 1]T
,
X~=[x y z]T
。则有
对其他的系数也有相似的结果,于是
其中 (X1~−X2~)×(X2~−X3~) 为平面的法线。
平面的射影变换
π′=H−Tπ
平面的参数方程表示
对平面
π
上一点X可以使用参数方程表示,即
x为自变量,M为与 π 对应的参数,有 πTM=0 。设 π=(a,b,c,d)T ,则它的参数矩阵的转置 MT=[p|I3×3],p=(−b/a,−c/a,−d/a)T