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」を参照してください。
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|
関連項目