1. 几何基元和变换

    • 用以描述三维形状的基本构件。
    • 2D点:用一对数值表示(x,y),也可以使用其次坐标来表示,齐次矢量可以通过可以除以最后一个元素转换为非齐次矢量。(其次坐标:在进行几何变换时,为了加快运算速度,简化计算,往往使用矩阵,而在使用矩阵运算时,矩阵的乘积只能表示旋转、比例和剪切等等变换,而不能表示平移变换。因此为统一计算(使用齐次坐标在数学中的意义还要广),引入了第四个分量w,这使得原本二维坐标变成三维坐标,同理三维坐标变为四维坐标,而w称为比例因子,当w不为0时(一般设1),表示一个坐标,一个三维坐标的三个分量x,y,z用齐次坐标表示为变为x,y,z,w的四维空间,变换成三维坐标是方式是x/w,y/w,z/w,当w为0时,在数学上代表无穷远点,即并非一个具体的坐标位置,而是一个具有大小和方向的向量。从而,通过w我们就可以用同一系统表示两种不同的量。在OPENGL中,作为坐标点时,w参数为1,否则为0,如此一来,所有的几何变换和向量运算都可以用相同的矩阵乘积进行运算和变换,当一个向量和一个矩阵相乘时所得的结果也是向量。)
    • 2D直线:采用齐次坐标表达式L=(a,b,c)表示。对应的直线方程是:L=a*x+b*y+c=0;可以标准化:L=(nx,ny,d)=(n,d);|n|=1,这样子n就是一个和这条直线垂直的法向量了,d是到原点的距离。不过在无穷远的直线(0,0,1)是一个例外,它包含所有无穷远处的点。令n=(nx,ny)=(cosθ,sinθ),这种表达经常用于霍夫变换检测直线。
    • 2D圆锥曲线:用多项式齐次方程来表示。
    • 3D点:非齐次坐标(x,y,z);齐次坐标(x,y,z,w);( 齐次坐标就是将一个原本是n维的向量用一个n+1维向量来表示,是指一个用于投影几何里的坐标系统,如同用于欧氏几何里的笛卡儿坐标一般。)
    • 3D平面:m=(a,b,c,d);对应的平面方程是a*x+b*y+c*z+d=0;同样规划化这条直线可以有m=(nx,ny,nz,d);d是到达原点的距离,其中、(0,0,0,1)代表所有无限远点的集合是不能被规范化的。令n=(cosθcosη,sinθcosη,sinη)。
    • 3D直线:使用直线的两个点表示(p,q),直线的其他点:r=(1-λ)P+λq
  2. 2D变换
    • 平移:Xnew=X+t;或者写成二维矩阵Xnew=【I t】;其中I是一个2*2的单位矩阵;写成其次的坐标变换形式即是:,
    • 旋转+平移:又称2D刚体运动。写法为Xnew=RX+t;Xnew就是下图的新X的意思。
    • 放缩旋转:又称为相似变换。
    • 仿射变换 又称透视变换或者同态变换
    • 2D变换的几种结构形式如图所示。(这里可以这样子理解相似变换就是相似三角形的变换,可以平移,旋转和等比例的改变大小;仿射变换是一束平行光的照射的影子,而投影是点光源在平面上产生的结果https://blog.csdn.net/chaolei3/article/details/79531140)
  3. 3D变换
    • 和2D变换的效果其实差不多一样的,就是自由角度数会比较的多了。包括有平移,旋转+平移(刚性欧式变换,即是位置和角度发生变化),放缩旋转(放缩+旋转),仿射(新坐标统一乘上一个变换矩阵,可以看成是从一束光照过去所形成的投影,保持平行性)
    • 3D旋转(2D和3D旋转变化最大的不同是3D旋转矩阵的参数不简单,因此有以下四种旋转的表达方法。)
      • 欧拉角。
      • 轴/角(指数扭曲)旋转表示使用旋转轴和角度来表示,或者等同的用一个向量(用轴n和旋转角共同表示)。
      • 单位四元素:其表达和轴/角的表达有着密切的关系。q=(x,y,z,w);单位四元素位于单位球|q|=1上,且两个相反的四元素q和-q表示相同的旋转。单位四元素最好的一面是存在简单的代数方法,用于复合用单位四元素表示的旋转
    • 3D到2D的投影(利用投影矩阵,有正交投影和透视投影)
      • 正交投影:3D点的z坐标舍弃得到2D点的坐标,在齐次坐标表达式中:这里都只是舍弃了z分量而保留了其中的w分量,正交投影是当长焦距镜头和物体自身深度和其到相机距离比很小时的一个近似模型。
      • 透视投影:最常用的投影,点映射到平面上是通过除以z分量来实现的,这个可以写成                                   在其次型坐标的形式下,投影具有更加简单的线性形式这就相当于我们舍弃了其中的w分量,失去了距离信息。
      • 摄像机内参:

章节二 几何基元与变换相关推荐

  1. 二维离散余弦变换(DCT)与二维离散反余弦变换(IDCT)C语言实现

    二维离散余弦变换(DCT)与二维离散反余弦变换(IDCT)C语言实现 实验目标 对一个8x8的矩阵进行DCT和IDCT然后在观察前者和后者的变化 实验准备 理论基础 二维离散余弦变换 F ( u , ...

  2. 几何基元_.NET异步协调基元中的两种技术比较

    几何基元 Last week in my post on updating my Windows Phone 7 application to Windows 8 I shared some code ...

  3. 二维图像的傅立叶变换

    摘要:二维图像的傅立叶变换,与一维傅立叶相比,在理解上要抽象很多.我在网上找了几篇相对较好的文章,并用matlab自己做了几个实验图像,希望能对大家理解二维图像的傅立叶变换有所帮助. 关键字:二维傅立 ...

  4. 设计模式学习笔记(十二)享元模式及其应用

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  5. 设计模式(十二)—— 享元模式

    设计模式(十二)-- 享元模式 定义 结构 案例实现 优缺点和使用场景 JDK源码解析 定义 运用共享技术来有效地支持大量细粒度对象的复用.它通过共享已经存在的对象来大幅度减少需要创建的对象数量.避免 ...

  6. JAVA 入坑教程 | 章节二 基本数据类型

    JAVA 章节二 基本数据类型 目录 Java基本数据类型:两大类 内置数据类型 引用数据类型 Java类型的转换 自动类型转换 强制类型转换 Java的常量 Java基本数据类型 一.内置数据类型 ...

  7. 章节二:HTML基础

    章节二:HTML基础 目录 章节二:HTML基础 1. 爬虫,从网页开始 1.1 为什么要学习HTML? 1.2 什么是HTML 1.3 查看网页源码 2. HTML的组成 2.1 层级结构 2.2 ...

  8. 计算机图形学(二):三维图形变换及应用(平移、旋转、缩放、仿射)

    三维图形的矩阵变换方法及应用 一个三维位置在齐次坐标中表示为4元列向量.因此,每一次几何变换操作表示成一个从左边去乘坐标向量的4×4矩阵.和二维中一样,任意变换序列可以通过依序合并相应的变换矩阵而得的 ...

  9. python元胞自动机模拟交通_大师兄带你复现 -gt; 难度超高的二维CA元胞自动机模型...

    最近过上了在家躺着就为祖国做贡献的生活. 然而,热心的知友们找我私信,询问"怎么画二维CA(元胞自动机)模型的仿真界面呀?""菜鸟如何做CA仿真?" 刚交完稿子 ...

最新文章

  1. Codeforces Round #649 (Div. 2)C. Ehab and Prefix MEXs[排列的构造]
  2. SQLDBCompare_Rel2.0破解手记
  3. 【Paper】2011_Distributed fault detection for interconnected second-order systems
  4. XGBoost相关知识-2
  5. 操作系统 :银行家算法的实现(C++)
  6. 迪信通机器人_迪信通要做机器人 玩票还是另有深意?
  7. php 存储html 内容,HTML 本地存储
  8. 脏读、不可重复读和幻读
  9. 项目研发流程及管理之我见
  10. 非NLB网段的客户端无法访问NLB
  11. 计算机不同领域划分依据,计算机文化基础真题(七)
  12. Install JD-GUI on Mac OSX
  13. 夏令时到底是个什么东西?
  14. python re库 正则表达式
  15. word导航栏 字体大小修改
  16. 计算机配件内存计入什么科目,机器配件应计入什么会计科目?
  17. scrollTo函数处理页面滚动问题
  18. 德纳:Mecha《机甲变形》NFT元宇宙链游开发技术详情
  19. 二分查找算法(递归+非递归)
  20. 手把手教你搭建SpringCloud项目(十)集成Hystrix之服务降级

热门文章

  1. 支付宝沙箱环境支付(当面付教程)
  2. 64位计算机不能运行32位游戏,我想玩个游戏,仅支援64位系统,我家电脑win7 32位的,怎么办求解决方法...
  3. 京东sign参数分析
  4. 新形象,新征程,新时代,光环云荣获2021GIDC“最佳IDC技术融合趋势奖
  5. Uva-12108 - Extraordinarily Tired Students-AC
  6. Sketch卡顿解决办法
  7. Philosophy of life: Love and Time
  8. 使用zxing生成与解析二维码
  9. nginx判断html结尾,nginx匹配以XXX结尾的
  10. FMK24微波雷达测距模块的使用