Microsoft DirectX 8.0 (C++)

D3DXMatrixAffineTransformation

アフィン変換行列を作成する。

D3DXMATRIX* D3DXMatrixAffineTransformation(
  D3DXMATRIX* pOut,
  FLOAT scaling,
  CONST D3DXVECTOR3* pRotationCenter,
  CONST D3DXQUATERNION* pRotation,
  CONST D3DXVECTOR3* pTranslation
); 

パラメータ

pOut
[in, out] 演算結果である D3DXMATRIX 構造体へのポインタ。
scaling
[in] スケーリング係数。
pRotationCenter
[in] 回転の中心を識別するポイントである D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合は、回転しないと見なされる。
pRotation
[in] 回転を指定する D3DXQUATERNION 構造体へのポインタ。この引数が NULL の場合は、回転しないと見なされる。
pTranslation
[in] 平行移動を表す D3DXVECTOR3 構造体へのポインタ。この引数が NULL の場合は、平行移動しないと見なされる。

戻り値

アフィン変換行列である D3DXMATRIX 構造体へのポインタ。

注意

D3DXMatrixAffineTransformation 関数は、Ms * Mrc-1 * Mr * Mrc * Mt 式によりアフィン変換行列を算出する。ここで、Ms はスケール行列、Mrc は回転行列の中心、Mr は回転行列、Mt は平行移動行列である。

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

動作環境

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