参考的是《游戏和图形学的3D数学入门教程》,算是读书笔记吧。

1.2D中的旋转

 

如果你要计算一个向量逆时针旋转一定的度数后得到的向量,很多书都只会给一个公式。类似下面的包含sin,cos的矩阵。跟这个相乘就行了。其实看下面这张图就会很清晰。

矩阵中的旋转(Rotation)_矩阵相乘

 

 

2.3D中的旋转

 

首先要说明的是我们这里用的是左手坐标,Z轴是朝里的。DirectX中也是左手坐标。左右手坐标旋转的相乘矩阵是不一样的!有上面的2D旋转得到的规律,我们用于3D旋转中。

 

2.1绕x轴旋转:

 

矩阵中的旋转(Rotation)_3d_02

上面这个矩阵的作用就是,如果你要让一个东西在3D中绕x轴旋转一定度数,那么跟上面这个矩阵相乘就行了。就是还要懂矩阵相乘,参考这篇文章:Matrix 矩阵,单位矩阵,Transposition,矩阵与矩阵相乘

 

2.2绕Y轴旋转

 

矩阵中的旋转(Rotation)_3d数学_03

上面这个矩阵的作用就是,如果你要让一个东西在3D中绕y轴旋转一定度数,那么跟上面这个矩阵相乘就行了。就是还要懂矩阵相乘,参考这篇文章:Matrix 矩阵,单位矩阵,Transposition,矩阵与矩阵相乘

2.3绕Z轴旋转

 

矩阵中的旋转(Rotation)_源地址_04

上面这个矩阵的作用就是,如果你要让一个东西在3D中绕z轴旋转一定度数,那么跟上面这个矩阵相乘就行了。就是还要懂矩阵相乘,参考这篇文章:Matrix 矩阵,单位矩阵,Transposition,矩阵与矩阵相乘

 

先到这里,转变到游戏引擎中的数学模块就非常简单了,就能理解了。