次の方法で共有


D3DXMatrixAffineTransformation 関数 (D3DX10Math.h)

Note

D3DX ユーティリティ ライブラリは非推奨です。 代わりに DirectXMath を使用することをお勧めします。

3D アフィン変換行列を作成します。 NULL 引数は、ID 変換として扱われます。

構文

D3DXMATRIX* D3DXMatrixAffineTransformation(
  _In_       D3DXMATRIX     *pOut,
  _In_       FLOAT          Scaling,
  _In_ const D3DXVECTOR3    *pRotationCenter,
  _In_ const D3DXQUATERNION *pRotation,
  _In_ const D3DXVECTOR3    *pTranslation
);

パラメーター

pOut [in]

種類: D3DXMATRIX*

操作の結果である D3DXMATRIX へのポインター。

スケーリング [入力]

型: FLOAT

拡大縮小率。

pRotationCenter [in]

型: const D3DXVECTOR3*

回転の中心を識別するポイントである D3DXVECTOR3 へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Mrc 行列が適用されます。

pRotation [in]

型: const D3DXQUATERNION*

回転を指定する D3DXQUATERNION へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Mr 行列が適用されます。

pTranslation [in]

型: const D3DXVECTOR3*

変換を表す D3DXVECTOR3 構造体へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Mt 行列が適用されます。

戻り値

種類: D3DXMATRIX*

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

注釈

この関数は、次の数式を使用してアフィン変換行列を計算し、行列連結を左から右の順序で評価します。

Mout = Ms * (Mrc)-1 * Mr * Mrc * Mt

ここで、

Mout = 出力マトリックス (pOut)

Ms = スケーリング マトリックス (スケーリング)

Mrc = 回転行列の中心 (pRotationCenter)

Mr = 回転行列 (pRotation)

Mt = 翻訳行列 (pTranslation)

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

2D アフィン変換の場合は、D3DXMatrixAffineTransformation2D を使用します。

要件

要件
ヘッダー
D3DX10Math.h
ライブラリ
D3DX10.lib

関連項目

数値演算関数