多语言展示
当前在线:1241今日阅读:195今日分享:14

DX怎样创建变换矩阵

在进行 DirectX 游戏开发时,一般是通过使用变换矩阵来改变几何空间中的物体。在这个过程中,我们可以通过为缩放、旋转、平移这三种变换分别构建不同的变换矩阵来实现我们的目标。
工具/原料

DirectX

一、实现变换的大体思路
1

首先,根据需要进行的变换创建一个 4×4 矩阵。

2

再将点或向量转为齐次坐标,即一个 1×4 行向量。

3

最后,用齐次坐标乘以变换矩阵,得到一个新的行向量,它就是变换后的点或向量。

二、变换矩阵
1

缩放矩阵:当我们需要对一个物体改变大小时,就需要创建缩放矩阵。缩放矩阵的创建方法如图所示。

2

旋转矩阵:当我们需要对一个物体进行旋转时,就需要创建旋转矩阵。旋转矩阵的创建方法如图所示。

3

平移矩阵:当我们需要对一个物体进行移动时,就需要创建平移矩阵。平移矩阵的创建方法如图所示。其中,bx, by, bz 分别代表在 x, y, z 轴上的平移值。

4

组合变换矩阵:有时候,我们可能需要对物体同时进行缩放、旋转、平移,这时可以先将相应的变换矩阵相乘得到一个组合后的变换矩阵,然后再与需要进行变换的点或向量相乘。这样与分别与每个变换矩阵相乘相比,可以提高程序执行效率。

注意事项

变换矩阵支持结合律,但不支持交换律。比如说,一个物体先平移再旋转与先旋转再平移得到的效果是不同的。

推荐信息