三维变换可以按如下方式合成地定义: “主观” 3 空间上的点 *X* 必须变换到也位于主观空间上的点 *T*。 变换使用以下元素: 一对 “观察点” *P* 和 *Q*,以及一个 “客观” 3 空间。 主观空间和客观空间以及这两个点都位于四维空间中,这两个 3 空间可以在某个平面上相交。
绘制穿过点 *X* 和 *P* 的直线 *l*1。 这条直线在客观空间上与点 *R* 相交。 绘制穿过点 *R* 和 *Q* 的直线 *l*2。 直线 *l2* 在射影平面上与点 *T* 相交。 那么 *T* 就是 *X* 的变换。
令
令有一个由以下公式描述的 “客观” 3 空间
绘制穿过点 *P* 和 *X* 的直线 *l*1。 这条直线在客观平面上与 *R* 相交。 这个交点可以用参数形式描述如下
这意味着以下四个方程
将前三个方程代入最后一个方程
求解λ1,
在点R和Q之间绘制直线l2。这条直线与主观三维空间相交于点T。这个交点可以用参数表示如下
这意味着以下四个方程
最后一个方程可以求解λ2,
然后可以代入其他三个方程
将从第一次交叉点获得的 *Rx*、*Ry*、*Rz* 和 *Rt* 的值代入上述 *Tx*、*Ty* 和 *Tz* 的方程中,
将上述三个方程的分子和分母都乘以lambda1 的分母: λ1D,
将 lambda1 分子的值和分母的值代入
得到
- ,
- .
分子 *TxN* 可以展开。你会发现 *x*、*y* 和 *z* 的二次项会相互抵消。然后收集具有相同 *x*、*y* 和 *z* 的项,得到
同样,分母变成
分子 *TyN* 在展开并简化后,变成
同样,分子 *TzN* 变成
令
那么,三维空间中的变换可以表示如下:
该变换的十六个系数可以排列成一个系数矩阵
只要这个矩阵可逆,它的系数将描述一个四线性分数变换。
三维空间中的变换 *T* 也可以用齐次坐标 表示为
这意味着 *T* 的系数矩阵可以直接作用于齐次坐标的 4 分量向量。点的变换可以通过简单地将系数矩阵乘以点在齐次坐标下的位置向量来实现。因此,如果 *T* 变换了无穷远平面 上的点,结果将是
如果 ε、ζ 和 η 都不等于零,那么 *T* 将把无穷远平面变换成一个主要位于仿射空间中的点的轨迹。如果 ε、ζ 和 η 都为零,那么 *T* 将是一种特殊类型的射影变换,称为仿射变换,它将仿射点变换成仿射点,将理想点(即无穷远点)变换成理想点。
仿射变换群有一个仿射旋转 子群,其矩阵形式为
使得子矩阵
是正交 的。
给定一对四线性分数变换 *T*1 和 *T*2,其系数矩阵分别为 和 ,那么这对变换的合成是另一个四线性变换 *T*3,其系数矩阵 等于第一个和第二个系数矩阵的乘积,
单位四线性分数变换 *T*I 是系数矩阵为 单位矩阵 的变换。
给定一个空间射影 *T*1,其系数矩阵为 ,该射影的逆变换是另一个射影 *T*−1,其系数矩阵 是 *T*1 系数矩阵的逆矩阵,
- .
四线性变换的合成是结合律的,因此所有四线性变换的集合,连同合成运算,构成一个 群。
这个四线性变换群包含三线性变换的子群。例如,系数矩阵具有以下形式的所有四线性变换的子群
与系数矩阵为
的所有三线性变换群同构。这个四线性变换子群都具有以下形式
这意味着这个变换子群将像三线性变换群一样作用于平面 *z = 0*。
3 空间中的射影变换将平面变换成平面。这可以用齐次坐标更容易地证明。
令
是平面的方程。这等价于
方程 (21) 可以表示为矩阵乘积
可以在两个向量之间插入一个排列矩阵,以使平面向量具有齐次坐标
四线性变换应该将其转换为
其中
公式 (22) 等价于 其中
- 等等。
将公式 (24) 应用于公式 (25) 得
结合方程 (26) 和 (23) 得出
求解 ,
公式 (27) 描述了三维空间变换如何将一个平面 (m, n, b) 转换为另一个平面 (Tm, Tn, Tb),其中