D3DXVec4BaryCentric 函数 (D3dx9math.h)
注意
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 [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 坐标表示坐标系的变化。 对于笛卡尔坐标,其值为 true 对于 Barycentric 坐标。
此函数的返回值与 pOut 参数中返回的值相同。 这样, D3DXVec4BaryCentric 函数可用作另一个函数的参数。
条心坐标根据三角形的顶点定义三角形内的点。 有关条心坐标的更深入说明,请参阅 Mathworld 的 Barycentric 坐标说明。
要求
要求 | Value |
---|---|
标头 |
|
库 |
|
另请参阅