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

参照

D3DXMatrixAffineTransformation