目录
为什么要变换
例子:
- 在场景中进行位置移动
- 对主体进行关节移动、旋转等
- 缩放动画
- (从三维到二维等)投影也是一种变换
把矩阵与变换联系起来
缩放
方程形式:
x= sx y
= sy
矩阵形式:
当缩放不是均匀的时:
反射操作(对称操作):
切变(Shear Matrix)
旋转
规定:
- 任何时候说旋转都是指“绕原点(0,0)旋转”
- 不说旋转方向时都是指逆时针旋转
旋转矩阵
推导方式:
取图形的特殊点,与未知矩阵相乘,解方程得到矩阵中每一个元素的值
写成方程的形式:
齐次坐标(重要)
为什么要引入齐次坐标
原因:平移变换的式子不能写成矩阵形式
引入齐次坐标
引入齐次坐标,能够用统一的方法去表示所有的变换,包括上面提到的平移
“点+向量 = 点” 的理解:一个点沿着一个向量移动,到了另一个点的位置
在齐次坐标下,一个点加另一个点,表示的就是这两个点的中点
仿射变换(用齐次坐标)
前面所学变换的齐次坐标表示
逆变换(与之后变换的合成相关)
变换的组合
- 复杂的变换可以通过一系列简单的变换得到
- 变幻的顺序是非常重要的(呼应了“矩阵的乘法不满足交换律”,也拜赐于旋转中心永远在原点(0,0))
- 乘变换矩阵时是从右往左乘。例如,向量a先旋转45°,再平移1个单位,则应在a的左边先乘旋转45°的矩阵,再在左边乘以平移的矩阵。
变换的分解
怎样围绕一个给定的点c旋转
先移到原点,再旋转,再平移
三维变换