D3D中的向量

DD33DD中的向量 
D3DXVECTOR3
DD33DDXXVVEECCTTOORR33表示三维向量; 
**向量相等 
1 .通过“==”来判断向量是否相等,具体如下: 
D3DXVECTOR3   U( 1. 0F, 0. 0F, 1. 0F); 
D3DXVECTOR3   v( 0. 0F, 1. 0F, 0. 0F); 
If (u==v)return true ; 
If (u!=v)return false ; 
2 .判断浮点时应该定义一个“EPSILON”变量,如果两个浮点之间的差距小于 
EPSILON就认为两个浮点数相等,具体如下: 
const float  EPSILON = 0. 001f; 
15
bool  Equals(float  1hs,float rhs) 
Return  fabs(1hs - rhs)<EPSILON; 
} //完全不用在意这些事,因为D3DXVECTOR3的重载运算符已经完成了这些
功能 
*D3D 
**DD33DD向量模的计算 
表示向量长度: 
FLOAT   D3DXVec3Length 
CONST D3DXVECTOR3  *PV             //需要求模的向量 
例: 
D3DVECTOR3   v( 1. 0f, 2. 0f, 3. 0f); 
Float magnitude = D3DXVec3Length(&v);
**向量规格化 
D3DXVECTOR3 *WINAPI  D3DXVec3Normalize( 
D3DXVECTOR3  *pOut,                   //输出单位向量 
CONST D3DXVECTOR3  *pV                //输入的向量 
); 
**向量加法 
D3DVECTOR3   U( 2. 0F, 0. 0F, 1. 0F); 
D3DVECTOR3   V( 0. 0F,- 1. 0F, 5. 0F); 
D3DVECTOR3   SUM = U + V; 
**向量减法 
D3DVECTOR3   U( 2. 0F, 0. 0F, 1. 0F); 
D3DVECTOR3   V( 0. 0F,- 1. 0F, 5. 0F); 
D3DVECTOR3   SUM = U - V; 
**数乘 
D3DVECTOR3   U( 2. 0F, 0. 0F, 1. 0F); 
D3DVECTOR3   scaledVec = U * 10. 0f; 
**点乘 
FLOAT  D3DXVec3Dot( 
CONST D3DVECTOR3   *PV1; 
CONST D3DVECTOR3   *PV2; 
) 
例: 
D3DVECTOR3   U( 2. 0F, 0. 0F, 1. 0F); 
D3DVECTOR3   V( 0. 0F,- 1. 0F, 5. 0F); 
                                 
float dot =  D3DXVec3Dot(&u,&v);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值