其实参考链接中已经解释的很好了,这篇博客主要就是为了码一下别人的博客。链接1、2里面不仅有关于齐次坐标的解释,还有很多其他的计算机图像的知识点,链接2还做了很多《冰与火之歌》的彩蛋。

在平常数学运算中,我们一般使用笛卡尔坐标,但是在计算机图形学中使用的更多的是齐次坐标(Homogeneous Coordinates)。数学里,齐次坐标(homogeneous coordinates),或投影坐标(projective coordinates)是指一个用于投影几何里的坐标系统,如同用于欧氏几何里的笛卡儿坐标一般。该词由奥古斯特·费迪南德·莫比乌斯于1827年在其著作《Der barycentrische Calcul》一书内引入齐次坐标有三大优点。

一,还可以表示无穷远处的点。在欧式空间(Euclidean space)或者笛卡尔空间(Cartesian space)中,平行线是无法相交的,但是真实世界中因为透视关系,平行的铁轨在无穷远处也可以相交。而欧式空间中的坐标没有意义,所以齐次坐标就出现了。齐次坐标可以用维的坐标表示笛卡尔坐标系中维的坐标。齐次坐标对应笛卡尔坐标是缩放系数。这样当取,就可以表示笛卡尔坐标系中的无穷大,对应无穷点(points at infinity)。一般的,取,得到归一化的齐次坐标。是齐次坐标,被称为增广矢量(augmented vector)。

二,齐次坐标可以区分点和向量。计算机图形学(OpenGL版)》的作者F.S. Hill Jr. 写到:齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换[98]。在笛卡尔坐标系中的一个坐标,我们无法判断它表示的是一个点还是一个从原点指向该点的向量。齐次坐标因为有一个冗余的维度(缩放系数),可以作为标志位,当它取1时表示坐标点,当它为0时表示向量。这是因为表达一个点比一个向量需要额外的信息:

三,齐次坐标允许平移、旋转、缩放和透视投影表示为矩阵与向量相乘的运算,而使用笛卡尔坐标,平移和透视投影不能表示成矩阵相乘。仿射变换其实就是线性变换(旋转缩放)与平移的叠加。笛卡尔坐标系不能用乘法表示仿射变换主要是因为平移变换。现在利用齐次就可以将平移变换中的矩阵相加转换为矩阵相乘:

至于为什么叫齐次,这是因为齐次坐标与笛卡尔坐标不是一一对应的。只要前n个分量与缩放系数的比例相同就会映射到同一个笛卡尔坐标,即对齐次坐标每一个分量同等进行缩放,都表示的是笛卡尔坐标系中的同一个点,这就是尺度不变性(Scale Invariant),也就是齐次。谷歌翻译Homogeneous是“同质”的意思,百度翻译结果是“均匀的;同性质的。这里写作齐次。而之前学习的单应矩阵中单应英文单词是Homography,指的是点与点一一对应。他们共同使用词根homo,意为“相同的”。

注意:

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

Reference

  1. http://www.songho.ca/math/homogeneous/homogeneous.html
  2. 冰与火之歌https://oncemore.wang/blog/homogeneous/
  3. https://www.cnblogs.com/xin-lover/p/9486341.html

