这里通过数学的角度理解一下矩阵的平移,缩放和旋转
假设一个向量为vec=(x,y,z,w),
其中w=1表示向量,w=0表示方向
如果w=0,那么平移就没有意义,也就是说平移一个方向没有意义,为何可以在下面的公式看得处.
假设一个矩阵为
`
mat=
a1 a2 a3 a
b1 b2 b3 b
c1 c2 c3 c
0 0 0 0 ,
//那么向量乘矩阵的结果为
x=a1x+a2y+a3z+a
y=b1x+b2y+b3z+b
z=c1x+c2y+c3z+c
w=1 ,
`
观察结果,如果红色框部分为单位向量的话,那a,b,c分别为下x,y,z移动距离的话,就不难理解了
缩放矩阵的话,如果a1,b2,c3的值外,其余为0的话,那么a1,b2,c3的值便是x,y,z的缩放值
如果是旋转矩阵,假设我们是绕Z轴旋转,那结果公式中Z轴不应变化,所以c1,c2为0,
假设旋转角度为α,则a1=cosα,a2=sinα,b1=-sinα,b2=conα,原理大概就是a1,b2控制x,y缩放,a2,b1控制x,y旋转,如果想详细了解原理,推荐看这个线性代数详解;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。