齐次坐标
齐次坐标(homogeneous coordinates)用一组非全零的数表示射影空间中的一个点,并把所有非零倍数视为同一个表示。平面情形写成 ;在 的坐标区域内,它对应普通坐标 。增加一个坐标使平移、直线交点和射影变换可以用统一的线性代数处理。
例如,普通点 可以表示成 、 或 。它们表示同一个点,原因是归一化后得到相同的两个比值;并不是说三个不同的三维向量彼此相等。
非零向量的比例等价类
取非零列向量 。定义 乘数一给出自反性;把乘数取倒数给出对称性;两次非零乘数相乘给出传递性。因此它确实是等价关系。一个等价类是同一条过原点的直线上的所有非零向量,用 表示。这些等价类组成实射影平面 。[1]
零向量不能加入:它不张成一维子空间,也无法决定任何比值。允许 同样会把所有向量都送到零,从而失去区分点的能力。这里的比例可以为负,所以 ;正负两条半射线共同表示一个射影点。
有限点与无穷远点
当 时,乘以 后得到唯一代表 因此所有 的点与普通平面一一对应;选取这个区域称为选定一个仿射坐标片。普通点 对应 ,仍是合法点。
剩余点形如 ,其中 。它们称为相对于该坐标片的无穷远点,记录平面直线的方向:,所以这里不区分同一直线的相反朝向。例如 记录斜率为 的方向, 记录竖直方向。无穷远点不是一个额外的公共“无限大数”,不同方向对应不同点。
所有这些点满足 ,共同组成无穷远直线。有限与无穷远的区分依赖选定的坐标片;在一般射影变换下,有限点可以被送到无穷远,反之亦然。
直线坐标与点线关联
普通直线 可写成齐次方程 将非零系数列向量记为 ,方程就是 。同时把 和 乘以任意非零数只会把左边乘以非零因子,不改变等式是否成立,因此点在线上的关系不依赖代表的选择。
直线系数也只确定到一个非零倍数; 与 表示同一直线。若 ,得到的正是无穷远直线 ,其坐标可取 。点和线虽然都使用三元组,几何角色却不同;点线关联由上面的内积为零来判断。[2]
叉积统一连线与交点
设 是两个不同射影点的代表列向量。它们不成比例,所以线性无关,叉积非零。写出 将它与 作内积,得到 六项两两抵消;与 的内积也为零。因此 是同时经过两点的直线。再看唯一性:满足 的线性方程组秩为二,三维未知量的解空间为一维,故所有非零解都只差一个倍数。这证明了两不同点确定唯一射影直线。
同理,若 代表两条不同射影直线,则 非零且同时满足 。秩二的方程组再次给出一维解空间,证明它是唯一交点。前一种运算称为两点的连线(join),后一种称为两线的交点(meet)。缩放输入后叉积只乘以两个缩放因子的积,所以两种构造都与齐次代表的选择无关。[3]
取普通点 、,相应代表为 、。直接计算 所以连线为 。代回两点分别得到 和 ,与图中的直线一致。
若另一条直线是 ,则 末坐标非零,归一化得到交点 。检查两式:,。
把第二条线改为 ,可以先预测:普通平面中两线平行,交点的末坐标应为零。计算确实给出 方向 满足 ,正是两线的共同方向。齐次方法保留了“无有限交点”这一事实,同时在射影平面中给出了唯一无穷远交点;不能再把末坐标零的结果除以零。
退化输入与代表的选择
叉积等于零时不能把结果当作齐次点或齐次直线。例如 ,因为两个输入本来就是同一个射影点,它们不能决定唯一连线。同一条直线与自己的倍数作叉积也为零,因为交集是一整条线,而不是唯一点。两条不同的平行线则不会产生零向量,上例已经给出其非零无穷远交点。
比例等价还意味着向量加法不能直接当作射影点的加法。上述两点若取 ,得到普通点 ;若先把同一个点 换成 ,再加 ,则得到 。两者不同。计算普通平面的中点时,应先把有限点都归一化到 ,再对普通坐标使用仿射平均。
在 维情形中,同样用 个非全零坐标、模掉共同非零倍数来表示 。但这里用三维叉积统一连线和交点的简便形式属于射影平面;高维中的直线一般不能再由一个与点同样长的列向量表示。
参考资料
- ↑ Tomas Pajdla. Elements of Geometry for Computer Vision,2017年2月27日版,§9.2.2—9.2.5,第89—93页。一维子空间模型、理想点、齐次坐标及零向量的排除。
- ↑ Pajdla,同上,§9.2.3—9.2.6,第90—94页,特别是式(9.23)及其坐标展开。
- ↑ Pajdla,同上,§9.2.7—9.2.8,第95—96页,式(9.24)—(9.26)及两线交点的叉积构造。