向量点乘
引入向量点乘
现在我们知道了有向量,还有向量相关的运算——向量加减与向量数乘。可是大家可能会这个向量数乘感到不自在——这始终是一个向量与一个实数两种不同对象之间的乘法,交换律无从谈起。那像实数可以跟实数自己相乘一样,向量能不能也跟向量相乘呢?
答案是——可以有。我们来引入一种名为点乘的向量“乘法”。
在物理中,我们学到过合外力做功的计算——力与在力的方向上的移动的距离的乘积:
W=Fs
这个公式是两个数量之间的乘积。但是我们知道,力这个物理量是有方向的,是个向量。同时,我们引入另一个向量——位移,实际上,功这个物理量,就是力与位移这两个向量的“乘积”。
实际上,移动是有方向的。我们用位移这个物理量代表了这种有方向的移动过程。
位移的方向为从移动的起点指向终点,位移的大小为从起点到终点的直线距离,用 s 表示。
我们一开始引入向量时所提到的“代表一个平移运动的向量”,实际上就是位移。
我们称,功就是力与位移这两个向量的点乘。符号表示为:
W=F⋅s
那么问题就来了:我们现在只会计算力和位移方向相同的情况。
如果力和位移的方向不同,功应该怎么计算呢?
“发明”向量点乘
我们现在完全不懂这个点乘运算应该怎么算。但通过研究他的数学性质,其实不难推理出来。
首先,对力与位移的向量同时旋转一个角度,点乘的结果不变。这个很好理解:空间上换个角度做完全相同的物理实验,结果不可能发生改变。这是因为空间上各个方向的物理定律都是一样的。
同样地,如果交换两个向量的方向,点乘的结果也不变。这也是由于空间性质导致的,我们空间镜像对称地做同样的物理实验,结果也不应该改变。
然后我们假设物体所受合外力不变,先移动一段距离然后再移动一段距离,所做的功加起来应当等于力在总的位移上做的功。若位移距离变为原来的 k 倍,最后所做的功也应该变为 k 倍。若位移方向相反(原路返回),所做的功也会变为负功。
F⋅(s1+s2)F⋅(ks)F⋅(−s)=F⋅s1+F⋅s2=k(F⋅s)=−F⋅s
这对力也是一样的。运动位移不变时,各个分力分别做功,功的总和应当等于他们的合力所做的功。力的大小变为 k 倍,所做的功也变为 k 倍。 k=−1 ,即力的方向相反,做功也应该相反。
F⋅(s1+s2)F⋅(ks)=F⋅s1+F⋅s2=k(F⋅s)
这就像是,点乘这个运算对两边的向量加法有分配律,并且与向量数乘“优先级相同”。这也是我们感觉点乘运算是一个“乘法”的原因。
我们即将发明一种叫点积的运算 a⋅b ,这个运算输入两个向量,输出一个数,我们要求这种运算拥有以下两条性质:
- 体现空间各向同性:运算结果只与两个向量的大小、夹角有关,而与向量具体方向无关
- 是个“乘法”:对两边的输入向量的加法都有分配律,这种性质叫双线性性
我们可以首先推理出,对于两个垂直的向量 a 与 b ,他们的点乘 a⋅b 性质。
由于双线性,我们将其中一个向量取反,结果应该相反:
(−a)⋅b=−(a⋅b)
而同时,即使将其中一个向量取反,他们依然是大小不变、夹角依然成 90° 的两个向量。即:
(−a)⋅b=a⋅b
如此我们可以得出唯一可行的结论:互相垂直的两个向量,他们的点乘结果必定为零。
而对于方向相同的两个向量,功的物理公式已经剧透了——点乘结果就是两个向量大小的乘积:
a⋅b=∣a∣∣b∣
接下来就很简单了。对于任意向量 a 、 b ,我们都可以将其中一个向量 a 沿平行于 b 方向与垂直于 b 方向,分解为 a⊥ 与 a∥ 。从而得到:
a⋅b=(a⊥+a∥)⋅b=a⊥⋅b+a∥⋅b=0+∣a∥∣∣b∣
而实际上,平行向量 a∥ 的长度,就是 ∣a∣cosθ 。
由此可得,对于任意向量 a 与 b ,都有:
a⋅b=∣a∣∣b∣cosθ
很明显,如果我们将 b 沿平行 a 与垂直 a 方向分解,也能得到同样的结果。
我们到这里就能解答章节开头的疑问。对于物理上不同方向的力与位移所做功,计算方式为:
W=∣F∣∣s∣cosθ然而,点乘这个运算不仅在物理上有用,在数学几何上更有大用处。我们接下来抛开物理,继续讨论点乘这个运算在数学上的作用。
点乘的坐标表示
之前我们一直在说,一个向量可以与点的坐标一一对应。实际上,如果知道两个向量的坐标表示,他们之间的点乘结果可以更快速地计算出来。
我们先来引入两个好用的向量: x 轴正方向上长度为1的向量 ex=(1,0) 与 y 轴正方向上长度为1的向量 ey=(0,1) 。我们称他们为 x 方向的单位向量与 y 方向的单位向量。
对于任意向量 a=(ax,ay) ,我们必然能用 ex 与 ey 来表示他:
a=axex+ayey
由于我们要的点乘运算有分配律,所以对于任意向量 a 与 b ,都有:
a⋅b=(axex+ayey)⋅(bxex+byey)=axbxex⋅ex+axbyex⋅ey+aybxey⋅ex+aybyey⋅ey
其中, ex⋅ex 与 ey⋅ey 为两个同向向量相点乘,结果为其长度相乘,即为 1 。 ex⋅ey 与 ey⋅ex 为两个垂直向量相点乘,结果为 0 。
如此可立刻得出:
a⋅b=axbx+ayby
我们回顾整个过程可以发现,我们推理的过程并不受限于二维空间。我们可以通过同样的方式,推理得到三维、四维甚至更高维度的向量点乘运算也是类似的计算方式。
向量长度
我们考虑一种特别的情况:两个相同的向量进行点积。由于空间上的对称性,我们不妨将这个向量旋转到 x 轴正方向上,点积的结果不变。
假设向量 a 旋转到 x 轴正方向上时,向量为 (a,0) ,其长度为 ∣a∣=a 。则应有:
a⋅a=(aex)⋅(aex)=a2(ex⋅ex)=a2
即,向量长度的平方等于它与自己的点积。
其实,用上一节得到的两个公式,也能推出相同的结果:
a⋅a=ax2+ay2=∣a∣2cos0°=∣a∣2
我们由此得到求向量 a 的长度 ∣a∣ 的方式:
∣a∣2=a⋅a=ax2+ay2
在二维空间中,这实际上就是勾股定理。直角边的长度分别为向量的横坐标与纵坐标(的绝对值),斜边为向量的长度。
但正如前面所提示的,这完全可以扩展到三维甚至更高维空间。比如在三维空间中,就有:
∣a∣2=ax2+ay2+az2
计算两个向量的夹角
通过点积的两个公式,我们可以得到一个等式:
axbx+ayby=∣a∣∣b∣cosθ
左边只与两个向量的坐标分量有关,是点积的代数表示。右边只与两个向量的大小与夹角有关,与坐标系的选取方向无关,是点积的几何表示。
如果我们已知两个向量的坐标表示 a=(ax,ay) 、 b=(bx,by) ,可知两个向量的长度分别为 ∣a∣=ax2+ay2 、 ∣b∣=bx2+by2 。
从而我们可以通过点积求得两个向量的夹角 θ :
cosθ=∣a∣∣b∣a⋅b=ax2+ay2bx2+by2axbx+ayby
向量点乘的应用
余弦定理
通过点积,我们可以快速地建立起任意三角形边和角的关系。
假设有任意三角形 ABC 。则有:
AB=CB−CA
将向量 AB 与自己点积,有:
AB⋅AB=(CB−CA)⋅(CB−CA)=CB⋅CB+CA⋅CA−2CA⋅CB
代入点积的几何表示,则有:
∣AB∣2=∣CA∣2+∣CB∣2−2∣CA∣∣CB∣cosC
令三角形三边为 a 、 b 、 c ,则可简写为:
c2=a2+b2−2abcosC
这个等式表明:
- 如果能确定 a 、 b 、 c 三条边,角 C 的大小就可以确定(SSS)
- 如果能确定 a 、 b 两条边与角 C 的大小,第三条边 c 就能确定 (SAS)
- 如果确定 c 的大小与角 C 的大小,以及 a 、 b 其中之一的大小,剩余的第三条边构成一元二次方程,可能有两个解(即 SSA 不能唯一确定一个三角形)
明显对于角 A 、 角 B 也能有对应的等式成立。这个定理被称为余弦定理。
除了余弦定理外,三角形中还有正弦定理。正弦定理为:
asinA=bsinB=csinC这个定理通过初中知识也能轻易地证明,过程留给各位自己证明。(提示,可以通过两边与夹角的正弦值得到三角形的面积。)
- 已知向量 a=(3,4),b=(1,−2),求 a⋅b 。
- 求向量 a=(3,4) 的长度 ∣a∣ 。
- 思考:如果在直角三角形里应用余弦定理,会得出什么结论?应用正弦定理呢?
圆幂定理
设平面有一个半径为 R 、圆心为 O 的圆。对于过平面上任一点 P 的任意一条直线,设它与圆交于两点 A 和 B (切点视为重合的二点),恒有 PA⋅PB=OP2−R2 。这就是圆幂定理。
在初中阶段,圆幂定理被拆分为相交弦定理、切线定理、切割线定理,三个定理分别需要通过不同的步骤证明。实际上,我们可以使用向量,用统一的步骤证明三个定理。
设直线的方向向量(与直线同一方向的长度为1的向量)为 v 。从点 P 到直线上任意一点的向量可表示为 tv ,其中 t 为任意实数,其绝对值即为由 P 点到该点的长度。
PA 和 PB 分别可以表示为 t1v , t2v 。其中 t1 与 t2 即为有向线段 PA 与 PB 的长度。(如果 t1 为负,代表 PA 与 v 方向相反, t2 同理。)
由于 v⋅v=1 ,因此有 PA⋅PB=t1t2 。
另一方面,由圆的定义,在圆上任取一点 X ,满足圆的向量方程 ∣OX∣2=R2 。对于点 A 和 B ,它们满足:
∣OA∣2=R2,∣OB∣2=R2
对于 A 点,由于 OA=OP+PA ,代入得:
∣OP+t1v∣2=R2
展开得:
OP2+2t1(OP⋅v)+t12=R2
整理为:
t12+2(OP⋅v)t1+(OP2−R2)=0
对于给定的点 O 、点 P 与半径 R , OP⋅v 与 OP2−R2 都是常数。因此这是一个关于 t1 的一元二次方程。
同理,将点 B 代入也会得到完全相同的二次方程,因此 t1 和 t2 正是这个二次方程的两个根。
根据韦达定理,两根之积为:
t1t2=OP2−R2
由于 PA⋅PB=t1t2 ,我们便得到了圆幂定理的表达式:
PA⋅PB=OP2−R2
这个推导对 P 的位置没有任何限制:
- P 在圆内: t1 和 t2 符号相反,乘积为负,对应相交弦定理。
- P 在圆外: t1 和 t2 符号相同,乘积为正,对应割线定理。
- P 在圆上: t1 与 t2 中必有一个为零,乘积为零,点 P 必定与点 A 或点 B 重合。
- 直线与圆相切 : t1=t2 ,二次方程有重根,切线长 t=OP2−R2 ,对应切割线定理。