为什么突然写图形学的东西了呢,当然是学校要上这门课(摊
2D Transformation
scale 缩放

其中这个对角矩阵是缩放矩阵

Reflection 反转

Shear 切变

Roatate 旋转
默认绕原点旋转,逆时针

旋转-θ角是旋转θ角得到的矩阵的逆

Homogeneous coordinates 齐次坐标
理由↓平移不好通过transformation操作,齐次坐标是为了把所有变换写成一个矩阵x一个向量

解决方法↓ 引入齐次方程

向量具有平移不变性!

点加点是这两个点的中点
Affine Transformations 仿射变换
先应用线性变换,再平移↓


Inverse Transform 逆变换
等于乘以一个变换的逆矩阵

Composing transforms 组合变换
矩阵计算不满足交换律!

但是!矩阵有结合律!

不止能够合成!还能够分解!‘
如,想围绕某个非原点的点旋转

**********注意!一定要从右到左写!
3D transformations


缩放和平移

旋转
分别围绕x,y,z轴旋转,具有循环对称的性质


任意的旋转可以通过该矩阵合成↓

很多情况跟二维一样,都是先把图形挪到原点,旋转,再挪回去
Viewing Transformation 观测变换
View/Camera Transformation 视图变换
视图变幻可以理解为摆照相机

相机位置在原点,台向y,观测位置是-z轴,相机不动物体动


原始旋转不好求的时候求逆变换

Why?:旋转矩阵是正交矩阵,所以乘以转置就是了

Projection Transformation 投影变换
正交投影不会近大远小,但是透视投影会!


Orthographic Projection 正交投影

把无论怎样的长方体映射成标准的正方体
注意!因为我们是沿着负z方向看所以数值越近越大!但是opengl因为是左手系所以这里是相反的!

正规做法:先平移再缩放

先去左/右 上/下 前/后的中点平移到原点上,再进行缩放

Perspective Projection 透视投影


先挤压,再做正交投影
规定:近平面永远不变



如何挤压↓通过相似三角形计算!(死去的初高中记忆开始攻击我)


只要知道x和y怎么变化就可以推了

那z????怎么办呢↓ 在近和远的地方不变!




本文介绍了图形学课程中的关键概念,包括2D变换中的缩放、反射、剪切和旋转,以及齐次坐标和仿射变换的应用。讨论了如何处理绕非原点旋转,以及视图和投影变换的原理,特别强调了正交投影与透视投影的区别和计算方法。

2720

被折叠的 条评论
为什么被折叠?



