在计算机几何图形中,矩阵的作用可以定义旋转,平移,缩放,投影,镜像等等,在三维设计软件中,对于物体的操作尤其重要。本篇需要用到向量的点乘和叉乘相关知识点和矩阵的基本概念,如果对向量和矩阵不太熟悉,可以先理解向量和矩阵的基本知识再来看本篇。
矩阵定义旋转
2D向量的旋转


3D向量的旋转

绕X轴的旋转矩阵


绕Y轴的旋转矩阵

![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BtwcCMvG-1590800890153)(https://i.loli.net/2020/05/30/T7gbPJBDCLHGZVA.png)]](https://i-blog.csdnimg.cn/blog_migrate/89c300b9d328709949024c9bc219f932.png)
绕Z轴的旋转矩阵

任意轴的旋转矩阵
向量的投影公式

向量绕任意轴的旋转




缩放矩阵
2D向量缩放


3D向量缩放

任意方向的缩放
2D向量的任意方向缩放



3D向量的任意方向缩放


正交投影矩阵
2D正交投影矩阵

3D正交投影矩阵
同样的道理,3D的正交投影矩阵是把三维的向量变成二维的向量。



任意方向的投影
2D任意方向投影

3D的任意方向投影
和2D矩阵的类似,3D的任意方向投影矩阵可以想象为任意方向的缩放,并且缩放因子k=0,使用3D任意方向缩放推导,3D的任意方向缩放矩阵:

镜像矩阵
2D镜像投影

3D镜像矩阵
根据3D任意方向缩放的矩阵,把k=-1即可得到3D镜像矩阵:

切变矩阵:
2D切变矩阵


3D切变矩阵
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FCMChMae-1590800890169)(https://i.loli.net/2020/05/30/Rcf6eVvEpYrtDHg.png)]](https://i-blog.csdnimg.cn/blog_migrate/a7dbfd1c1f339d06ae90c4459ee56459.png)



矩阵变换的组合:
根据矩阵的结合律,对于向量和多个矩阵相乘,可以先把矩阵相乘,结果成一个矩阵,再和向量相乘,从而提高效率。如:vABCD等于先把矩阵ABCD相乘,得到的一个结果矩阵M,再使用向量v和这个矩阵相乘,即:vABCD=v(ABCD)=vM,如果一个物体需要从物理坐标系转换到世界坐标系,再从世界坐标系转换到屏幕坐标系,那么先把各个坐标系转换的矩阵相乘,得到一个结果矩阵,再用物体和这个结果矩阵相乘,那么就大大的提高了效率了。
本篇参考了《3D数学基础:图形与游戏开发》这本书的内容。
1162

被折叠的 条评论
为什么被折叠?



