什么是向量
通俗易懂的来讲向量就是一个既有方向也有大小的量。
- 我们向东走3米,这就是一个向量。
- 风吹的方向和强度。
- 空间中从A点指向B点。
向量的表示
向量的表示有三种方式:
箭头表示法
一条带箭头的线段,长度就是大小,箭头就是方向。
坐标表示法
二维向量:(x,y)
三维向量:(x,y,z)
N维向量:(x,y,..... ,n)
例如一个(2,3)的向量,就是向右2,向上3。
列向量/行向量
列向量:
[2]
[3]
行向量:
[2 3]
向量的模长
向量的"长度"叫模长,二维的模长 √ x2 + y2 ,三维模长 √ x2 + y2 + z 2。
例如:
向量(3,4)的模长就是5。
我们可以把他看成我们从原点走到(3,4)的直线距离。
向量的方向
向量的方向就是向量指向哪里。在二维空间中,方向可以用角度表示如:
- 180°
- 30°
- 70°
但在高维的空间中我们不直接用角度表示,而是用单位向量来表示方向。
单位向量
单位向量 = 长度为1的向量
它的作用是只表示方向,不表示大小,是方向的标准形式。得到单位向量就是把向量除以它的模长。
例如:
向量 (3,4),模长是5,单位向量为 (0.6,0.8)
单位向量的模长为1。
向量的计算
向量的加法
向量的加法就是对应位置相加,如:
(a,b)+(c,d)= (a+c,b+d)
几何意义:
把这两个向量首尾相连,从起点到终点就是他们的和。这叫三角法则。
向量的数乘
一个向量乘以一个标量(普通数字):
k * (a,b) = (k * a ,k * b)
我们可以通过输出来改变向量的长度,但不会改变向量的方向(除非k为负数)。
向量的点乘
两个向量的点积:
(a,b)· (c,d) = ac + bd
结构是一个标量(不是向量)。
点积的意义:
衡量两个向量方向是否相近
- 点积大 -> 方向接近
- 点积小 -> 方向不同
- 点积为0 -> 两个方向垂直
计算投影
一个向量在另一个向量方向上的"影子长度"。
计算夹角
cosθ = (a · b)/(|a| |b|)
向量的夹角
根据点积公式:
cosθ = (a · b)/(|a| |b|)
所以:
- θ = 0° -> 方向相同 -> cosθ = 1
- θ = 90° -> 垂直 -> cosθ = 0
- θ = 180° -> 方向相反 -> cosθ = -1
向量的叉乘
两个向量 a 和 b 的叉乘结果是一个新的向量,记作:
a x b
这个新向量有两个重要性质:
它垂直于原来的两个向量
(a x b)⊥ a
(a x b)⊥ b
它的长度等于 a 和 b 所形成的平形四边形的面积
| a x b | = | a | | b | sinθ
θ 是 a 和 b 的夹角
叉乘的计算公式(3 维)
如果:
a = (a1, a2, a3)
b = (b1, b2, b3)
那么:
a × b =(
a2b3 − a3b2,
a3b1 − a1b3,
a1b2 − a2b1
)
你可以把它记成一个行列式:
|i j k|
|a1 a2 a3|
|b1 b2 b3|
展开就是上面的公式。
叉乘的几何意义
- 面积
|a × b| = 平行四边形面积
三角形面积 = 1/2 |a × b|
- 法向量
a × b 给出一个垂直于 a、b 平面的方向
这在 3D 图形学里非常常用(求平面法向量)
- 判断方向
用右手定则判断旋转方向、坐标系方向等
向量的应用(非常多)
- 计算机图形学(方向、光照、旋转)
- 机器学习(特征向量、相似度计算)
- 物理(力、速度、加速度)
- 导航(方向、位移)
- NLP(词向量、句向量)