D3DXMatrixAffineTransformation 関数 (D3DX10Math.h)
Note
D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。
3D アフィン変換行列を作成します。 NULL 引数は、ID 変換として扱われます。
構文
D3DXMATRIX* D3DXMatrixAffineTransformation(
_In_ D3DXMATRIX *pOut,
_In_ FLOAT Scaling,
_In_ const D3DXVECTOR3 *pRotationCenter,
_In_ const D3DXQUATERNION *pRotation,
_In_ const D3DXVECTOR3 *pTranslation
);
パラメーター
-
pOut [in]
-
種類: D3DXMATRIX*
操作の結果である D3DXMATRIX へのポインター。
-
スケーリング [入力]
-
型: FLOAT
拡大縮小率。
-
pRotationCenter [in]
-
型: const D3DXVECTOR3*
回転の中心を識別するポイントである D3DXVECTOR3 へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Mrc 行列が適用されます。
-
pRotation [in]
-
型: const D3DXQUATERNION*
回転を指定する D3DXQUATERNION へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Mr 行列が適用されます。
-
pTranslation [in]
-
型: const D3DXVECTOR3*
変換を表す D3DXVECTOR3 構造体へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Mt 行列が適用されます。
戻り値
種類: D3DXMATRIX*
アフィン変換行列である D3DXMATRIX 構造体へのポインター。
注釈
この関数は、次の数式を使用してアフィン変換行列を計算し、行列連結を左から右の順序で評価します。
Mout = Ms * (Mrc)-1 * Mr * Mrc * Mt
ここで、
Mout = 出力マトリックス (pOut)
Ms = スケーリング マトリックス (スケーリング)
Mrc = 回転行列の中心 (pRotationCenter)
Mr = 回転行列 (pRotation)
Mt = 翻訳行列 (pTranslation)
この関数の戻り値は、pOut パラメーターで返される値と同じです。 このようにして、D3DXMatrixAffineTransformation 関数を別の関数のパラメーターとして使用できます。
2D アフィン変換の場合は、D3DXMatrixAffineTransformation2D を使用します。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
関連項目