D3DXMatrixTransformation 関数
D3DXMatrixTransformation 関数
トランスフォーム行列を作成する。
構文
D3DXMATRIX *D3DXMatrixTransformation(
D3DXMATRIX *pOut,
CONST D3DXVECTOR3 *pScalingCenter,
CONST D3DXQUATERNION *pScalingRotation,
CONST D3DXVECTOR3 *pScaling,
CONST D3DXVECTOR3 *pRotationCenter,
CONST D3DXQUATERNION *pRotation,
CONST D3DXVECTOR3 *pTranslation
);
パラメータ
- pOut
[in, out] 演算結果である D3DXMATRIX 構造体へのポインタ。 - pScalingCenter
[in] スケーリングの中心点を識別する D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合は、平行移動しないと見なされる。 - pScalingRotation
[in] スケーリングの回転を指定する D3DXQUATERNION 構造体へのポインタ。 この引数が NULL の場合は、スケールしないと見なされる。 - pScaling
[in] スケーリング ベクトルである D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合は、平行移動しないと見なされる。 - pRotationCenter
[in] 回転の中心を識別する D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合は、平行移動しないと見なされる。 - pRotation
[in] 回転を指定する D3DXQUATERNION 構造体へのポインタ。この引数が NULL の場合は、平行移動しないと見なされる。 - pTranslation
[in] 平行移動を表す D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合は、平行移動しないと見なされる。
戻り値
トランスフォーム行列である D3DXMATRIX 構造体へのポインタ。
注意
D3DXMatrixTransformation 関数は、次の式を使ってトランスフォーム行列を計算する :(Msc)-1 * (Msr)-1 * Ms * Msr * Msc * (Mrc)-1 * Mr * Mrc * Mt。 ここで、Msc は中心のスケーリング行列、Msr はスケーリング回転行列、Ms はスケーリング行列、Mrc は回転行列の中心、Mr は回転行列、Mt は平行移動行列である。
この関数の戻り値は、pOut パラメータの戻り値と同じである。したがって、D3DXMatrixTransformation 関数を別の関数の引数として使える。
関数の情報
ヘッダー | d3dx9math.h |
インポート ライブラリ | d3dx9.lib |
最低限のオペレーティング システム | Windows 98 |
参照