共用方式為


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座標描述

需求

需求
頁首
D3dx9math.h
程式庫
D3dx9.lib

另請參閱

數學函式