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);

你可能感兴趣的:(equals,float,winapi)