Unity:Vector3类_点乘与叉乘
(一)点乘
又称“点积”或“内积”。
公式:各分量乘积和 [x1,y1,z1]*[x2,y2,z2] = x1x2+y1y2+z1z2
几何意义:a·b = |a|·|b|cos<a,b> 两个向量的单位向量相乘后 再乘以二者夹角的余弦值。
API:float dot = Vector3.Dot(Va,Vb);
点乘应用
对于标准化过的向量,点乘结果等于两向量夹角的余弦值。 应用 :计算两向量夹角
float dot = Vector3.Dot(a.normalized,b.normalized);
float angle = Mathf.Acos(dot)*Mathf.Rad2Deg;
(二)叉乘
又称“叉积”或“外积”。
公式:各分量乘积和 [x1,y1,z1][x2,y2,z2] =[y1z2- z1y2,z1x2-x1z2,x1y2-y1*x2]
几何意义:结果为两个向量所组成面的垂直向量,模长为两向量模 长乘积再乘夹角的正弦值。
脚本:Vector vector = Vector3.Cross(a,b);
叉乘应用
创建垂直于平面的向量。
判断两条向量相对位置。