我是靠谱客的博主 老迟到哈密瓜,最近开发中收集的这篇文章主要介绍Games101现代图形学入门Lecture 4: Transformation Cont知识点总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

视频链接:https://www.bilibili.com/video/BV1X7411F744?p=4

课程主页链接:http://games-cn.org/intro-graphics/

课件PPT链接:http://games-cn.org/graphics-intro-ppt-video/

1. 3D变换

缩放和平移矩阵

旋转矩阵

 欧拉角:roll, pitch, yaw

 绕任一轴旋转一定角度:罗德里格斯旋转公式

2. 视图变换:先平移变换到原点 ,再依次将三个轴旋转到对应轴。

求旋转矩阵的方法:先求得逆旋转矩阵(将标准坐标轴旋转到待变换的向量方向),再通过旋转矩阵的正交性,可得旋转矩阵就是逆矩阵的转置。旋转矩阵是正交矩阵的证明:https://blog.csdn.net/qq_41951923/article/details/103540506?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2allfirst_rank_v2~rank_v25-2-103540506.nonecase

3.  投影变换

 两种方式:正交投影和透视投影

 4. 正交投影

 将长方体范围映射到canonicl 正方体:先平移,后缩放

正交投影变换的公式:

 右手定则的一个缺点:因为看向-z,所以近平面的z值从数值上大于远平面,不太符合直观理解,所以Opengl使用的是左手坐标系

5. 透视投影

  • 使用最广泛
  • 近大远小
  • 平行线不再平行,会汇聚在某一点

 6. 如何做透视投影

  • 先将视锥体变换到cuboid长方体
  • 对长方体做正交投影

7. 如何求得透视投影的变换矩阵

  • 先求得y和x的公式
  • 再根据y和x推导出变换矩阵的部分项
  • 再根据特殊的点(近平面和远平面的点)求得变换矩阵其他的项

 

 

 

8. 引申:透视除法

之前的运算中可以看到利用其次坐标,进行了乘z的操作来消除z对矩阵的影响,这也是为什么在渲染管线中存在透视除法这个操作。

我个人理解就是如果没有透视除法这步骤,那就无法用一个矩阵代表该摄像机的透视矩阵,因为该矩阵会和每个点的z值相关。如果没有透视除法,那就需要在进行透视矩阵相乘时,对矩阵的每一项除以z

https://www.tomdalling.com/blog/modern-opengl/explaining-homogenous-coordinates-and-projective-geometry/

最后

以上就是老迟到哈密瓜为你收集整理的Games101现代图形学入门Lecture 4: Transformation Cont知识点总结的全部内容,希望文章能够帮你解决Games101现代图形学入门Lecture 4: Transformation Cont知识点总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部