Games101学习笔记--03.变幻

3.1 为什么要学变换

相机移动、动画效果等都是由变换组合得到的。
有模型变换Model与视图变换View

3.1 2D线性变换(旋转、缩放、切片)

将矩阵与变换联系起来。
(1)设置放缩倍数。


(2)设置反转(对称)。


(3)设置错切。发现Y坐标都不变,X坐标变,且变的程度与ay成正比。
当在(a,1)坐标时,变换是x' = x + x * a * 1;
即在a x' = x + x * ay;
关键在于找到变换前后的关系。
shear变换直观理解就是把物体一边固定,然后拉另外一边。

(4)旋转。找特殊点即可,正好是选取的两个点的x y坐标形成旋转矩阵。
旋转矩阵的逆 == 旋转矩阵的转置

旋转矩阵的参数推导。

3.2 齐次坐标

为了平移变换也使用矩阵变换(线性变换),不要让平移成为特例,引出齐次坐标。
原本平移需要使用加法。

想将所有的变换统一。需要加的内容放在最后一列 * 1。
向量加0是向量具有平移不变性,平移后仍然是原来的向量。




仿射变换都可以写成齐次坐标的形式




缩放、旋转、平移矩阵

逆变换就是乘以逆矩阵,能变回原来的矩阵。

3.3 变换组合形成新的变换

(0,0)原点,先平移再旋转与先旋转再平移得到的结果是不一样的。
第二个变换矩阵左乘。



变换可以组合,也可以分解。
如果不绕原点旋转,而是绕任意点旋转。
可以先全体平移到原点,再旋转,再平移回原来位置。



3.4 3D线性变换


3D坐标中的旋转、平移也很类似2D。
齐次坐标中,是先线性变换再平移的。
仿射变换 = 线性变换 + 平移。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容