计算机图形学笔记(三):变换进阶

目录

  • 视频地址:https://www.bilibili.com/video/BV1X7411F744?p=4
  • 三维变换
    • 任意三维物体的旋转
    • 四元数
  • 观测变换
    • 视图/摄影机变换
      • 什么是视图变换
    • 投影变换
      • 正交投影
      • 透视投影

视频地址:https://www.bilibili.com/video/BV1X7411F744?p=4

三维变换

计算机图形学笔记(三):变换进阶_第1张图片
计算机图形学笔记(三):变换进阶_第2张图片
计算机图形学笔记(三):变换进阶_第3张图片
在这里插入图片描述
计算机图形学笔记(三):变换进阶_第4张图片

计算机图形学笔记(三):变换进阶_第5张图片

任意三维物体的旋转

计算机图形学笔记(三):变换进阶_第6张图片
计算机图形学笔记(三):变换进阶_第7张图片

四元数

四元数是简单的超复数。 复数是由实数加上虚数单位 i 组成,其中i^2 = -1。 相似地,四元数都是由实数加上三个虚数单位 i、j、k
组成,而且它们有如下的关系: i^2 = j^2 = k^2 = -1, i^0 = j^0 = k^0 = 1 , 每个四元数都是
1、i、j 和 k 的线性组合,即是四元数一般可表示为a + bi+ cj + dk,其中a、b、c 、d是实数。
对于i、j、k本身的几何意义可以理解为一种旋转,其中i旋转代表X轴与Y轴相交平面中X轴正向向Y轴正向的旋转,j旋转代表Z轴与X轴相交平面中Z轴正向向X轴正向的旋转,k旋转代表Y轴与Z轴相交平面中Y轴正向向Z轴正向的旋转,-i、-j、-k分别代表i、j、k旋转的反向旋转。

计算机图形学笔记(三):变换进阶_第8张图片

观测变换

Viewing transmation

学习目的:为了弄清楚 三维->二维 经历了那些变换

视图/摄影机变换

什么是视图变换

与拍照类比:

  • 物体(motion)
  • 角度、位置(view)
  • 姿势(projection)
    MVP变换

相机参数(三个向量):

  • Position e
  • gaze direction g
  • up direction t

举例:把相机放在标准位置(0,0)上
计算机图形学笔记(三):变换进阶_第9张图片
之前在对物体做变换的时候,是先旋转后平移;
而对摄像机做变换,需要先平移后旋转
计算机图形学笔记(三):变换进阶_第10张图片
要求摄影机的旋转很困难(难以通过理解来把它直接地写出来),可以求它的逆变换,即:

  • 把(0,0,1)(z轴)旋转到g的位置处
  • 把(0,1,0)(y轴)旋转到t的位置处
  • 把(1,0,0)(x轴)旋转到g叉乘t的位置处
    由于旋转矩阵是正交矩阵,所以它的逆矩阵就是它的转置

投影变换

计算机图形学笔记(三):变换进阶_第11张图片
计算机图形学笔记(三):变换进阶_第12张图片

正交投影

正交投影不会产生“近大远小”,多用于工程制图
计算机图形学笔记(三):变换进阶_第13张图片
计算机图形学笔记(三):变换进阶_第14张图片
以上变换写成矩阵的形式:
计算机图形学笔记(三):变换进阶_第15张图片
缺陷:

  • 在右手系下用远近来标识物体在z轴上的距离,与常识相违背(远的数值小,近的数值大)
  • FIY: OpenGL就用了左手系

透视投影

人眼的成像方式,也是图形学中用得最广泛的投影
计算机图形学笔记(三):变换进阶_第16张图片
计算机图形学笔记(三):变换进阶_第17张图片
计算机图形学笔记(三):变换进阶_第18张图片
为了透视投影,需要把距离摄像机远的点集挤压
挤压遵循原则:

  • z轴上的点不变
  • 被挤压点集的中心点不变

从侧面看,可以看到相似三角形
计算机图形学笔记(三):变换进阶_第19张图片
计算机图形学笔记(三):变换进阶_第20张图片
计算机图形学笔记(三):变换进阶_第21张图片
计算机图形学笔记(三):变换进阶_第22张图片
计算机图形学笔记(三):变换进阶_第23张图片
远平面的中心点也满足不变的条件,将它代入:
计算机图形学笔记(三):变换进阶_第24张图片
计算机图形学笔记(三):变换进阶_第25张图片

你可能感兴趣的:(计算机图形学)