齐次坐标理解

1. 齐次

事实上带齐次的概念不少,纯粹要说“齐次”的含义的话,彷佛比较抽象难懂,因此我以为给出一个具体的齐次的东西来解释可能会更好一点。

下面我要解释的齐次坐标(homogeneous coordinates)是我所熟悉的计算机视觉和图形学这两个领域中常常要用到的概念,同时,坐标也是通常人均可以理解的东西。

二维空间中的一个点是用二元组(x, y)表示的。咱们能够增长一个额外的坐标获得三元组(x, y, 1),同时咱们声明这是同一个点。这看起来彻底无害,由于咱们能够很简单地经过增长或者删除最后一个坐标值来在两种表示方式之间来回切换。如今,有一个很重要的问题是:最后一个坐标为何须要是1?毕竟,另外两个数字没有这样的限制呀。比方说(x, y, 2)。在这里,咱们要再给出一个定义,即当k非零时,全部形如(kx, ky,k)的三元组都表示同一个点,好比(x, y, 1)(2x, 2y,2)就表示同一个点。由此咱们就能够引出齐次坐标的定义,即给定一个二维点(x, y),那么形如(kx, ky,k)的全部三元组就都是等价的,它们就是这个点的齐次坐标。对每个齐次坐标,咱们只要把它除以三元组中的第三个数,便可获得原始的二维点坐标(这就是@祝文祥的答案中所说的同比收缩的一个例子)。不过我以为,从字面上来看,齐次坐标这个叫法仍是不那么形象,不过看看和齐次对应的英文单词homogeneous,咱们会发现这个词有时还会被翻译成“同质”,表示某一类东西拥有一些相同的性质,这么来看的话,仍是挺形象的吧。

须要再次注意的是这里的k是非零的,那么若是k=0会怎样?由于除数不能为0的缘故,因此彷佛没有任何二维点是和(x, y,0)对应的。事实上,(x, y,0)就是无穷远处的点。之前,咱们用(x, y)是没法描述二维平面上的无穷远点,但当咱们引入齐次坐标以后,就能够用(x, y,0)来表示无穷远点了。这就是引入齐次坐标的一个好处。固然了,使用齐次坐标还有不少好处。事实上,没不少好处,咱们干吗要多用一个数字来表示二维点呀,多麻烦你说是吧。

以上关于齐次坐标的内容翻译并修改自《Multiview Geometry in Computer Vision (2nd Edition)》第2页第9行开始的两段。

2. 线性

再来讲说“线性”。和“齐次”相似,带“线性”的概念也不少,下面我也会给出一个具体的线性的东西来解释,以防过于抽象。

“线性变换”(Linear Transformation)一样是计算机视觉和图形学中常常用到的东西。一般,咱们会用一个矩阵来表示一个线性变换,对于二维空间中的线性变换,咱们常常用3x3的矩阵来表示。当给定一个线性变换矩阵以后,咱们把它和一个齐次坐标一乘就能够获得通过变换后的齐次坐标了。

那么为何咱们要管这种变换叫线性变换而不是弯性变换呢?这里抛开线性的数学定义不说,线性变换有一个重要的性质,很是形象地表达了这一律念,即保共线性(我记不清是否是叫这个名字了,望指正)。具体地说就是,在线性变换以前处于同一条直线上的3个点,通过线性变换以后一定还处于同一条直线上。换句话说,若是你画了一条直线,这条直线在通过线性变换以后它一定仍是一条直线。

因此说,线性变换最喜欢直线了,除了直线之外的东西,好比角,在通过线性变换以后可能就彻底不同了,此外,还有长度、面积、平行等等,线性变换都不喜欢,不保证它们在变换以后还能维持原样。

以上,但愿能帮助你们理解这两个概念。iview

相关文章
相关标签/搜索