D3DXVec4CatmullRom 函数

本文介绍了D3DXVec4CatmullRom函数,该函数用于在4 - D向量之间进行Catmull - Rom插值。文中给出了函数定义、参数说明、返回值,还阐述了函数的具体插值条件及公式,最后提及了相关函数。

D3DXVec4CatmullRom 函数

4-D向量之间进行Catmull-Rom插值。

定义:

D3DXVECTOR4*WINAPID3DXVec4CatmullRom(

D3DXVECTOR4*pOut,

const D3DXVECTOR4*pV0,

const D3DXVECTOR4*pV1,

const D3DXVECTOR4*pV2,

const D3DXVECTOR4*pV3,

FLOATs

);

Parameters

pOut

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

pV0

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

pV1

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

pV2

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

pV3

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

s

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

返回值:

指向 D3DXVECTOR4 结构的Catmull-Rom插值结果。

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

说明:

比如给四点 (p1, p2, p3, p4),要找一个函数Q(s)满足下面的条件:

Q(s) 是一个三次函数。

Q(s) 是当s范围从0到1时在p2 和p3 之间插值。

Q(s) 是当s为0时,它平行于p1 到 p3的连接线。

Q(s) 是当s为1时,它平行p2 到 p4的连线。

v1 = p2

v2 = p3

t1 = (p3 - p1) / 2

t2 = (p4 - p2) / 2

Q(s) = (2s3 - 3s2 + 1)v1 + (-2s3 + 3s2)v2 + (s3 - 2s2 + s)t1 + (s3 - s2)t2

Q(s) = (2s3 - 3s2 + 1)p2 + (-2s3 + 3s2)p3 + (s3 - 2s2 + s)(p3 - p1) / 2 + (s3 - s2)(p4 - p2) / 2

整理如下:

Q(s) = [(-s3 + 2s2 - s)p1 + (3s3 - 5s2 + 2)p2 + (-3s3 + 4s2 + s)p3 + (s3 - s2)p4] / 2

函数信息:

Header

d3dx9math.h

Import library

d3dx9.lib

Minimum operating systems

Windows98

函数相关:

D3DXVec2CatmullRom, D3DXVec3CatmullRom


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值