向量的运算

向量的运算

四月 14, 2018

    今天来总结一下Unity中的向量运算。

    向量运算分为四种:加减、数乘、点乘和叉乘。下面依次介绍。

  • 加减:向量的加法(减法)为各分量分别相加(相减)。在物理上可以用来计算两个力的合力,或者几个速度分量的叠加。
  • 数乘:向量与一个标量相乘称为数乘。数乘可以对向量的长度进行缩放,如果标量大于0,那么向量的方向不变,若标量小于0,则向量的方向会变为反方向。
  • 点乘:两个向量点乘得到一个标量,数值等于两个向量长度相乘后再乘以二者夹角的余弦。通过两个向量点乘结果的符号可以快速的判断两个向量的夹角情况:
    • 若u·v=0,则向量u、v相互垂直;
    • 若u·v>0,则向量u、v夹角小于90度;
    • 若u·v<0,则向量u、v夹角大于90度。
  • 叉乘:两个向量的叉乘得到一个新的向量,新向量垂直于原来的两个向量(也就是垂直于原来两个向量构成的平面),并且长度等于原向量长度相乘后再乘夹角的正弦值。

    在数学中,叉乘得到的新向量的方向要用“右手法则”判断,如a·b,应用右手的四指先表示向量a的方向,然后掌心方向指向向量B的方向,大拇指所指的方向就是叉乘结果的方向。但是,因为Unity里用的是左手坐标系,所以应用左手的拇指朝向向量a的方向,食指指向向量b的方向,则中指指向的方向为叉乘结果的方向。

    注意:叉乘不满足交换律。