次の方法で共有


D3DXVec4BaryCentric 関数 (D3DX10Math.h)

注意

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

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

構文

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

パラメーター

pOut [in]

種類: D3DXVECTOR4*

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

pV1 [in]

型: const D3DXVECTOR4*

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

pV2 [in]

型: const D3DXVECTOR4*

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

pV3 [in]

型: const D3DXVECTOR4*

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

f [in]

型: 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」を参照してください。

要件

要件
ヘッダー
D3DX10Math.h

関連項目

数値演算関数