XMVectorBaryCentric 函数 (directxmath.h)

使用指定的位置向量返回以 Barycentric 坐标表示的点。

语法

XMVECTOR XM_CALLCONV XMVectorBaryCentric(
  [in] FXMVECTOR Position0,
  [in] FXMVECTOR Position1,
  [in] FXMVECTOR Position2,
  [in] float     f,
  [in] float     g
) noexcept;

参数

[in] Position0

第一个位置。

[in] Position1

第二个位置。

[in] Position2

第三个位置。

[in] f

加权系数。 请参阅“备注”。

[in] g

加权系数。 请参阅“备注”。

返回值

返回 Barycentric 坐标。

注解

此函数提供了一种独立于三角形所在位置的三角形及其周围点的了解方法。 此函数使用以下公式返回结果点: Position0> + f> (Position1-Position0>) + g> (Position2-Position0>) 。

Position0>Position1>Position2> 平面中的任何点都可以由 barycentric 坐标 (f,g>>) 表示,其中 f> 控制 Position1> 在结果中加权的量,g> 控制 Position2> 在结果中加权的量。 最后,1-f-g>> 控制 Position0> 在结果中加权的量。

请注意以下关系。

  • 如果 (f>=0 && g>=0 && 1-f-g>=0) ,则点位于三角形 Position0>Position1>Position2> 内。
  • 如果 (f==0 && g>=0 && 1-f-g>=0) ,则点位于 Line Position0>Position2> 上。
  • 如果 (f>=0 && g==0 && 1-f-g>=0) ,则点位于 Line Position0>Position1> 上。
  • 如果 (f>=0 && g>=0 && 1-f-g==0) ,则点位于 Line Position1>Position2> 上。
Barycentric 坐标是一种通用坐标形式。 在此上下文中,使用 Barycentric 坐标表示坐标系的变化。 对于大中心坐标,笛卡尔坐标的值为 true。

平台要求

Microsoft Visual Studio 2010 或 Microsoft Visual Studio 2012 与 Windows SDK for Windows 8。 支持 Win32 桌面应用、Windows 应用商店应用和 Windows Phone 8 应用。

要求

要求
目标平台 Windows
标头 directxmath.h (包括 DirectXMath.h)

另请参阅

几何矢量函数

XMVectorBaryCentricV