D3DXVec3BaryCentric 函式 (D3dx9math.h)
注意
D3DX 公用程序連結庫已被取代。 建議您改用 DirectXMath 。
使用指定的 3D 向量,傳回 Barycentric 座標中的點。
語法
D3DXVECTOR3* D3DXVec3BaryCentric(
_Out_ D3DXVECTOR3 *pOut,
_In_ const D3DXVECTOR3 *pV1,
_In_ const D3DXVECTOR3 *pV2,
_In_ const D3DXVECTOR3 *pV3,
_In_ FLOAT f,
_In_ FLOAT g
);
參數
-
pOut [out]
-
類型: D3DXVECTOR3*
作業結果D3DXVECTOR3結構的指標。
-
pV1 [in]
-
類型: const D3DXVECTOR3*
來源 D3DXVECTOR3 結構的指標。
-
pV2 [in]
-
類型: const D3DXVECTOR3*
來源 D3DXVECTOR3 結構的指標。
-
pV3 [in]
-
類型: const D3DXVECTOR3*
來源 D3DXVECTOR3 結構的指標。
-
f [in]
-
類型: FLOAT
加權因數。 請參閱<備註>。
-
g [in]
-
類型: FLOAT
加權因數。 請參閱<備註>。
傳回值
類型: D3DXVECTOR3*
Barycentric 座標中D3DXVECTOR3結構的指標。
備註
D3DXVec3BaryCentric 函式提供一種方式來瞭解三角形中和周圍的點,與三角形實際所在的位置無關。 此函式會使用下列方程式傳回產生的點: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。
此函式的傳回值與 pOut 參數中傳回的值相同。 如此一來, D3DXVec3BaryCentric 函式就可以當做另一個函式的參數使用。
Barycentric 座標會根據三角形的頂點定義三角形內部的點。 如需Barycentric座標的更深入描述,請參閱 Mathworld的Barycentric座標描述。
需求
需求 | 值 |
---|---|
頁首 |
|
程式庫 |
|
另請參閱