次の方法で共有


D3DXVec4BaryCentric 関数 (D3dx9math.h)

Note

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

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

構文

D3DXVECTOR4* D3DXVec4BaryCentric(
  _Out_       D3DXVECTOR4 *pOut,
  _In_  const D3DXVECTOR4 *pV1,
  _In_  const D3DXVECTOR4 *pV2,
  _In_  const D3DXVECTOR4 *pV3,
  _In_        FLOAT       f,
  _In_        FLOAT       g
);

パラメーター

pOut [out]

種類: D3DXVECTOR4*

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

pV1 [in]

型: const D3DXVECTOR4*

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

pV2 [in]

型: const D3DXVECTOR4*

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

pV3 [in]

型: const D3DXVECTOR4*

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

f [入力]

型: FLOAT

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

g [in]

型: FLOAT

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

戻り値

種類: D3DXVECTOR4*

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

解説

D3DXVec4BaryCentric 関数は、三角形が実際に配置されている場所とは関係なく、三角形内および三角形の周囲の点を理解する方法を提供します。 この関数は、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 パラメーターで返される値と同じです。 このようにして、 D3DXVec4BaryCentric 関数を別の関数のパラメーターとして使用できます。

Barycentric 座標は、三角形の頂点に関して三角形内の点を定義します。 バリセントリック座標の詳細な説明については、「 Mathworld の Barycentric Coordinates Description」を参照してください。

要件

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

関連項目

数値演算関数