共用方式為


D3DXMatrixTransformation 函式 (D3dx9math.h)

注意

D3DX 公用程式程式庫已被取代。 建議您改用 DirectXMath

建置轉換矩陣。 Null 引數會被視為身分識別轉換。

語法

D3DXMATRIX* D3DXMatrixTransformation(
  _Inout_       D3DXMATRIX     *pOut,
  _In_    const D3DXVECTOR3    *pScalingCenter,
  _In_    const D3DXQUATERNION *pScalingRotation,
  _In_    const D3DXVECTOR3    *pScaling,
  _In_    const D3DXVECTOR3    *pRotationCenter,
  _In_    const D3DXQUATERNION *pRotation,
  _In_    const D3DXVECTOR3    *pTranslation
);

參數

pOut [in, out]

類型: D3DXMATRIX*

D3DXMATRIX結構的指標,這是作業的結果。

pScalingCenter [in]

類型:const D3DXVECTOR3*

D3DXVECTOR3結構的指標,識別縮放中心點。 如果這個引數為 Null,則會將身分識別 Msc 矩陣套用至「備註」中的公式。

pScalingRotation [in]

類型:const D3DXQUATERNION*

指定縮放旋轉之 D3DXQUATERNION 結構的指標。 如果這個引數為 Null,則識別 Msr 矩陣會套用至「備註」中的公式。

pScaling [in]

類型:const D3DXVECTOR3*

D3DXVECTOR3結構的指標,即縮放向量。 如果這個引數為 Null,則會將識別 Ms 矩陣套用至「備註」中的公式。

pRotationCenter [in]

類型:const D3DXVECTOR3*

D3DXVECTOR3結構的指標,這是識別旋轉中心點。 如果這個引數為 Null,則會將識別 Mrc 矩陣套用至「備註」中的公式。

pRotation [in]

類型:const D3DXQUATERNION*

指定旋轉的 D3DXQUATERNION 結構的指標。 如果這個引數為 Null,則會將身分識別 Mr 矩陣套用至「備註」中的公式。

pTranslation [in]

類型:const D3DXVECTOR3*

表示翻譯的 D3DXVECTOR3 結構的指標。 如果此引數為 Null,則會將身分識別 Mt 矩陣套用至「備註」中的公式。

傳回值

類型: D3DXMATRIX*

D3DXMATRIX結構的指標,這是轉換矩陣。

備註

此函式會使用下列公式計算轉換矩陣,並以從左至右的順序評估矩陣串連:

Mout = (Msc) ⁻ー * (Msr) ⁻ー* Ms * Msr * Msc * (Mrc) ⁻ー* Mr * Mrc * Mt

其中:

Mout = 輸出矩陣 (pOut)

Msc = 調整中心矩陣 (pScalingCenter)

Msr = 縮放旋轉矩陣 (pScalingRotation)

Ms = 調整矩陣 (pScaling)

Mrc = 旋轉矩陣的中心 (pRotationCenter)

Mr = 旋轉矩陣 (pRotation)

Mt = 轉譯矩陣 (pTranslation)

此函式的傳回值與 pOut 參數中傳回的值相同。 如此一來, D3DXMatrixTransformation 函式就可以當做另一個函式的參數使用。

針對 2D 轉換,請使用 D3DXMatrixTransformation2D

規格需求

需求
標頭
D3dx9math.h
程式庫
D3dx9.lib

另請參閱

數學函式

D3DXMatrixAffineTransformation

轉換 (Direct3D 9)