一个向量由长度和方向组成。它可被表示为一个箭头。两个向量若长度和方向相等,那么它们就相等,即便我们认为它们处于不同的位置(图2.11)。
你应该尽可能地把向量看作一个箭头而不是坐标或数字。有时候,我们不得不在我们的程序中将向量表示为数字,但即便是这样,也应该以对象的形式来处理向量,只在底层向量操作才需要知道它们的数字形式。向量以加粗字符的形式表示,比如 a \pmb{a} aaa,向量长度表示为 ∣ ∣ a ∣ ∣ ||\pmb{a}|| ∣∣aaa∣∣。单位向量(unit vector)是长度为1的向量。零向量(zero vector)是长度为0的向量。零向量的方向是未定义(undefined)的。
向量可用于表示许多不同的东西。举个例子,向量可表示位移(offset/displacement)。如果我们知道“宝藏被埋在密会地点往东走两步往北走三步的地方”,这样我们就知道了位移(offset),但我们不知道从何处开始(不知道密会地点位置)。向量也可用于存储一个位置(location/position/point)。位置(Locations)可被表示为距离另一个位置的一段位移。通常,有一些已知的原点位置(origin),那么其他位置就可表示为一段位移(offset)。注意,位置(locations)不是向量。你可以添加两个向量,但是,通常添加两个位置没有意义,除非是计算一个位置的加权平均值的中间操作。添加两个向量确实有意义,这也是为什么位移(offset)是向量的一个原因。但这也强调了位置(location)不是位移(offset);它是从一个特定原点的位移(offset)。这个位移(offset)本身不是位置(location)。
【说得很绕,但其实就是说了位移(offset)和位置(location)的区别。位移很简单是没有固定起始位置的,它是一个向量;若给位移确定了一个起始点,那么就可以算出终点,是一个确定的位置。
位置的加权平均值暂时不知道是什么意思】
向量有大多数常用代数运算。若长度相等且方向相同,则两向量相同。向量相加遵循平行四边形法则,就像图2.12一样,两向量首尾相连得出第三个向量,即两向量的和。
(图2.12)
图2.12中,平行四边形由两个类似的三角形组成,一个是 a + b \pmb{a}+\pmb{b} aaa+bbb的三角形,一个是 b + a \pmb{b}+\pmb{a} bbb+aaa,两种相加都得到相同的向量,这体现了向量加法具有交换律
a + b = b + a \pmb{a}+\pmb{b}=\pmb{b}+\pmb{a} aaa+bbb=bbb+aaa
向量 − a -\pmb{a} −aaa(图2.13)与 a \pmb{a} aaa长度一样但方向相反,从中我们可得向量减法:
b − a ≡ − a + b \pmb{b}-\pmb{a}\equiv-\pmb{a}+\pmb{b} bbb−aaa≡−aaa+bbb
图2.14用平行四边形体现了向量减法
a + ( b − a ) = b \pmb{a}+(\pmb{b}-\pmb{a})=\pmb{b} aaa+(bbb−aaa)=bbb
向量也可以用于乘法运算,事实上,向量有几种乘法形式。首先,我们可以通过乘一个实数k来缩放该向量,只是向量的长度乘以实数k但并没有改变它的方向。举个例子, 3.5 a 3.5\pmb{a} 3.5aaa向量与 a \pmb{a} aaa向量方向一致,却是 a \pmb{a} aaa向量的3.5倍长。我们将讨论两向量相乘的两种结果形式,点积和叉积。在第6章,我们还将讨论三个向量的乘积,即行列式。
一个二维向量可以写成任意两个非零且彼此不平行的向量的组合。这两个向量的这种特征称为线性独立。两个线性独立的向量可组成一个二维基,因此这两种向量被称为基向量。举个例子,一个向量 c \pmb{c} ccc可被表示为两个基向量 a \pmb{a} aaa和 b \pmb{b} bbb的组合。(图2.15) c = a c a + b c b c = a_c\pmb{a}+b_c\pmb{b} c=acaaa+bcbbb
(图2.15)
注意,权重 a c a_c ac和 b c b_c bc是唯一的。如果这两个基向量正交(垂直),则基特别有用。如果两个基向量既是单位向量又正交,那就更有用了。如果我们知道这两个特殊的基向量 x \pmb{x} xxx和 y \pmb{y} yyy,那么我们可以利用它们表示笛卡尔坐标系中的任意其他向量,每个其他向量可用两个实数表示,举个例子,向量 a \pmb{a} aaa表示为 a = x a x + y a y \pmb{a}=x_a\pmb{x}+y_a\pmb{y} aaa=xaxxx+yayyy【 x a x_a xa和 y a y_a ya是二维向量 a \pmb{a} aaa的实数笛卡尔坐标。】(图2.16)
使用笛卡尔坐标系有几个好处,例如,根据Pythagorean定理, a \pmb{a} aaa的长度是 x a 2 + y a 2 \sqrt {x_a^2+y_a^2} xa2+ya2
在笛卡尔坐标系中计算点积、叉积和向量坐标也很简单。
按照惯例,我们可以这样表示一个坐标,用一个有序对 ( x a , y a ) (x_a,y_a) (xa,ya)表示,或一个列矩阵 a = [ x a y a ] a=\begin{bmatrix}x_a \\ y_a\\ \end{bmatrix} a=[xaya],我们使用哪种形式表示向量取决于排版便利性。我们偶尔也会将向量写成行矩阵 a T = [ x a y a ] a^T = \begin{bmatrix}x_a & y_a \\ \end{bmatrix} aT=[xaya]
我们还可以在笛卡尔坐标系中表示3D、4D向量,如何表示3D向量:我们使用了同时垂直于x和y的基向量z。