D3DXVec4BaryCentric 函数

Posted on 2011-09-30 12:33  bendanchenzhicheng  阅读(198)  评论(0编辑  收藏  举报

返回两个4-D向量组成三角形的重心坐标。

定义:

D3DXVECTOR4 *WINAPI D3DXVec4BaryCentric(      

    D3DXVECTOR4 *pOut,

    CONST D3DXVECTOR4 *pV1,

    CONST D3DXVECTOR4 *pV2,

    CONST D3DXVECTOR4 *pV3,

    FLOAT f,

    FLOAT g

);

参数:

pOut

[out, retval] 指向 D3DXVECTOR4 结构的操作结果。

pV1

[in] 指向 D3DXVECTOR4 结构的向量。

pV2

[in] 指向 D3DXVECTOR4 结构的向量。

pV3

[in] 指向 D3DXVECTOR4 结构的向量。

f

[in] 权重系数。看说明。

g

[in] 权重系数。看说明。

返回值:

指向D3DXVECTOR4 结构的重心坐标。

 

说明:

D3DXVec4BaryCentric函数主要用来说明三个点的关系。这个函数用下面的公式计算: V1 + f(V2-V1) + g(V3-V1)。

任何在V1V2V3 三角形平面里的点,都可以用重心坐标 ( f,g)表示出来。参数f控制V2 有多少重量,参数g 控制V3点有多少重量。最后1- fg 控制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上。

函数返回值跟pOut 参数返回值是一样的。这样可以让函数D3DXVec4BaryCentric作为其它函数的参数使用。

 

函数信息:

Header

d3dx9math.h

Import library

d3dx9.lib

Minimum operating systems

Windows 98

Copyright © 2024 bendanchenzhicheng
Powered by .NET 9.0 on Kubernetes