Microsoft DirectX 8.0 (C++)

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 関数を別の関数のパラメータとして使用できる。

動作環境

  ヘッダー : D3dx8math.h で宣言。
  インポート ライブラリ : D3dx8.lib を使用。

参照

D3DXMatrixAffineTransformation