三维向量点乘和十字乘的原理及游戏应用

A代表矢量A代表线段的长度。

//矢量计算公式

A = (x,y,z);

B = (i,j,k);

a B = x * I+y * j+z * k;(数学计算方法)

从图中可以看出,C矢量的计算方法如下:

c = A-B;

同时平方膨胀

|c|^2 = |a|^2+|b|^2-2a b;

c^2 = a^2+b^2-2a b;

通过图中的三角形余弦定理,我们可以得到

c^2 = a^2 + b^2 - 2 |a| |b| cosθ

可以得到上述两个方程的组合

A B = |a| |b| cosθ

θ = arccos(A B/|a| |b|)

应用场景:敌人和玩家可以计算出敌人需要旋转多少度才能面对敌人(缺点:计算出的角度小于180。因为两个向量之间的夹角不会超过180,如果顺时针超过180,则逆时针计算角度)。

A = (x,y)

B = (m,n)

A x B = 2x2 = x *n-y * m的行列式;

A = (a1,a2,a3)

B = (b1,b2,B3);

扩展以获得:

C = AxB = (a2 * b3 - a3 * b2,a1 * b3 - a3 * b1,a 1 * B2-a2 * b 1);

可以看出,两个向量的叉积产生了一个C向量(利用左手定则快速确定C向量的方向)。

几何意义:如下

c的模长= a的模长* b的模长* sinθ;

(这个公式也可以用来计算两个向量的缺点,角度小于等于90度。)

向量叉积可以用右手定则判断方向!

1.解决向量点乘无法计算超过180的问题。

2.获得两个矢量,其中一个矢量在垂直方向上已知。

3.判断两个向量的顺时针和逆时针关系。