zoukankan
html css js c++ java
齐次坐标
齐次坐标
(homogeneous coordinates)是我所熟悉的计算机视觉和图形学这两个领域中经常要用到的概念,同时,坐标也是一般人都可以理解的东西。
二维空间中的一个点是用二元组
表示的。我们可以增加一个额外的坐标得到三元组
,同时我们声明这是同一个点。这看起来完全无害,因为我们可以很简单地通过增加或者删除最后一个坐标值来在两种表示方式之间来回切换。现在,有一个很重要的问题是:最后一个坐标
齐次坐标
的定义,即给定一个二维点
,那么形如
的所有三元组就都是等价的,它们就是这个点的
齐次坐标
,我们只要把它除以三元组中的第三个数,即可得到原始的二维点坐标(这就是@祝文祥的答案中所说的同比收缩的一个例子)。不过我觉得,从字面上来看,
叫
法还是不那么形象,不过看看和齐次对应的英文单词homogeneous,我们会发现这个词有时还会被翻译成“同质”,表示某一类东西拥有一些相同的性质,这么来看的话,还是挺形象的吧。
需要再次注意的是这里的k是非零的,那么如果
会怎样?因为除数不能为
的缘故,所以似乎没有任何二维点是和
对应的。事实上,
就是无穷远处的点。以前,我们用
是无法描述二维平面上的无穷远点,但当我们引入
齐次坐标
的一个好处。当然了,使用
齐次坐标
的内容翻译并修改自《Multiview Geometry in Computer Vision (2nd Edition)》第2页第9行开始的两段。
2. 线性
再来说说“线性”。和“齐次”类似,带“线性”的概念也很多,下面我也会给出一个具体的线性的东西来解释,以防过于抽象。
“线性变换”(Linear Transformation)同样是计算机视觉和图形学中经常用到的东西。通常,我们会用一个矩阵来表示一个线性变换,对于二维空间中的线性变换,我们经常用3x3的矩阵来表示。当给定一个线性变换矩阵之后,我们把它和一个
齐次坐标
了。
那么
叫
线性变换而不是弯性变换呢?这里抛开线性的数学定义不说,线性变换有一个重要的性质,非常形象地表达了这一概念,即保共线性(我记不清是不是
叫
这个名字了,望指正)。具体地说就是,在线性变换之前处于同一条直线上的3个点,经过线性变换之后必定还处于同一条直线上。换句话说,如果你画了一条直线,这条直线在经过线性变换之后它必定还是一条直线。
所以说,线性变换最喜欢直线了,除了直线以外的东西,比如角,在经过线性变换之后可能就完全不一样了,此外,还有长度、面积、平行等等,线性变换都不喜欢,不保证它们在变换之后还能维持原样。
以上,希望能帮助大家理解这两个概念。
查看全文
相关阅读:
「学习记录」《数值分析》第三章计算实习题(Python语言)
Set原理
字符串流stringReader
Collection List接口
io
Dubbo 服务容错Hystrix
Duboo 与springboot整合
读取配置文件
springboot 端口号
springboot 多环境选择
原文地址:https://www.cnblogs.com/hjlweilong/p/7727226.html
最新文章
11--数值的整数次方
剑指offer——54数组中的逆序对
剑指offer——53字符流中第一个只出现一次的字符
剑指offer——52第一个只出现一次的字符
剑指offer——51丑数
剑指offer——50最长不含重复字符和子字符串
剑指offer——49礼物的最大价值
剑指offer——48把数字翻译成字符串
剑指offer——47把数组排成最小的数
剑指offer——46数字序列中某一位的数字
热门文章
剑指offer——45整数中1出现的次数
「日常训练」 Mike and Fun (CFR305D2B)
「日常训练」 Soldier and Traveling (CFR304D2E)
「日常训练」 Soldier and Number Game (CFR304D2D)
「日常训练」 Soldier and Cards (CFR304D2C)
「日常训练」Soldier and Badges (CFR304D2B)
「题目代码」P1034~P1038(Java)
「题目代码」P1029~P1033(Java)
「日常训练」 Finite or not? (CFR483D2C)
「赛后补题」HBCPC2018题目代码与思路简析
Copyright © 2011-2022 走看看