- X乘的应用:
坦克等4个着地面的物体在经过斜坡时,上方向不再是垂直地面,否则的话将出现前两个轮子进入到斜坡里面的情况。
我们这样处理,通过一开始的前进向量和斜坡的法线向量做差乘,计算出右方向的向量,再由右方向和斜坡法线做差成得出需要的平行斜面向上的向量:
D3DXVECTOR3 MapNormal(1, 1, 1);
D3DXVec3Normalize(&MapNormal, &MapNormal);
D3DXVECTOR3 Dir(3,0,1);
D3DXVec3Normalize(&Dir, &Dir);
D3DXVECTOR3 right;
D3DXVec3Cross(&right, &MapNormal, &Dir);
D3DXVec3Cross(&Dir, &right, &MapNormal);
- 点乘的应用,两个向量做点乘,得到向量夹角的余弦值:
D3DXVECTOR3 Dir1(100, 0, 400), Dir2(200, 0, 300);
D3DXVec3Normalize(&Dir1, &Dir1);
D3DXVec3Normalize(&Dir2, &Dir2);
float cos = D3DXVec3Dot(&Dir1, &Dir2);
D3DXVec3Cross(&Dir1, &Dir2);
float a = acos(cos)*180/3.14;
浙公网安备 33010602011771号