次の方法で共有


D3DXMatrixTransformation2D 関数 (D3DX10Math.h)

注意

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

xy 平面内の変換を表す 2D 変換マトリックスを作成します。 NULL 引数は、ID 変換として扱われます。

構文

D3DXMATRIX* D3DXMatrixTransformation2D(
  _Inout_       D3DXMATRIX  *pOut,
  _In_    const D3DXVECTOR2 *pScalingCenter,
  _In_          FLOAT       ScalingRotation,
  _In_    const D3DXVECTOR2 *pScaling,
  _In_    const D3DXVECTOR2 *pRotationCenter,
  _In_          FLOAT       Rotation,
  _In_    const D3DXVECTOR2 *pTranslation
);

パラメーター

pOut [in, out]

種類: D3DXMATRIX*

変換の結果を含む D3DXMATRIX 構造体へのポインター。

pScalingCenter [in]

型: const D3DXVECTOR2*

スケーリング センターを識別するポイントである D3DXVECTOR2 へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Msc 行列が適用されます。

ScalingRotation [in]

型: FLOAT

拡大縮小の回転係数へのポインター。

pScaling [in]

型: const D3DXVECTOR2*

D3DXVECTOR2 構造体 (スケールを識別するポイント) へのポインター。 この引数が NULL の場合は、「解説」の数式に ID Ms 行列が適用されます。

pRotationCenter [in]

型: const D3DXVECTOR2*

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

回転 [入力]

型: FLOAT

ラジアン単位の回転角度。

pTranslation [in]

型: const D3DXVECTOR2*

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

戻り値

種類: D3DXMATRIX*

変換行列を含む D3DXMATRIX 構造体へのポインター。

注釈

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

Mout = (Msc)⁻¹* (Msr)⁻¹* Ms * Msr * Msc * (Mrc)⁻¹* Mr * Mrc * Mt

ここで、

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

Msc = スケーリング センター マトリックス (pScalingCenter)

Msr = 拡大縮小回転行列 (pScalingRotation)

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

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

Mr = 回転行列 (回転)

Mt = 翻訳行列 (pTranslation)

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

3D 変換の場合は、 D3DXMatrixTransformation を使用します

要件

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

関連項目

数値演算関数