齐次坐标

维基百科,自由的百科全书
跳转至: 导航搜索

數學中,齊次坐標能簡化仿射變換的矩陣表法,也能用以在射影空間中作運算。這套方法由A F 莫比烏斯(A.F. Möbius,1790-1868日)首先引入。

定義[编辑]

K 上的 n 維射影空間中一點的齊次坐標通常寫作 (x_0: \cdots: x_n),其中 x_0, \ldots, x_n \in K-\{0\} 不全為零。兩組成比例的表法 (x_0: \cdots :x_n)(cx_0: \cdots : cx_n)c \in K)被視為同一個坐標。

齊次坐標系可作如下解釋:考慮一個 n+1 維的向量空間 V,透過選定 V基底引入坐標,則 V 中所有非零向量在等價關係 \vec v \sim \vec w \iff \exists c \in K, v=cw下形成的商集 \mathbb{P}(V) 由上述齊次坐標刻劃;而這個商集無非就是射影空間。

性質[编辑]

射影空間 \mathbb{P}_K^n 可以寫成聯集 \mathbb{P}_K^n = \bigcup_{i=0}^n U_i,其中

U_i := \{ (x_0: \cdots : x_n) \in \mathbb{P}_K^n : x_i \neq 0 \}

在任一 U_i 上,齊次坐標透過下述映射

(x_0 : \cdots : x_n) \in U_i \mapsto \left( \dfrac{x_0}{x_i}, \cdots, \dfrac{x_{i-1}}{x_i}, \dfrac{x_{i+1}}{x_i} \cdots \dfrac{x_n}{x_i} \right)

化約為一般的 n 維仿射坐標。因此 U_i \cong \mathbb{A}^n_K

例子[编辑]

取三維射影空間為例,此時坐標形如 (x:y:z:w)無窮遠平面通常被定為子集 w=0,在此平面之外總是可以同除以 w,因而無窮遠平面的補集透過映射 (x,y,z) \mapsto (x:y:z:1) 等同於我們熟悉的三維仿射空間。

若我們試圖考慮平面 x=wx=2w 的交集,則顯然可先後導出 w=0x=0,這告訴我們交集落在無窮遠平面,其坐標形如 (0:y:z:0),它事實上是連接 (0:1:0:0)(0:0:1:0) 的直線。

方括号和圆括号[编辑]

考虑 2 维投影空间: 在投影面上的点是在 3 维空间中点的投影。设符号

 (x:y:z) \,

提及一个 3 维点。设

 (u:v:w) \,

提及另一个 3 维点。则

 (x:y:z) = (u:v:w) \Leftrightarrow x=u \wedge y=v \wedge z=w.

在另一方面,设符号

 [x:y:z] \,

提及 3 维点 (x : y : z) 的在投影面上的投影。点 [x : y : z] 可被认为等于属于穿过点 (x : y : z) 和 (0 : 0 : 0) 的 3 维直线的 3 维点的等价类。如果

 [u:v:w] \,

是另一个投影点,则

 [x:y:z] = [u:v:w] \Leftrightarrow \exists \alpha (x = \alpha u \wedge y = \alpha v \wedge z = \alpha w ).

两个 3 维点是等价的,如果它们在投影面上的投影是等同的:

 (x:y:z) \equiv (u:v:w) \Leftrightarrow \exists \alpha (x = \alpha u \wedge y = \alpha v \wedge z = \alpha w ).

所以,

 (x:y:z) \equiv (u:v:w) \Leftrightarrow [x:y:z] = [u:v:w].

注意: 在某些欧洲国家 (x:y:z) 通常表示为 (x,y,z);而 [u:v:w] 表示为 [u,v,w]。

齐次坐标的加法[编辑]

在方括号和圆括号之间的区别意味着齐次坐标的点的加法将以两种不同的方式来定义,依据坐标使用的是方括号还是圆括号。

再次考虑投影面的情况。一对 3 维点的加法同于普通坐标:

 (a:b:c) + (x:y:z) = (a+x:b+y:c+z). \,

在另一方面,一对投影点的加法被定义为:

 [a:b:c] + [x:y:z] = [z a + x c : z b + y c : c z]. \,

对于投影 3 维空间,类似考虑也适用。一对未投影的点的加法是

 (a:b:c:d) + (x:y:z:w) = (a+x:b+y:c+z:d+w) \,

