关于齐次坐标的理解记录

齐次坐标(homogeneous coordinates)



问题: 两条平行线会相交


铁轨在无限远处相交于一点

铁轨在无限远处相交于一点


在欧几里得几何空间里,同一平面上的两条平行线永远都不会相交。但是在投影空间中,如上图中的两条铁轨在地平线处却是会相交的,因为在无限远处它们看起来相交于一点


欧几里德空间(或笛卡尔空间)很好地描述了我们的二维/三维几何,但它们不足以处理射影空间(实际上,欧几里德几何是射影几何的一个子集)


二维点的笛卡尔坐标可以表示为(x,y),如果这一点离无穷远呢?无穷远点是(∞,∞),它在欧几里德空间中变得毫无意义


投影空间里的两条平行线会在无限远处相交于一点,但笛卡尔空间里面无法搞定这个问题(因为无限远处的点在笛卡尔空间里是没有意义的),因此数学家想出齐次坐标这个点子来了



解决办法:齐次坐标

由 August Ferdinand Möbius 提出的齐次坐标(Homogeneous coordinates)让我们能够在投影空间里进行图像和几何处理,齐次坐标用 N + 1个分量来描述 N 维坐标


比如,2D 齐次坐标是在笛卡尔坐标(X, Y)的基础上增加一个新分量 w,变成(x, y, w),其中笛卡尔坐标系中的大X,Y 与齐次坐标中的小x,y有如下对应关系:

X = x/w
Y = y/w


笛卡尔坐标中的点 (1, 2) 在齐次坐标中就是 (1, 2, 1) 。如果这点移动到无限远(∞,∞)处,在齐次坐标中就是 (1, 2, 0) ,因为 (1/0, 2/0) ≈ (∞,∞)


这样我们就避免了用没意义的"∞" 来描述无限远处的点



为什么叫齐次坐标?


如前所述,为了将齐次坐标(x,y,w)转换成笛卡尔坐标,我们只需将x和y除以w:

在这里插入图片描述

把齐次变换成笛卡尔坐标,我们可以发现一个重要的事实。让我们看看下面的例子:

在这里插入图片描述

上图中,点 (1, 2, 3), (2, 4, 6) 和 (4, 8, 12) 对应笛卡尔坐标中的同一点 (1/3, 2/3)。 任意标量积 (1a, 2a, 3a) 始终对应于笛卡尔坐标中的同一点 (1/3, 2/3)。因此这些点是“齐次”的,因为他们始终对应于笛卡尔坐标中的同一点。换句话说,齐次坐标描述尺度不变性(scale invariant)



证明: 两平行线可以相交


笛卡尔坐标系中,对于如下两个直线方程:

在这里插入图片描述

如果 C ≠ D,以上方程组无解;如果 C = D,那这两条线就是同一条线(重合)了


下面我们分别用 x/w, y/w 代替 x, y 放到投影空间里来求解:

在这里插入图片描述

我们可以得到 (C-D)w=0,因为 C ≠ D,所以 w = 0。方程组的解为(x,y,0)


因此,两条平行线在(x,y,0)处相交,即无穷远点


齐次坐标是计算机图形学中非常有用和基本的概念,例如将三维场景投影到二维平面上



原文链接



概括来说:

  • 投影平面上的任何点都可以表示成一三元组 (X, Y, Z),称之为该点的齐次坐标投影坐标,其中 X、Y 及 Z 不全为 0
  • 以齐次坐标表表示的点,若该坐标内的数值全乘上一相同非零实数,仍会表示该点
  • 相反地,两个齐次坐标表示同一点,当且仅当其中一个齐次坐标可由另一个齐次坐标乘上一相同非零常数得取得
  • 当 Z 不为 0,则该点表示欧氏平面上的该 (X/Z, Y/Z)
  • 当 Z 为 0,则该点表示一无穷远点

三元组 (0, 0, 0) 不表示任何点,原点表示为 (0, 0, 1)



我的小站GithubCSDN



  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值