D3DXMatrixTranslation D3D中的平移函数

来源:互联网 发布:知豆高速没电了怎么办 编辑:程序博客网 时间:2024/05/18 20:13

在3D里平移矩阵,应是使用最多的矩阵,由于每个物体相对位置,总是通过平移矩阵来变换出来。物体的整体移动,就是坐标
点的移动。比如从点(x,y,z)移动到新的位置(x', y', z'),就可以使用下面的矩阵乘法实现:
= ×
上面的表示了X轴,Y轴,Z轴的平移距离。在D3D提供了平移函数D3DXMatrixTranslation,使用这个函数就可以设置一个平移矩
阵。它的具体参数如下:
D3DXMATRIX * D3DXMatrixTranslation(
D3DXMATRIX * pOut,
FLOAT x,
FLOAT y,
FLOAT z
);
第一个参数是返回平移矩阵,第二个参数是X轴的平移量,第三个参数是Y轴的平移量,第四个参数是Z轴的平移量。
比如要沿着Z轴的正方向平移5个单位,就需要按下面来设置平移矩阵:
D3DXMATRIX mTrans;
D3DXMatrixTranslation(&mTrans,0,0,5);
比如:我创建了一个茶壶: D3DXCreateTeapot( Device, &Objects, 0); 我把他平移一下: D3DXMatrixTranslation(&Objects, -5.0f, 0.0f, 5.0f);