CSDN博客

img caimouse
博客专家

D3DXMatrixTransformation2D 函数

发表于2004/10/11 13:39:00  5991人阅读

分类: Direct3D

D3DXMatrixTransformation2D 函数


创建2D的变换矩阵,就是在XY平面内变换矩阵。如果参数为NULL就当作单位矩阵看待。

定义:

D3DXMATRIX *WINAPI D3DXMatrixTransformation2D(      

    D3DXMATRIX *pOut,
    CONST D3DXVECTOR2 *pScalingCenter,
    FLOAT *pScalingRotation,
    CONST D3DXVECTOR2 *pScaling,
    CONST D3DXVECTOR2 *pRotationCenter,
    FLOAT Rotation,
    CONST D3DXVECTOR2 *pTranslation
);

参数:

pOut

[in, out] 指向 D3DXMATRIX 结构的变换矩阵。

pScalingCenter

[in] 指向D3DXVECTOR2 结构的缩放中心向量。如果参数为NULLMsc 矩阵为单位矩阵。

pScalingRotation

[in] 指向缩放旋转系数。

pScaling

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

pRotationCenter

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

Rotation

[in] 旋转角度。

pTranslation

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

返回值:

指向D3DXMATRIX 结构的变换矩阵。

 

说明:

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

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

其中:

    Mout = 输出矩阵 (pOut)

    Msc = 缩放中心矩阵 (pScalingCenter)

    Msr = 缩放旋转矩阵 (pScalingRotation)

    Ms = 缩放矩阵 (pScaling)

    Mrc = 旋转矩阵的中心 (pRotationCenter)

    Mr = 旋转矩阵 (Rotation)

    Mt = 平移矩阵 (pTranslation)

函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXMatrixTransformation2D作为其它函数的参数使用。如果创建3D变换矩阵要使用函数D3DXMatrixTransformation。

函数信息:

Header

d3dx9math.h

Import library

d3dx9.lib

Minimum operating systems

Windows 98

相关函数:

D3DXMatrixAffineTransformation2D, Matrices



阅读全文
0 0

相关文章推荐

img
取 消
img