一、前言
模仿优秀的学长,跟着加州大学闫令琪老师的GAMES101系列自学。
本次课主要介绍了二维变换中基本变换的原理,介绍了仿射变换的概念和齐次坐标的应用。
二、简单变换
1.Scale Transformation 缩放变换
scale matrix缩放矩阵
2.Reflection Transformation 翻转变换
3.Shear Matrix
x',y'和x,y有关系,写出相应的表达式
对于每个点来说,x'=x+ay
4.Rotation Transformation 旋转变换
默认绕(0,0),逆时针方向
旋转度数为θ,旋转矩阵写作Rθ
注:这是任一点绕原点的旋转矩阵
5.线性变换&位移(区分概念)
线性变换必须要表示成一个向量乘一个矩阵=另一个向量,故位移不是线性变换。
二、Homogeneous Coordinates 齐次坐标
为了找到一个统一の办法统一表示这些变换,引入齐次坐标
1.Affine Transformations 仿射变换
增加维度:点补1,向量补0.原因:
向+向=向
点-点=向(向量具有平移不变性)
点+向=点(点の位移,第三维度仍为1)
点+点=中点(第三维度为2)
仍在描述一个二维的点,对于任意不为0的w,(x,y,w)表示的点就是(s/w,y/w,1)
引入齐次坐标为了把变换写成 矩阵x向量 形式。
用齐次坐标表示二维仿射变换时,最后一行永远是001,线性变换永远在矩阵最后一列。
将缩放、旋转、平移变换写成仿射变换形式。
2.Composing Transforms 复合变换
(1)例:绕指定点c旋转
1.先移回原点
2.旋转
3.移回点c
注:矩阵应用顺序从右到左,先应用的在右边和原始向量相乘。