The 2D projective plane

In this section we introduce the homogeneous notation for points and lines on a plane.

区分行(Row)列(Column)向量

后面我们要讨论的是向量空间(vector spaces)的线性映射(linear mappings),我们把这种映射表示为矩阵(matrices)。一个矩阵和一个向量的乘积是另一个向量,即在该映射下的图形(image)。由于映射过程中可能有两种情况:列向量右乘一个矩阵,或行向量左乘一个矩阵。此处我们将行向量和列向量的表示方式作如下区分:
粗体符号用于表示列向量,例如:
$\boldsymbol{x}$

它的转置(transpose)表示行向量,例如:
$\boldsymbol{x^T}$

为了与此原则保持一致,我们将平面上的点记为列向量:
$\boldsymbol{x}=(x,y)^T$

Points and Lines 的齐次(Homogeneous)表示

首先解释齐次的含义,

In fact, two such vectors related by an overall scaling are considered as being equivalent. An equivalence class of vectors under this equivalence relationship is known as a homogeneous vector.

举例来说,直线x + by + c = 0,可表示为向量形式:
$(a,b,c)^T$

直线 (ka)x + (kb)y + (kc) = 0,向量表示:
$k(a,b,c)^T$

当k不为0的情况下,两条直线被认为是相同的(same)。由此我们认为:有一个整体比例关联起来的两个向量是等价的(equivalence)。在这种等价关系下,一类等价的向量被定义为齐次向量(homogeneous vector),表示为一个特定向量:
$(a,b,c)^T$

定义等价类向量的集合,即齐次向量集合,为投影空间(projective space)。表示为:
$\mathbb{P^2}=\mathbb{R^3}-(0,0,0)^T$

注:由于向量(0,0,0)T不表示任何直线,所以被排除。

通过上述讨论,我们将直线表示为齐次坐标系中的3-vector。下面讨论如何在齐次坐标系中用一个3-vector表示点(Point)。
我们已知,一个点 x=(x,y)T 在直线 l=(a,b,c)T 上,当且仅当ax+by+c = 0。这个等式可通过向量的内积(inner product)表示为 (x,y,1)(a,b,c)T=(x,y,1)l=x.l=0,这样点(x,y)T就被表示成了一个3-vector (x,y,1)T。注意,对于任意不为0的常数k,等式 (kx,ky,k)l=0 都成立。所以正如直线一样,点也可以被表示为等价向量的集合,也就是齐次向量。不难发现任意一个齐次向量表示的点x=(x1,x2,x3),表示的是笛卡尔坐标系中的点(x1/x3,x2/x3)T

齐次坐标系中点与线的关系

Result 2.1. The point x lies on the line l if and only if xTl = 0.

点在直线上(直线经过某点)有三种表示方法:xTl=lTx=x.l=0,比较常用的是第二种,即 lTx

Result 2.2. The intersection of two lines l and l′is the point x = l × l′.
Result 2.3. The line through two points x and x′is l = x × x′.

证明2.2.:根据右手定则,两向量的叉乘结果是与两向量都垂直的向量。所以,已知直线向量ll’叉乘所得向量为x,可知l.x=0 且l’.x=0,即x同时存在于两条直线上,可知x为两直线交点。同理可证2.3.

Result 2.4. The line l goes through the point x if and only if lTx = 0.