矢量和标量在含义上的区别_矢量和标量的区别与联系


在数字世界与图形创作的交汇点上,我们常会遇到点和矢量这两个概念,尤其是在游戏编程或三维图形处理中,它们的表述似乎如出一辙,但却拥有着各自独特的属性。

点,它代表的是空间中的一个确切位置,不涉及方向、大小或长度的概念。

而矢量,则是一个特别的有向线段,它不仅包含长度——即所谓的模,还有明确的方向。这个有向线段通常被称为向量,速度便是一种典型的矢量表达。

与此矢量形成对比的是标量。标量是一种仅包含长度、无方向的数学概念。日常生活中的距离,便是标量的一个实例。

矢量有着丰富的运算方式,既可以与其他矢量运算,也可以与标量进行计算。

乘/除法:

矢量和标量的乘除法相对简单,仅能进行乘除运算。当矢量与标量相乘时,仅需将矢量的每个分量与标量相乘;而矢量除以标量,相当于与标量的倒数相乘。

加/减法:

两个矢量的加减法操作只需将对应分量进行加减运算,结果是一个新的矢量。

在几何上,矢量的加减法表达了一种位置的偏移关系。以加法为例,矢量a加上矢量b意味着从一个点先沿a的方向移动,再沿b的方向移动,相当于完成了一次a+b的位移。

若两个矢量的首尾不相连则进行减法操作,表示的是a相对于b的偏移。

点积:

矢量之间也可以进行类似于乘法的操作——点积。这种点积有两种计算方式:一种是分量乘积之和的公式。

点积具有交换律的特性,即a·b等于b·a。点积可以用于判断两个矢量之间的方向关系:若a·b大于0则两矢量为锐角关系;若等于0则为直角关系;若小于0则为钝角关系。

在游戏编程中,点积常用于计算投影。

点积还可以与标量进行乘法运算并遵循结合律。

叉积:

除了点积外,矢量的另一种乘法运算是叉积。叉积的结果是一个新的矢量而非标量。

两个矢量的叉积用a×b表示。尽管符号不同于数学的乘号,但两者在计算上有所区别。叉积不满足交换律但满足反交换律以及结合律的变体。

从几何上看,叉积的结果是一个同时垂直于这两个矢量的新矢量。其模的计算既可通过公式也可通过涉及的矢量和夹角θ来得出。

新矢量的方向取决于所使用的坐标系是左手系还是右手系。在判断方向时,可根据具体的手势来判断拇指所指的方向即为新矢量的方向。

叉积在游戏编程中常用于计算垂直于平面的矢量、三角形的法线等操作。