目录
定义
矢量,即有大小和方向的量(一阶张量)。
与其对应的,
标量,即只有大小的量(零阶张量)。
矢量相关表示
矢量:
矢量的模:
矢量的坐标表示:(坐标表示)
矢量运算
矢标运算
矢量和标量之间只能做乘除法,不能做加减法。矢量和标量相乘,只需要矢量的每个分量和标量相乘即可,而矢量除以标量,相当于乘以标量的倒数。
演示https://www.desmos.com/geometry/idkdywljzp
从几何意义来看,矢量乘以一个正标量k,相当于将矢量扩大了k倍,方向不变;而乘以一个负标量,矢量不仅扩大了|k|倍,方向也会取反。
矢矢运算
矢量的加/减法
两个矢量相加减,只需要将每个矢量的对应分量相加减即可,最后的结果是得到一个新矢量。
演示https://www.desmos.com/geometry/grwzpgrugm矢量的加减法,它表达的是偏移的几何意义。
以加法为例,矢量a + 矢量b,它表示的是:一个点,从a的起始位置出发,便偏移了a,接着又偏移了b,就等同于进行了一个a+b的位移。这里的矢量a、b,它们的首尾是相连的。
如果a、b首尾不相连,就变成了减法,a-b,表示的是a相对于b的偏移。
矢量的点积
矢量之间也可以进行乘法,通常有两种类型:点积和叉积。先来说说点积。
矢量的点积有两种公式,第一种是矢量之间对应分量的乘积之和,也就是:
从公式可以看出,点积是满足乘法交换律的,也就是a*b = b*a。
点积可以用来判断两个矢量之间的方向夹角关系。
如果 a * b > 0,说明a和b是锐角关系;
如果 a * b = 0,说明a和b是直角关系;
如果 a * b < 0,说明a和b是钝角关系;
在游戏编程中,也通常使用点积来计算投影,这和求矢量方向夹角是同一个道理。
演示https://www.desmos.com/calculator/tf3lylcz95
另外,点积可以和标量进行乘法运算,并且符合乘法的结合律。
点积还可以结合矢量加法做运算,相当于求点积之和。
一个矢量和本身进行点积,结果是这个矢量模的平方。
这里有说到矢量的模,它的求法等于矢量各分量的平方和开根号,即:
另外,模为1的矢量,被称为单位矢量,也叫做归一化矢量。
矢量的第二种公式是:
矢量的叉积
矢量的另一种乘法运算叫做叉积,和点积不同的是,叉积的结果仍然是一个矢量,而非标量。
演示https://www.desmos.com/3d/limzqupbwt
两个矢量的叉积用a X b来表示,这个x号不同于数学的乘号,这点不要混淆。叉积计算也有两种公式,第一种是:
叉积不满足交换律,即 a X b ≠ b X a,但它满足反交换律,即a X b = -( b X a)
叉积也不满足结合律,即 (a X b) X c ≠ a X (b X c)
从几何意义来讲,两个矢量叉积的结果,会得到一个同时垂直于这两个矢量的新矢量,这个新矢量的模很好计算,既可以通过模公式来得到,也可以通过矢量a、b以及他们之间的夹角θ来得到
对于新矢量的方向,它可能存在两个完全相反的方向,要确定具体哪个方向,就要看使用的左手坐标系还是右手坐标系。
要求a X b 新矢量的方向,如果是左手坐标系,伸直左手拇指微握其他四指,指背与矢量a方向垂直,四指弯曲方向朝矢量b靠拢,这是拇指指向的方向,就是新矢量的方向。
同样地,如果是右手坐标系,则伸出右手按照同样的法则来判断方向。
三矢量的混合积
定义:给定空间三矢量a、b、c,矢量a、b的矢量积a×b,再和矢量c作数量积(a×b)·c,
矢量的混合积所得的数叫做三矢量a、b、c的混合积,记作(a,b,c)或(abc),即
坐标表示
存在互相垂直的n个模为一的矢量为及,若存在一组唯一的使,则的坐标表示为,记作