缩放:
对称
切变
旋转
考虑(1.0)这个点
同理考虑(0,1)点即可
齐次方程
考虑在二维的坐标点后面增加一个维度
所有的仿射变换都可以写成齐次坐标的形式
a b
c d
是线性变换
tx ty 是平移;
统一缩放 选择 平移的表示形式;代价是增加一个维度
变换之间的组合:
矩阵之间的变换不满足交换律,先后顺序影响最终的变换效果
坐标是一个列向量,施加的矩阵会从右到左使用R45 T(1,0)
如何将一个非原点 C 进行旋转
(1)平移到原点 T(-C)
(2)在原点进行旋转
(3) 平移到点C
三维空间
三维空间的一个 (x y z w)表示的是 (x/w,y/w,z/w)这个点
它是先应用线性变换后 再平移:
三维空间中的沿着轴n的旋转 a可以被分解为
旋转的逆运算=旋转的转置
如果一个矩阵的逆= 转置 则为正交矩阵
观测 viewing
- view 视图
- projection 投影
- 正交投影 orthographic projection
- 透视 perspective projection
如何得到一张照片:
(1)找到一个好的位置并且聚集好人(模型变换)
(2)找到一个好的角度防止相机(视图变换)
(3)拍摄(投影变换)
视图变换
位置 看的方向 向上的方向 可以定义相机=》
将任意点相机转换到在原点 Y轴为向上方向 朝着-Z方向
考虑 旋转矩阵的逆 = 转置;考虑 g 到-z ,t 到 y (gxt)到x 的逆运算如上,在转置则是正运算
投影变换
透视投影导致 “近大远小”
正交投影
一般的做法;
将立方体移动到坐标轴中心;
x 轴:[l,r] 左右 l<r
y轴:[b,t] 下上,b<t
z轴:f,n 远近,f<n;从 z 轴正方向向负方向观测,
透视投影
坐标系中的每个点同时乘z,还是在坐标系中
(1)近平面不变;远平面向中心压缩至和近平面一致,且中心点不变;近平面即左边小的屏幕,z轴正方向
(2)做正交投影
考虑远平面上一点:0 0 f