D3DXMatrixTransformation2D 関数 (D3dx9math.h)
注意
D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。
xy 平面内の変換を表す 2D 変換行列を作成します。 NULL 引数は ID 変換として扱われます。
構文
D3DXMATRIX* D3DXMatrixTransformation2D(
_Inout_ D3DXMATRIX *pOut,
_In_ const D3DXVECTOR2 *pScalingCenter,
_In_ FLOAT pScalingRotation,
_In_ const D3DXVECTOR2 *pScaling,
_In_ const D3DXVECTOR2 *pRotationCenter,
_In_ FLOAT Rotation,
_In_ const D3DXVECTOR2 *pTranslation
);
パラメーター
-
pOut [in, out]
-
種類: D3DXMATRIX*
変換の結果を含む D3DXMATRIX 構造体へのポインター。
-
pScalingCenter [in]
-
型: const D3DXVECTOR2*
D3DXVECTOR2 構造体へのポインター。スケーリング センターを識別するポイント。 この引数が NULL の場合は、「解説」の数式に ID Msc 行列が適用されます。
-
pScalingRotation [in]
-
型: FLOAT
拡大縮小の回転係数。
-
pScaling [in]
-
型: const D3DXVECTOR2*
D3DXVECTOR2 構造体へのポインター。スケールを識別するポイント。 この引数が NULL の場合は、「解説」の数式に ID Ms 行列が適用されます。
-
pRotationCenter [in]
-
型: const D3DXVECTOR2*
D3DXVECTOR2 構造体へのポインター。回転中心を識別するポイント。 この引数が NULL の場合は、「解説」の数式に ID Mrc 行列が適用されます。
-
回転 [入力]
-
型: FLOAT
ラジアン単位の回転角度。
-
pTranslation [in]
-
型: const D3DXVECTOR2*
変換を識別する D3DXVECTOR2 構造体へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Mt 行列が適用されます。
戻り値
種類: D3DXMATRIX*
変換行列を含む D3DXMATRIX 構造体へのポインター。
解説
この関数は、次の数式を使用して変換行列を計算し、行列連結は左から右の順序で評価されます。
Mout = (Msc)⁻¹* (Msr)⁻¹* Ms * Msr * Msc * (Mrc)⁻¹* Mr * Mrc * Mt
ここで、
Mout = 出力マトリックス (pOut)
Msc = スケーリング センター マトリックス (pScalingCenter)
Msr = 回転行列のスケーリング (pScalingRotation)
Ms = スケーリング マトリックス (pScaling)
Mrc = 回転行列の中心 (pRotationCenter)
Mr = 回転行列 (回転)
Mt = 翻訳行列 (pTranslation)
この関数の戻り値は、pOut パラメーターで返される値と同じです。 このようにして、 D3DXMatrixTransformation2D 関数を別の関数のパラメーターとして使用できます。
3D 変換の場合は、 D3DXMatrixTransformation を使用します。
必要条件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
関連項目