CSDN博客

img caimouse
博客专家

D3DXMatrixTransformation 函数

发表于2004/10/11 13:35:00  4141人阅读

D3DXMatrixTransformation 函数


创建一个变换矩阵。如果参数设置为NULL,就当作单位矩阵处理。

定义:

D3DXMATRIX *WINAPI D3DXMatrixTransformation(      

    D3DXMATRIX *pOut,
    CONST D3DXVECTOR3 *pScalingCenter,
    CONST D3DXQUATERNION *pScalingRotation,
    CONST D3DXVECTOR3 *pScaling,
    CONST D3DXVECTOR3 *pRotationCenter,
    CONST D3DXQUATERNION *pRotation,
    CONST D3DXVECTOR3 *pTranslation
);

参数:

pOut

[in, out] 指向D3DXMATRIX 结构的操作结果矩阵。

pScalingCenter

[in] 指向D3DXVECTOR3 结构的缩放中心点向量。如果为NULLMsc 矩阵就是单位矩阵。

pScalingRotation

[in] 指向D3DXQUATERNION 结构的缩放和旋转的四元组。如果参数为NULLMsr 矩阵就是单位矩阵。

pScaling

[in] 指向D3DXVECTOR3 结构的缩放向量。如果参数为NULLMs 矩阵就是单位矩阵。

pRotationCenter

[in] 指向D3DXVECTOR3 结构的旋转中心向量。如果参数为NULLMrc 矩阵是单位矩阵。

pRotation

[in] 指向D3DXQUATERNION 结构的旋转的四元组。如果参数为NULLMr 矩阵就是单位矩阵。

pTranslation

[in] 指向D3DXVECTOR3 结构的平移向量。如果参数是NULLMt 矩阵就是单位矩阵。

返回值:

指向 D3DXMATRIX 结构的变换矩阵。matrix.

 

说明:

本函数用下面的公式计算变换矩阵:

    Mout = (Msc)-1 * (Msr)-1 * Ms * Msr * Msc * (Mrc)-1 * Mr * Mrc * Mt

其中:

    Mout = 输出矩阵 (pOut)

    Msc = 缩放中心矩阵 (pScalingCenter)

    Msr = 缩放旋转矩阵 (pScalingRotation)

    Ms = 缩放矩阵 (pScaling)

    Mrc = 旋转中心矩阵 (pRotationCenter)

    Mr = 旋转矩阵 (pRotation)

    Mt = 平移矩阵 (pTranslation)

函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixTransformation作为其它函数的参数使用。

如果是2D的变换矩阵,就要用函数 D3DXMatrixTransformation2D。

函数信息:

Header

d3dx9math.h

Import library

d3dx9.lib

Minimum operating systems

Windows 98

相关函数:

D3DXMatrixAffineTransformation, Matrices

阅读全文
0 0

相关文章推荐

img
取 消
img