D3DXVec2BaryCentric 関数 (D3dx9math.h)

Note

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

指定した 2D ベクトルを使用して、Barycentric 座標内の点を返します。

構文

D3DXVECTOR2* D3DXVec2BaryCentric(
  _Out_       D3DXVECTOR2 *pOut,
  _In_  const D3DXVECTOR2 *pV1,
  _In_  const D3DXVECTOR2 *pV2,
  _In_  const D3DXVECTOR2 *pV3,
  _In_        FLOAT       f,
  _In_        FLOAT       g
);

パラメーター

pOut [out]

種類: D3DXVECTOR2*

操作の結果である D3DXVECTOR2 構造体へのポインター。

pV1 [in]

型: const D3DXVECTOR2*

ソース D3DXVECTOR2 構造体へのポインター。

pV2 [in]

型: const D3DXVECTOR2*

ソース D3DXVECTOR2 構造体へのポインター。

pV3 [in]

型: const D3DXVECTOR2*

ソース D3DXVECTOR2 構造体へのポインター。

f [in]

型: FLOAT

重み付け係数。 「解説」を参照してください。

g [in]

型: FLOAT

重み付け係数。 「解説」を参照してください。

戻り値

種類: D3DXVECTOR2*

Barycentric 座標の D3DXVECTOR2 構造体へのポインター。

解説

D3DXVec2BaryCentric 関数は、三角形が実際に配置されている場所とは関係なく、三角形内および三角形周辺の点を理解する方法を提供します。 この関数は、V1 + f(V2-V1) + g(V3-V1) の式を使用して、結果のポイントを返します。

平面 V1V2V3 内の任意の点は、Barycentric 座標 (f,g) で表すことができます。パラメーター f は、結果に加重される V2 の量を制御し、パラメーター g は結果に加重される V3 の量を制御します。 最後に、1-f-g は、結果に加重される V1 の量を制御します。

次の関係に注意してください。

  • (f>=0 &, & g>=0 &, & 1-f-g>=0) の場合、ポイントは三角形 V1V2V3 内にあります。
  • (f==0 &, & g>=0 &, & 1-f-g>=0) の場合、ポイントは V1V3 行目にあります。
  • (f>=0 &, & g==0 &, & 1-f-g>=0) の場合、ポイントは V1V2 行目にあります。
  • (f>=0 &, & g>=0 &, & 1-f-g==0) の場合、ポイントは V2V3 行目にあります。

Barycentric 座標は、一般的な座標の一種です。 このコンテキストでは、Barycentric 座標の使用は座標系の変化を表します。 デカルト座標に対して true を保持するものは、Barycentric 座標の場合は true を保持します。

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

Barycentric 座標は、三角形の頂点の観点から三角形内の点を定義します。 バーセントリック座標の詳細については、「 Mathworld の Barycentric Coordinates Description」を参照してください。 (このリソースは、一部の言語や国では使用できない場合があります)。

要件

要件
ヘッダー
D3dx9math.h
ライブラリ
D3dx9.lib

関連項目

数値演算関数