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

为什么要引入齐次坐标,齐次坐标的意义(一)问题 两条平行线可以相交于一点在欧氏几何空间 同一平面的两条平行线不能相交 这是我们都熟悉的一种场景 然而 在透视空间里面 两条平行线可以相交 例如 火车轨道随着我们的视线越来越窄 最后两条平行线在无穷远处交于一点 欧氏空间 或者笛卡尔空间 描述 2D 3D 几何非常适合 但是这种方法却不适合处理透视空间的问题 实际上 欧氏几何是透视几何的一个子集合 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个坐标分量分别除以最后一个分量即可。

 

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

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

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

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

我们知道在笛卡尔坐标系里面,该方程组无解,因为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) =

(∞,∞),我们可以不用”∞”来表示一个无穷远处的点了。

 

附:为什么要引入齐次坐标,齐次坐标的意义(二) https://blog.csdn.net/zhuiqiuzhuoyue583/article/details/

 

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

           https://www.zhihu.com/question/59595799

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/205799.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午5:09
下一篇 2026年3月19日 下午5:10


相关推荐

  • 我为什么放弃Go语言

    我为什么放弃Go语言我为什么放弃Go语言?有好几次,当我想起来的时候,总是会问自己:这个决定是正确的吗?是明智和理性的吗?其实我一直在认真思考这个问题。开门见山地说,我当初放弃Go语言,就是因为两个“不爽”:第一,对Go语言本身不爽;第二,对Go语言社区里的某些人不爽。毫无疑问,这是非常主观的结论,但是我有足够详实的客观的论据。

    2022年6月30日
    23
  • HDU 4828 (卡特兰数+逆)

    HDU 4828 (卡特兰数+逆)

    2022年1月1日
    54
  • idea 2021.11.3 激活码_在线激活

    (idea 2021.11.3 激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~0…

    2022年3月28日
    53
  • 什么是配额_配额抽样的计算

    什么是配额_配额抽样的计算xx局点FusionCloud6.3 type1 计算配额失败问题

    2022年4月20日
    45
  • 国内团队博客汇总_中国最成功的团队

    国内团队博客汇总_中国最成功的团队京东前端团队凹凸实验室蘑菇街技术博客奇迹空间科技有限公司百度技术沙龙百度web前端团队FEX饿了么物流悦跑圈技术团队并发编程网阿里中间件团队博客阿里技术沙龙天猫无线团队淘宝前端团队FED美团点评技术团队奇虎360技术博客alloyteam腾讯全端腾讯Bugly腾讯wetestIBMdeveloperWorks中国Glow

    2022年8月13日
    4
  • 部署禅道至外网

    部署禅道至外网结论:采用Cpolar映射工具和netsh命令netsh命令可以将对本地/局域网的某个端口的请求转发给本地/局域网的另一端口接收处理,假设利用Cpolar映射工具将本地的12345端口映射到外网,再利用netsh命令将本地12345端口转发到192.168.10.188的8000端口,这样,我在外网用http请求本地12345端口时,实际上是在请求禅道(192.168.10.188:8000)网址结论:可行工具:cpolar内网穿透工具和一台内网开着的电

    2022年5月29日
    86

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号