在涉及到计算机视觉的几何问题中,我们经常看到齐次坐标这个术语。本文介绍一下究竟为什么要用齐次坐标?使用齐次坐标到底有什么好处?
什么是齐次坐标?
简单的说:齐次坐标就是在原有坐标上加上一个维度:
使用齐次坐标有什么优势?
齐次坐标的使用能够大大简化在三维空间中的点线面表达方式和旋转平移等操作,具体分如下几点进行说明。
1、能否非常方便的表达点在直线或平面上
在2D平面上,一条直线 l 可以用方程 ax + by + c = 0 来表示,该直线用向量表示的话一般记做
我们知道点p = (x, y)在直线 l 上的充分必要条件是 ax + by + c = 0
如果使用齐次坐标的话,点p的齐次坐标就是
p’=(x, y, 1)
那么 ax + by + c = 0 就可以用两个向量的内积(点乘)来表示:
因此,点p在直线l上的充分必要条件就是 直线l 与p的齐次坐标p’的内积:
是不是很方便呢!
同理,我们知道 三维空间的一个平面A可以用方程 ax + by + cz + d = 0 来表示,三维空间的一个点P=(x, y, z) 的齐次坐标 P’=(x, y, z, 1),类似的,点P在空间平面A上可以用两个向量的内积来表示,如下: