D3DXMatrixTransformation 函式 (D3DX10Math.h)
注意
D3DX10 公用程式程式庫已被取代。 建議您改用 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。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
另請參閱