而一对投影点的加法是

 [a:b:c:d] + [x:y:z:w] = [w a + d x : w b + d y : w c + d z : d w]. \,

齐次坐标的标量乘法[编辑]

有两类标量乘法: 分别给未投影点和投影点。

考虑标量 a 和未投影 3 维点 (x : y : z)。则

 a (x:y:z) = (a x : a y : a z). \,

注意

 (x:y:z) \equiv a (x:y:z)

即使

 (x:y:z) \ne a (x:y:z).

现在考虑标量 a 和投影点 [x : y : z]。则

 a [x:y:z] = [a x : a y : z] \,

所以

 [x:y:z] \ne a [x:y:z].

注意特殊情况  a = z = 0 ,上述公式给出 [0:0:0] 作为结果。而它不表示任何点。实际上  0 \cdot \infty 是未定义的,所以它是定义中的瑕疵。

用齐次坐标描述的点的线性组合[编辑]

AB 是投影 3 维空间中的一对点,它们的齐次坐标为

 \mathbf{A} : [X_A:Y_A:Z_A:W_A],
 \mathbf{B} : [X_B:Y_B:Z_B:W_B].

想要找到它们的线性组合  a \mathbf{A} + b \mathbf{B} ,这里的 ab 是可随意调整的系数,带有条件  a,b \ne 0 ,或者(更精确的)  a \mathbf{A}, b \mathbf{B} \ne 0 ,来避免退化点。有三种情况要考虑:

  • 两点都属于仿射 3 维空间,
  • 两点都属于在无穷远的平面,
  • 一个点属于仿射另一个点在无穷远。

X, Y, Z 坐标可以被认为是分子,而 W 坐标可以被认为是分母。要做齐次坐标的加法必须有公共分母。否则必须重新缩放坐标直到所有分母都是共同的。齐次坐标差任何一致重新缩放是等价的。

两点都是仿射的[编辑]

如果两个点都在仿射 3 维空间中,则  W_A \ne 0  W_B \ne 0 。它们的线性组合是

 a [X_A:Y_A:Z_A:W_A] + b[X_B:Y_B:Z_B:W_B] \,
 = [a X_A:a Y_A:a Z_A:W_A] + [b X_B:b Y_B:b Z_B:W_B] \,
 = \left[ a {X_A \over W_A} : a {Y_A \over W_A} : a {Z_A \over W_A} : 1 \right] + \left[ b {X_B \over W_B} : b {Y_B \over W_B} : b {Z_B \over W_B} : 1 \right]
 = \left[ a {X_A \over W_A} + b {X_B \over W_B} : a {Y_A \over W_A} + b {Y_B \over W_B} : a {Z_A \over W_A} + b {Z_B \over W_B} : 1 \right]
 = [a W_B X_A + b W_A X_B : a W_B Y_A + b W_A Y_B : a W_B Z_A + b W_A Z_B : W_A W_B] \,

两点都在无穷远[编辑]

如果两个点都在无穷远面上。则 WA = 0 且 WB = 0。它们的线性组合是

 a [X_A:Y_A:Z_A:W_A] + b [X_B:Y_B:Z_B:W_B] = [a X_A:a Y_A:a Z_A:0] + [b X_B: b Y_B:b Z_B:0] \,
 = [a X_A + b X_B : a Y_A + b Y_B : a Z_A + b Z_B : 0]. \,

一个点是仿射另一个在无穷远[编辑]

设第一个点是仿射,因此  W_A \ne 0 。则

 a [X_A:Y_A:Z_A:W_A] + b[X_B:Y_B:Z_B:0] \,
 = a [0:0:0:0] + b [X_B:Y_B:Z_B:0], \,
 = [b X_B:b Y_B:b Z_B:0], \,

这意味在无穷处的点是支配者。

一般情况[编辑]

还可以不区分情况的进行计算,类似于两个点的加法:

 a [X_A:Y_A:Z_A:W_A] + b [X_B:Y_B:Z_B:W_B] \,
 = [a W_B X_A + b W_A X_B:a W_B Y_A + b W_A Y_B:a W_B Z_A + b W_A Z_B:W_A W_B] \,

以此为起点,你可以得到上述情况的公式。

特别是在退化情况下应用这个公式再次给出  [0:0:0:0] 与任何非  [0:0:0:0] 其他结果的求和。