所谓齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示。例如,二维点(x,y)的齐次坐标表示为(hx,hy,h)。由此可以看出,一个向量的齐次表示是不唯一的,齐次坐标的h取不同的值都表示的是同一个点,比如齐次坐标(8,4,2)、(4,2,1)表示的都是二维点(4,2)。

(1, 4, 7)如果写成(1,4,7,0),它就是个向量;如果是(1,4,7,1),它就是个点。下面是如何在普通坐标(Ordinary Coordinate)和齐次坐标(Homogeneous Coordinate)之间进行转换:

(1)从普通坐标转换成齐次坐标时

如果(x,y,z)是个点,则变为(x,y,z,1);

如果(x,y,z)是个向量,则变为(x,y,z,0)

(2)从齐次坐标转换成普通坐标时

如果是(x,y,z,1),则知道它是个点,变成(x,y,z);

此外,对于一个普通坐标的点P=(Px, Py, Pz),有对应的一族齐次坐标(wPx, wPy, wPz, w),其中w不等于零。比如,P(1, 4, 7)的齐次坐标有(1, 4, 7, 1)、(2, 8, 14, 2)、(-0.1, -0.4, -0.7, -0.1)等等。因此,如果把一个点从普通坐标变成齐次坐标,给x,y,z乘上同一个非零数w,然后增加第4个分量w;如果把一个齐次坐标转换成普通坐标,把前三个坐标同时除以第4个坐标,然后去掉第4个分量。

由于齐次坐标使用了4个分量来表达3D概念,使得平移变换可以使用矩阵进行,从而如F.S. Hill, JR所说,仿射(线性)变换的进行更加方便。由于图形硬件已经普遍地支持齐次坐标与矩阵乘法,因此更加促进了齐次坐标使用,使得它似乎成为图形学中的一个标准

AI理论知识基础(23)-齐次坐标相关推荐

  1. AI理论知识基础(26)-相对熵,KL散度

    相对熵(relative entropy),又被称为 KL散度.Kullback-Leibler散度(Kullback-Leibler divergence)或信息散度(information div ...

  2. AI理论知识基础(26)-机器学习常见损失函数, 共轭梯度法(2)

    机器学习常见损失函数, 共轭梯度法(2)

  3. AI理论知识基础(25)-机器学习常见损失函数, 共轭梯度法(1)

  4. AI理论知识基础(24)-凸函数

  5. AI理论知识基础(22)-逻辑斯蒂映射-伪随机数

    此外, 逻辑斯蒂(logistic)回归又称logistic回归分析,主要在流行病学中应用较多,比较常用的情形是探索某疾病的危险因素,根据危险因素预测某疾病发生的概率,等等.例如,想探讨胃癌发生的危险 ...

  6. AI理论知识基础(21)-对变化建模-用差分方程-动力系统及常数解

  7. AI理论知识基础(20)-线性变换(2),转换矩阵,相似矩阵,坐标向量

  8. AI理论知识基础(19)-线性变换(1)

  9. AI理论知识整理(18)-内积与范数

最新文章

  1. C#基础系列:实现自己的ORM(反射以及Attribute在ORM中的应用)
  2. 【算法】【ACM】深入理解Dijkstra算法(单源最短路径算法)
  3. Linux防火墙配置—访问外网WEB
  4. jsp页面定义的map
  5. Centos配置在线yum源
  6. vscode 支持 markdown 流程图
  7. Python 局部变量和全局变量 - Python零基础入门教程
  8. YOLO,VOC数据集标注格式解析
  9. 关注程序员健康之——研究显示白天小睡90分钟将有效增强记忆力
  10. 熊族部落---要邀请码
  11. 使用ACR122U NFC读卡器对M1卡进行读写操作(可以读写中文)
  12. 网络访问计算机无法访问,电脑已连接网络却无法访问互联网怎么办
  13. 如何使用project制定项目计划?(附详细步骤截图)
  14. 如何设置UISwitch的大小
  15. EasySwoole3 Crontab的使用
  16. 四轮驱动(SSMR)移动机器人手柄控制
  17. 美学心得(第二百一十七集) 罗国正 (2020年12月)
  18. 仿真时信号出现高阻态、不定态——Test Bench中要做声明
  19. 王者微信哪个服务器好,王者荣耀:QQ区比微信区强吗?两个区到底差在哪里?...
  20. win10 浏览器不能上网但是QQ等其他软件都能上网

热门文章

  1. 【JZOJ3636】【BOI2012】Mobile(mobile)
  2. 使用pycharm运行调试scrapy
  3. Framelayout
  4. 奇或偶数行高亮显示及鼠标划过高亮显示类
  5. shell安装mysql,连接数据库,创建数据库
  6. js 格式化带时区的日期
  7. 需要支持多种操作的线段树该如何确定运算顺序?
  8. C语言 —— 贪吃蛇
  9. Python 简介和入门
  10. PhoneGap与Jquery Mobile结合开发android应用配置