美文网首页图形处理
为什么要引入齐次坐标,齐次坐标的意义

为什么要引入齐次坐标,齐次坐标的意义

作者: NowBurn | 来源:发表于2019-11-14 10:03 被阅读0次

1.从计算的角度, 统一计算

图像的缩放变换和旋转变换,可以用矩阵乘法的形式来表达变换后的像素位置映射关系。那么,对于平移变换呢?平移变换表示的是位置变化的概念。如下图所示,一个图像矩形从中心点[x1,y1]平移到了中心点[x2,y2]处,整体大小和角度都没有变化。在x方和y方向上分别平移了tx和ty大小。


此时有:

这对于图像中的每一个点都是成立的。写成矩阵的形式就是:

缩放变换和旋转变换的矩阵形式:
缩放变换:

旋转变换:

缩放变换和旋转变换都可以表示成矩阵乘法的形式。实际上,图像的几何变换通常不是单一的,也就是说经常性的缩放、旋转、平移一起变换。例如先放大2倍,然后旋转45度,然后再缩小0.5倍。那么就可以表示成矩阵乘法串接的形式:

这样,不管有多少次变换,都可以用矩阵乘法来实现。但是平移变换呢?从前面看到,平移变换并不是矩阵乘法的形式,而是矩阵加法的形式!
那能不能把缩放变换、旋转变换、平移变换统一成矩阵乘法的形式呢,这样不管进行多少次变换,都可以表示成矩阵连乘的形式,将极大的方便计算和降低运算量
这种方法就是“升维”,引入“齐次坐标”,将图像从平面2D坐标变成3D坐标。我们看看平移变换的矩阵形式:

将其升维,变成3维,上式就可以表示成:

这样,平移变换通过升维后的齐次坐标,也变成了矩阵乘法的形式。当然缩放变换和旋转变换的矩阵形式也得改一改,统一变成3维的形式。

缩放变换:

旋转变换:

终于统一了。以后所有的变换,不管怎样变换,变换多少次,都可以表示成一连串的矩阵相乘了,这是多么的方便

这就是引入齐次坐标的作用,把各种变换都统一了起来,即 把缩放,旋转,平移等变换都统一起来,都表示成一连串的矩阵相乘的形式。保证了形式上的线性一致性

2.从表示的角度, 解决了欧式空间中,无穷远点无法表示的问题

问题:两条平行线可以相交于一点

在欧氏几何空间,同一平面的两条平行线不能相交,这是我们都熟悉的一种场景。
然而,在透视空间里面,两条平行线可以相交,例如:火车轨道随着我们的视线越来越窄,最后两条平行线在无穷远处交于一点



欧氏空间(或者笛卡尔空间)描述2D/3D几何非常适合,但是这种方法却不适合处理透视空间的问题(实际上,欧氏几何是透视几何的一个子集合),2维笛卡尔坐标可以表示为(x,y)

如果一个点在无穷远处,这个点的坐标将会(∞,∞),在欧氏空间,这变得没有意义。
平行线在透视空间的无穷远处交于一点,但是在欧氏空间却不能,数学家发现了一种方式来解决这个问题

方法:齐次坐标

简而言之,齐次坐标就是用N+1维来代表N维坐标
我们可以在一个2D笛卡尔坐标末尾加上一个额外的变量w来形成2D齐次坐标,因此,

一个点(X,Y)在齐次坐标里面变成了(x,y,w),并且有
X = x/w 
Y = y/w

例如,笛卡尔坐标系下(1,2)的齐次坐标可以表示为(1,2,1),如果点(1,2)移动到无限远处,在笛卡尔坐标下它变为(∞,∞),然后它的齐次坐标表示为(1,2,0),因为(1/0, 2/0) = (∞,∞),我们可以不用”∞"来表示一个无穷远处的点了

为什么叫齐次坐标?

我们把齐次坐标转化为笛卡尔坐标的方法是前面n-1个坐标分量分别除以最后一个分量即可



转化齐次坐标到笛卡尔坐标的过程中,我们有一个发现,例如



你会发现(1, 2, 3), (2, 4, 6) 和(4, 8, 12)对应同一个Euclidean point (1/3, 2/3),任何标量的乘积,例如(1a, 2a, 3a) 对应 笛卡尔空间里面的(1/3, 2/3) 。因此,这些点是“齐次的”,因为他们代表了笛卡尔坐标系里面的同一个点。换句话说,齐次坐标有规模不变性.

证明:两条直线可以相交

考虑如下方程组:



我们知道在笛卡尔坐标系里面,该方程组无解,因为C ≠ D,如果C=D,两条直线就相同了。 让我们在透视空间里面,用齐次坐标x/w, y/w代替x ,y



现在我们有一个解(x, y, 0),两条直线相交于(x, y, 0),这个点在无穷远处

齐次坐标的意义:
使用齐次坐标,可以表示 平行线在透视空间的无穷远处交于一点。在欧氏空间,这变得没有意义,所以欧式坐标不能表示。

即:齐次坐标可以表示无穷远处的点。例如:
如果点(1,2)移动到无限远处,在笛卡尔坐标下它变为(∞,∞),然后它的齐次坐标表示为(1,2,0),因为(1/0, 2/0) =(∞,∞),我们可以不用”∞"来表示一个无穷远处的点了


参考:
[1]https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/95230246

[2]https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/95228010

[3]https://blog.csdn.net/saltriver

相关文章

  • 栅格化时为什么要引入齐次坐标

    参考:为什么要引入齐次坐标,齐次坐标的意义(一)为什么要引入齐次坐标,齐次坐标的意义(二)用矩阵表述变换与齐次坐标...

  • 为什么要引入齐次坐标,齐次坐标的意义

    1.从计算的角度, 统一计算 图像的缩放变换和旋转变换,可以用矩阵乘法的形式来表达变换后的像素位置映射关系。那么,...

  • 坐标系变换数学基础

    什么是齐次坐标 用[n+1]维数组表示n维坐标的方法叫齐次坐标法(Homogenous coordinate)。 ...

  • 关于齐次坐标的理解

    问题:两条平行线可以相交于一点 在欧式几何空间中,处于同一平面的两条平行直线不能相交,这是我们中学就学的知识。 然...

  • 齐次坐标

    齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统 齐次坐标是计算机图形...

  • 齐次坐标

    H.C.(Homogeneous Coordinates) are a system of coordiantes...

  • 齐次坐标

    Homogeneous CoordinatesProblem: Two parallel lines can in...

  • 齐次坐标

    《计算机视觉教程》笔记编著:章毓晋(清华大学电子工程系)出版社:人民邮电出版社出版时间:2017.3 (其实,不管...

  • [转载] 关于 Matrix 中的齐次坐标

    原文Homogeneous Coordinates译文关于齐次坐标的理解 Problem: Two paralle...

  • 关于齐次坐标

    以下对齐次坐标的解释,主要参考在其他博客看到的,非原创,个人觉得解释的浅显易懂,有助于初学者对齐次坐标的理解。 对...

网友评论

    本文标题:为什么要引入齐次坐标,齐次坐标的意义

    本文链接:https://www.haomeiwen.com/subject/hlwlictx.html