矢量
矢量在平时使用中其实就是一个普通的数组,如 。矢量在表示时,会在上方加一个箭头,如矢量 ,下面为了简单就不加箭头了。
矢量只有方向和大小,没有位置。如下图中,矢量 A 可以表示为 ,它和矢量 B 是同一个矢量,因为矢量没有位置,所以可以随便的移动它,最终还是表示同一个矢量。矢量的箭头那一端称为终点,另一端称为起点。

零矢量#
零矢量每个位置都是 0 ,如三维零矢量可以表示为 ,零矢量没有大小、没有方向当然它也没有位置。任何矢量加上零矢量都等于它本身。
矢量加减法#
矢量的加减法就和标量的加减法一样,就是把矢量的对应项加或减起来。矢量只能和同维度的矢量相加或相减。
[x1, y1, z1] + [x2, y2, z2] = [x1 + x2, y1 + y2, z1 + z2]
[x1, y1, z1] - [x2, y2, z2] = [x1 - x2, y1 - y2, z1 - z2]矢量加法是可交换的 ,矢量减法可反交换 。
在几何中,矢量的加减法如下图所示。

是把一个点先应用 A ,然后应用 B ,然后 就等于从 A 的尾部到 B 的头部的矢量。 也是一样,先应用 A,再应用 -B (也就是将 B 的方向反转下)。需要注意的是 与 是两个方向相反的矢量。
标量和矢量乘法#
标量和矢量乘法也非常简单,直接用标量乘上矢量中各个项就行了。
k * [x, y, z] = [kx, ky, kz]如果 k 为 -1 时,会得到矢量的负矢量(方向相反,大小相等)。
在几何中,标量乘矢量,标量就是矢量长度的缩放因子,如 k 等于 2,那么所得矢量是原矢量两倍长。
矢量大小#
矢量的大小用双垂直线表示,比如矢量 的大小表示为 。要计算矢量大小也非常简单,只要运用勾股定理就行了。

单位矢量#
单位矢量是大小为 1 的矢量,单位矢量也称为归一化矢量或法线,称为法线时一般表示该矢量垂直与一个表面。
要归一化一个矢量,只需要将矢量除以它的大小就行了。
归一化一个矢量,就是将矢量的长度变为 1,方向不变。
矢量乘法#
矢量有两种乘法,分别是点积和叉积。
点积#
矢量点积的结果是一个标量,符号是一个点,是将两个矢量各个分量相乘再相加。
点积满足如下性值。
在几何上,矢量点积可以解释为投影。下图中的矢量 A 为单位矢量。

点积 等于 B 投影到平行于 A 的任意线上的有符号长度,乘以 A 的长度。
矢量的点积可以给两个矢量的方向做一个初略的判断,如果两个矢量方向差不多相同则点积大于 0,如果垂直则等于 0,如果差不多相反则小于 0。
利用点积我们还可以把一个矢量分解为两个矢量,分别是垂直分量和平行分量。

上图中 A 还是单位矢量。我们知道 B 等于 。其中 等于 。所以我们可以得出下面结论。
我们还可以利用点积求出两个矢量间的夹角。

上图中 A 和 B 都是单位矢量。根据基本三角函数,cos(θ) 等于对边的邻边比斜边。
两个单位矢量的点积就等于它们之间的余旋值。那么我们也可以得出任何矢量之间余旋值得公式。
叉积#
叉积只能应用在三维中,矢量叉积将产生三维矢量,矢量叉积使用 符号。两个矢量叉积公式如下。
叉积和点积一起使用时,叉积优先 ,因为如果点积优先的话,点积的结果是标量,不能再进行叉积运算。
叉积还有如下特性。
在几何上,叉积产生的矢量将垂直原始的两个矢量,并且 的长度等于 A 的长度乘以 B 的长度乘以它们间的正弦值。

如果 A 和 B 平行,或如果 A 或 B 为零矢量,则 的结果为零矢量。
矢量会有两个方向,那么是哪个朝向的矢量呢?
我们需要将 B 矢量的尾部移动到 A 矢量的头部,然后观察是顺时针旋转还是逆时针旋转。
如果是顺时针旋转,在左手坐标系中 会指向你,右手坐标系是远离。如果是逆时针旋转,在左手坐标系中 是远离,右手坐标系是指向你。(如下图所示)

其实我们也可以伸出双手,和坐标系中一样,右手坐标系伸出右手,左手坐标系伸出左手。手握拳伸出大拇指,然后将 4 指按照上图旋转方向旋转,大拇指的方向就是 的方向。
矢量和点#
我们发现我们并没有区分矢量和点,例如 [x, y, z], 你可以说它是一个矢量,也可以说它是一个点。
矢量和点是两种概念,矢量有大小和方向,没有位置。而点只代表一个位置。
矢量可以描述位移,如果将 [2, 2] 的矢量,应用在 [1, 1] 的点上,则代表将点移动到 [3, 3] 位置。我们也可以将点表示为来自原点的矢量。

可以再添加一个分量来区分点和矢量,比如在三维中我们可以使用 4 个分量来区分点和矢量。[x, y, z, w],如果 w 是 0 则代表矢量,否则代表是点,这也称为齐次坐标,将在后面章节中讲解。