矩阵二

75次阅读

共计 683 个字符,预计需要花费 2 分钟才能阅读完成。

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

矩阵定义旋转

2D 向量的旋转


3D 向量的旋转

绕 X 轴的旋转矩阵


绕 Y 轴的旋转矩阵


绕 Z 轴的旋转矩阵

任意轴的旋转矩阵

向量的投影公式

向量绕任意轴的旋转




缩放矩阵

2D 向量缩放


3D 向量缩放

任意方向的缩放

2D 向量的任意方向缩放



3D 向量的任意方向缩放


正交投影矩阵

2D 正交投影矩阵

3D 正交投影矩阵

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


任意方向的投影

2D 任意方向投影

3D 的任意方向投影

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

镜像矩阵

2D 镜像投影

3D 镜像矩阵

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

切变矩阵:

2D 切变矩阵


3D 切变矩阵




矩阵变换的组合:

根据矩阵的结合律,对于向量和多个矩阵相乘,可以先把矩阵相乘,结果成一个矩阵,再和向量相乘,从而提高效率。如:vABCD 等于先把矩阵 ABCD 相乘,得到的一个结果矩阵 M,再使用向量 v 和这个矩阵相乘,即:vABCD=v(ABCD)=vM,如果一个物体需要从物理坐标系转换到世界坐标系,再从世界坐标系转换到屏幕坐标系,那么先把各个坐标系转换的矩阵相乘,得到一个结果矩阵,再用物体和这个结果矩阵相乘,那么就大大的提高了效率了。

本篇参考了《3D 数学基础:图形与游戏开发》这本书的内容。

正文完
 0