齐次坐标,怎么你也叫Homogeneous相关推荐

  1. MATLAB 中的机械臂算法——运动学

    MATLAB 中的机械臂算法--运动学 机械臂算法 MATLAB 在 2016 年就推出了 Robotics System Toolbox(RST),其中有很多关于机械臂方面的算法.而且随着客户需求的 ...

  2. Homogeneous Coordinates(齐次坐标)

    Problem: Two parallel lines can intersect. 问题: 两条平行线会相交   铁轨在无限远处相交于一点Problem: Two parallel lines ca ...

  3. 齐次坐标(Homogeneous Coordinate)的理解

    一直对齐次坐标这个概念的理解不够彻底,只见大部分的书中说道"齐次坐标在仿射变换中非常的方便",然后就没有了后文,今天在一个叫做"三百年 重生"的博客上看到一篇关 ...

  4. 齐次坐标 (Homogeneous Coordinate)

    转自:http://www.cnblogs.com/xmzyl/articles/1604150.html 齐次坐标(Homogeneous Coordinate) 在空间直角坐标系中,任意一点可用一 ...

  5. 齐次坐标(Homogeneous Coordinate)

    齐次坐标就是将n维的向量用n+1维向量表示,增加了一个维度以后可以表达更多的信息: 在欧式距离中无法表示无穷远处的点,(∞,∞)是没有意义的.在齐次坐标中p=(x,y,0),就可以轻松的表示p点是一个 ...

  6. 齐次坐标(Homogeneous Coordinate)介绍

    1.前言 "齐次坐标表示是计算机图形学的重要手段之一,它既能够用来明确区分向量和点,同时也更易用于进行仿射(线性)几何变换."-- F.S. Hill, JR. 2.介绍 2.1 ...

  7. 射影几何笔记5:齐次坐标(Homogeneous coordinates)

    一.起源 在数学中,齐次坐标或射影坐标由 August Ferdinand Möbius 在其 1827 年的著作 Der barycentrische Calcul [1][2][3] 中引入,是射 ...

  8. 齐次坐标(Homogeneous coordinates)

    为什么要引入齐次坐标?   齐次坐标系的引入是为了将坐标的平移.旋转.缩放及透视投影等可表示为单一矩阵与向量相乘的一般向量运算.从而在进行图形处理时简单有效.如以矩阵表达式来计算这些变换时,平移是矩阵 ...

  9. 齐次坐标的理解(2)

    接上篇文章齐次坐标的理解(1):https://blog.csdn.net/m0_37957160/article/details/119549709 "齐次坐标表示是计算机图形学的重要手段 ...

最新文章

  1. Eclipse mac 下的快捷键
  2. 语义分割--Understanding Convolution for Semantic Segmentation
  3. android edittext html 图片,Android EditText加载HTML内容(内容包含网络图片) -电脑资料...
  4. vscode格式化代码无效--可能的解决方法
  5. Android中URI的格式
  6. json字符串、json对象、数组之间的转换
  7. 智能贴图样机素材在手,海报逼格马上就有!
  8. PHP计算计算时间差,php中计算时间差的几种方法
  9. mysql 游标循环_MySQL 游标 循环
  10. Html5用户注册页面
  11. 大学时私藏了哪些工具、网站?在这里共享出来了
  12. 量子力学 量子计算机,量子力学和量子计算机
  13. NAT 简介分类作用
  14. 自定义配置文件 /etc/httpd/conf.d
  15. web打印问题:lodop 一直提示 未安装
  16. python使用you-get下载视频
  17. HEVC Tile 编码器-kvazaar
  18. 超酷震撼 HTML5/CSS3动画应用及源码
  19. 刷屏专用超长复制_跪求超超长刷屏字符剑。。
  20. 证书类型、自签CA证书、https双向认证(一篇就懂系列)

热门文章

  1. 权威赛事来了!千言-文本生成评测启动,聚焦NLG技术痛点
  2. ICLR2020满分论文 | 为什么梯度裁剪能加速模型训练?
  3. Hades:移动端静态分析框架
  4. 最全Java锁详解:独享锁/共享锁+公平锁/非公平锁+乐观锁/悲观锁
  5. 最新阿里聚划算Java 5轮面试题,涵盖GC收集器、多线程锁等
  6. 论文浅尝 - ICLR 2020 | 用于文本推理的神经模块网络
  7. 中文版GPT-2,可用于写小说、诗歌、新闻等
  8. Android官方开发文档Training系列课程中文版:连接无线设备之通过WIFI创建P2P连接
  9. 《深入浅出vue.js》阅读笔记之数组变化侦测
  10. Turtle库(海龟)