齐次坐标

(一)

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

欧氏空间(或者笛卡尔空间)描述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),这个点在无穷远处。 小结:齐次坐标在图形学中是一个非常基础的概念,例如3D场景映射到2D场景的过程中

参考: http://www.songho.ca/math/homogeneous/homogeneous.html

(二)http://www.cnblogs.com/codingthings/p/4293958.html

时间: 2024-10-06 01:19:36

齐次坐标的相关文章

【转载】齐次坐标

原文:齐次坐标 齐次坐标 原文链接:点击这里 翻译:罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公用协议 问题: 两条平行线会相交  铁轨在无限远处相交于一点 在欧几里得几何空间里,两条平行线永远都不会相交.但是在投影空间中,如右图中的两条铁轨在地平线处却是会相交的,因为在无限远处它们看起来相交于一点. 在欧几里得(或称笛卡尔)空间里描述2D/3D 几何物体是很理想的,但在投影空间里面却并不见得. 我们用 (x, y) 表

齐次坐标的理解

1. 齐次 事实上带齐次的概念很多,纯粹要说“齐次”的含义的话,似乎比较抽象难懂,所以我觉得给出一个具体的齐次的东西来解释可能会更好一点. 下面我要解释的齐次坐标(homogeneous coordinates)是我所熟悉的计算机视觉和图形学这两个领域中经常要用到的概念,同时,坐标也是一般人都可以理解的东西. 二维空间中的一个点是用二元组表示的.我们可以增加一个额外的坐标得到三元组,同时我们声明这是同一个点.这看起来完全无害,因为我们可以很简单地通过增加或者删除最后一个坐标值来在两种表示方式之间

关于齐次坐标的理解(经典)

问题:两条平行线可以相交于一点 在欧氏几何空间,同一平面的两条平行线不能相交,这是我们都熟悉的一种场景. 然而,在透视空间里面,两条平行线可以相交,例如:火车轨道随着我们的视线越来越窄,最后两条平行线在无穷远处交于一点. 欧氏空间(或者笛卡尔空间)描述2D/3D几何非常适合,但是这种方法却不适合处理透视空间的问题(实际上,欧氏几何是透视几何的一个子集合),2维笛卡尔坐标可以表示为(x,y). 如果一个点在无穷远处,这个点的坐标将会(∞,∞),在欧氏空间,这变得没有意义.平行线在透视空间的无穷远处

齐次坐标的简单理解

1.含义:齐次坐标就是一个n维矢量的(n+1)维矢量表示. 例如:二维坐标点P(x,y)的齐次坐标为: (H*x, H*y, H). 二维坐标与齐次坐标是一对多的关系.通常都采用规格化的齐次坐标,即取H=1. (x,y) 的规格化齐次坐标为 (x,y,1).当H=0时,称该点为理想点或无穷远点,它没有等同的非齐次表示.可理解为在三维空间上第三维为常数的一平面上的二维向量.以此可以引申到更高维. 2.几何意义: 将各种变换用阶数统一的矩阵来表示.提供了用矩阵运算实现图形变换,或者把二维.三维甚至高

[转]对齐次坐标的理解

  “齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换.”—— F.S. Hill, JR. 齐次坐标主要是应用在矩阵转换中,我们通常运算的坐标系是“笛卡尔坐标系”,我们已经习惯了笛卡尔坐标系的表述方式,一个点都有唯一对应的数据值来表示,比如原点我们就记做(0,0)点.而笛卡尔坐标系和齐次坐标系的根本区别在于“齐次性”. 所谓齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示. 显然一个向量的齐次表示是不唯一的,齐次坐标的h取

理解齐次坐标的意义

图形学中中对于矩阵常涉及的操作有以下几种: 缩放 旋转 平移 在介绍为什么要引入齐次坐标之前先介绍这三个操作的线性代数的表达形式.为了说明方便以二维进行举例说明. 缩放 假设有一个向量为\([x1,y1]\),那么如果要使得沿着x轴和y轴方向分别伸缩\(k_x,k_y\)倍,写成矩阵的形式如下: \[ \begin{equation} { \left[ \begin{array}{ccc} x2\y2\\end{array} \right ]}={ \left[ \begin{array}{cc

仿射变换与齐次坐标

仿射变换(Affine Transformation) 齐次坐标系(Homogeneous Coordinate) 定义: 所谓线性变换是指两个线性空间的映射,一个变换是线性变换,必须满足两个条件,也就是我们经常说的线性条件:       additivity       homogeneity 理解: 在<3D数学基础:图形与游戏开发>>9.4.2中说到4x4平移矩阵,因为3x3矩阵平移并不能用 乘法表示,也就是说,我们矢量来表示空间中一个点: r = {rx,ry,rz} 而平移的矢

Duanxx的图像处理学习: 图像变换 三维变换及其齐次坐标表示

点旋转和坐标系旋转

同一坐标系下的点旋转变换(如图1所示)和不同坐标系下的点变换(如图2所示),一直困扰着我,它们是两个不同的概念,但形式上有很相似,以二维空间为例做了下推导,加深理解. 同一坐标系下的点旋转变换,比较好理解,是在相同的坐标系下做的旋转变换.如图3所示,已知逆时针的旋转角度为θ,我们引入中间变量向量的长度r和水平夹角α,显而易见地,推导公式如下: 齐次坐标系的表达为: 不同坐标系下的点变换,这是透视变换中常用到的,它的作用是将一个点从一个坐标系统映射到另一个坐标系统下,这在将世界坐标系统映射到像极坐