Platform SDK: DirectX

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
演算結果である D3DXMATRIX 構造体へのポインタ。
pScalingCenter
スケーリングの中心を識別する D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合、それは単位元として処理される。
pScalingRotation
スケーリング回転を指定する D3DXQUATERNION 構造体へのポインタ。この引数が NULL の場合、これは単位元として処理される。
pScaling
スケーリング ベクトルである D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合、それは単位元として処理される。
pRotationCenter
回転の中心を識別する D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合、それは単位元として処理される。
pRotation
回転を指定する D3DXQUATERNION 構造体へのポインタ。この引数が NULL の場合、それは単位元として処理される。
pTranslation
平行移動を表す D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合、それは単位元として処理される。

戻り値

トランスフォーム行列である D3DXMATRIX 構造体へのポインタ。

注意

D3DXMatrixTransformation 関数は、Msc-1 * Msr-1 * Ms * Msr * Msc * Mrc-1 * Mr * Mrc * Mt 式によりトランスフォーム行列を計算する。ただし、Msc は中心のスケーリング行列、Msr はスケーリング回転行列、Ms はスケーリング行列、Mrc は回転行列の中心、Mr は回転行列、Mt は平行移動行列である。

この関数の戻り値は、pOut パラメータの戻り値と同じである。このように、D3DXMatrixTransformation 関数を別の関数のパラメータとして使用できる。

動作環境

  Windows NT/2000 : Windows 2000 が必要。
  Windows 95/98 : Windows 95 以上が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 7.0 が必要。
  ヘッダー : d3dxmath.h で宣言。
  ライブラリ : d3dx.lib を使用。

参照

D3DXMatrixAffineTransformation