射影变换
令X为x轴上的一个点。可以通过在包含变换将要执行的x轴的同一x-y平面上选择一对点P,Q和一条直线m来几何地定义该直线的射影变换。
点P和Q代表两个不同的观察者或视角。点R是他们正在观察的某个物体的位移。直线m是他们正在观察的客观世界,而x轴是他们对m的主观感知。
通过点P和X画一条直线l。直线l与直线m相交于点R。然后,通过点Q和R画一条直线t:直线t将在点T与x轴相交。点T是点X的变换 [Paiva]。
以上是对一维射影变换的综合描述。现在希望将其转换为解析(笛卡尔)描述。
令点X的坐标为(x0,0)。令点P的坐标为
。令点Q的坐标为
。令直线m的斜率为m(m的含义重叠)。
直线l的斜率为

因此,直线l上的任意点(x,y)由以下等式给出
,

另一方面,直线m上的任意点(x,y)由以下描述

直线l和m的交点是点R,它是通过组合等式(1)和(2)得到的

合并x项得到

并解出x,得到

x1 是 R 的横坐标。R 的纵坐标为
![{\displaystyle y_{1}=m\left[{b(P_{x}-x_{0})+P_{y}x_{0} \over P_{y}-m(P_{x}-x_{0})}\right]+b.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cd8427c9a3306532073d6165129a29ab4f69d868)
现在,知道了 Q 和 R,直线 n 的斜率为

我们想要找到直线 n 与 x 轴的交点,所以令

λ 的值必须调整,使向量方程 (3) 两边相等。方程 (3) 实际上是两个方程,一个代表横坐标,一个代表纵坐标。纵坐标的方程为

求解 λ,

横坐标的方程为

与方程 (4) 联立可得

即 T 的横坐标。
将 x1 和 y1 的值代入方程 (5),
![{\displaystyle x=Q_{x}-Q_{y}\left[{{b(P_{x}-x_{0})+P_{y}x_{0} \over P_{y}-m(P_{x}-x_{0})}-Q_{x} \over {mb(P_{x}-x_{0})+mP_{y}x_{0} \over P_{y}-m(P_{x}-x_{0})}+b-Q_{y}}\right].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/567988a429dfa0295a446bcfbfa1d1a2362353ee)
化简分子和分母的分子
![{\displaystyle x=Q_{x}-Q_{y}\left[{b(P_{x}-x_{0})+P_{y}x_{0}-Q_{x}P_{y}+mQ_{x}(P_{x}-x_{0}) \over mb(P_{x}-x_{0})+mP_{y}x_{0}+bP_{y}-mb(P_{x}-x_{0})-Q_{y}P_{y}+mQ_{y}(P_{x}-x_{0})}\right].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/305415b5e733a1c4cdd7b56e2c17ba7c6644897e)
简化并重新标记 *x* 为 *t(x)*
![{\displaystyle t(x)=Q_{x}-Q_{y}\left[{(P_{x}-x_{0})(b+mQ_{x})+P_{y}(x_{0}-Q_{x}) \over (P_{x}-x_{0})mQ_{y}+P_{y}(mx_{0}+b-Q_{y})}\right].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6907262b458c56ec95a04e57fa26653e7c12955d)
*t(x)* 是射影变换。
变换 *t(x)* 可以进一步简化。首先,将它的两个项加在一起形成一个分数

然后,定义系数 *α*, *β*, *γ* 和 *δ* 为以下值




将这些系数代入方程 (6) 中,得到

这是梅比乌斯变换或线性分数变换。
从合成定义中可以清楚地看到,逆变换是通过交换点P和Q得到的。这也可以通过分析方法证明。如果P ↔ Q,那么α → α′,β → β′,γ → γ′,以及δ → δ′,其中




因此,如果正向变换为

则通过交换P和Q(P ↔ Q)得到的变换t′为

然后
.
将此最后一个方程右边分子和分母中的分数消去
.
因此,t′(x) = t−1(x):逆射影变换是通过交换观察者P和Q,或通过令 α ↔ δ,β → −β,以及 γ → −γ 得到的。顺便说一下,这类似于获取二维矩阵的逆的过程

其中 Δ = α δ − β γ 为行列式。
与矩阵类似,恒等变换可以通过令 α = 1,β = 0,γ = 0 以及 δ = 1 来获得,这样就有

剩下要证明的是变换的合成是封闭的。一个变换作用于另一个变换会产生第三个变换。令第一个变换为 t1,第二个变换为 t2


这两个变换的合成是


定义系数 α3、β3、γ3 和 δ3 等于




将这些系数代入
可得

投影的运算方式类似于矩阵。实际上,变换的合成可以通过矩阵乘法得到。

由于矩阵乘法满足结合律,因此投影的合成也满足结合律。
投影具有:运算(合成)、结合律、单位元、逆元和封闭性,因此它们构成一个群。
设存在一个变换 ts 使得 ts(A) =
, ts(B) = 0, ts(C) = 1. 那么,ts(D) 的值称为点 A, B, C 和 D 的交叉比,记为 [A, B, C, D]s
![{\displaystyle [A,B,C,D]_{s}=t_{s}(D).}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d48740fafe5f0b0983a97ec9f73602c16e59266c)
设

那么,当 ts(x) 满足以下三个条件时,



方程 (7) 意味着
,因此
。方程 (8) 意味着
,所以
。方程 (9) 变为

这意味着

因此

在方程 (10) 中,可以看出 ts(D) 不依赖于投影 ts 的系数。它只依赖于“主观”投影线上点的坐标。这意味着交叉比只取决于四个共线点之间的相对距离,而不依赖于用来获得(或定义)交叉比的投影变换。因此,交叉比是
![{\displaystyle [A,B,C,D]={A-C \over A-D}\;{B-D \over B-C}.\qquad \qquad (11)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/92e2ae6cbeb781a11a975950a996d5c41192f2fa)
投影线上的变换保持交叉比。现在将证明这一点。假设有四个(共线)点 A, B, C, D。它们的交叉比由方程 (11) 给出。令 S(x) 为一个投影变换

其中
。然后
![{\displaystyle [S(A)S(B)S(C)S(D)]={{\alpha A+\beta \over \gamma A+\delta }-{\alpha C+\beta \over \gamma C+\delta } \over {\alpha A+\beta \over \gamma A+\delta }-{\alpha D+\beta \over \gamma D+\delta }}\cdot {{\alpha B+\beta \over \gamma B+\delta }-{\alpha D+\beta \over \gamma D+\delta } \over {\alpha B+\beta \over \gamma B+\delta }-{\alpha C+\beta \over \gamma C+\delta }}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/963e9c36c539720e458a3852936ebe5932a010c2)
![{\displaystyle ={[\alpha A\delta +\beta \gamma C-\alpha C\delta -\beta \gamma A][\alpha B\delta +\beta \gamma D-\alpha D\delta -\beta \gamma B] \over [\alpha A\delta +\beta \gamma D-\alpha D\delta -\beta \gamma A][\alpha B\delta +\beta \gamma C-\alpha C\delta -\beta \gamma B]}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/68a823477300e7bb127513a8195ce4dac676e9e7)
![{\displaystyle ={[\alpha \delta (A-C)+\beta \gamma (C-A)][\alpha \delta (B-D)+\beta \gamma (D-B)] \over [\alpha \delta (A-D)+\beta \gamma (D-A)][\alpha \delta (B-C)+\beta \gamma (C-B)]}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/612a3bee166122ff26eeb1506d13eeed8c4140ab)


因此 [S(A) S(B) S(C) S(D)] = [A B C D],Q.E.D.