余弦公式啊,它和我们高中课本里背的那个样子彻底不是一个味儿,别急着去套公式,先把手里的勾股定理那个直角三角形给忘掉。想象一下,你手里攥着两个向量,都叫它 $boldsymbol{a}$ 和 $boldsymbol{b}$,它们各自都代表一组坐标,比如 $boldsymbol{a}$ 可能被称作 $langle x_1, y_1 rangle$,$boldsymbol{b}$ 就是 $langle x_2, y_2 rangle$。
这时候你要算的是它们之间夹角 $theta$ 的余弦值,千万别当作就是 $frac{x_1x_2 + y_1y_2}{|boldsymbol{a}||boldsymbol{b}|}$ 如此好办,那只是个结论,是余弦定理的另一种写法,不是余弦公式本身的“骨架”。 余弦公式真正的灵魂,藏在推导过程里,而不是那些死记硬背的结论。
你看,我们先把 $boldsymbol{a}$ 和 $boldsymbol{b}$ 摆弄一摆。在平面直角坐标系里,任何向量都能够看作是单位向量按照一定角度转出来的结局。为了撇脱,先设 $|boldsymbol{a}| = |boldsymbol{b}| = 1$,这算是个假设,但这假设能让数学模型变得干净利落利落。$boldsymbol{a}$ 能够先沿着 $x$ 轴方向旋转到第 $0$ 度,这样它的起点就在原点,终点在 $(1, 0)$,这就是标准单位向量 $boldsymbol{i}$。
接着 $boldsymbol{b}$ 也绕着原点逆时针转个 $theta$ 角,这时候它的位置就是 $(costheta, sintheta)$。 这时候把 $boldsymbol{a}$ 和 $boldsymbol{b}$ 放在一起看,你会发现它们实际上构成了一个等腰三角形。出于长度都是 1,故此这两个向量夹的角 $theta$,就是顶角的半角。
要是从 $boldsymbol{a}$ 的起点启动算起,$boldsymbol{a}$ 对应的邻边长是 1,$boldsymbol{b}$ 对应的邻边也是 1。而把这两个向量从起点连起来,就在两条邻边中间截出了一段长度为 $|boldsymbol{a} - boldsymbol{b}|$ 的对角线。
这就把难题转化成了平面几何里的“等腰三角形余弦定理”。 你想想,画个图最直观了。画一个等腰三角形,顶角是 $theta$,腰长是 1,底边是 $|boldsymbol{a} - boldsymbol{b}|$。根据余弦定理,底边的平方等于两腰的平方和减去两倍乘积再乘以夹角的余弦,也就是 $|boldsymbol{a} - boldsymbol{b}|^2 = |boldsymbol{a}|^2 + |boldsymbol{b}|^2 - 2|boldsymbol{a}||boldsymbol{b}|costheta$。
既然 $|boldsymbol{a}|$ 和 $|boldsymbol{b}|$ 都是 1,那右边就等于 $1 + 1 - 2costheta = 2 - 2costheta$。 左边展开有点费事,$(boldsymbol{a} - boldsymbol{b})$ 拆开就是 $boldsymbol{a} - 2boldsymbol{b} + boldsymbol{b}$ 这种记法忒乱。应当直接算平方:$(boldsymbol{a} - boldsymbol{b}) cdot (boldsymbol{a} - boldsymbol{b}) = boldsymbol{a}^2 - 2boldsymbol{a}cdotboldsymbol{b} + boldsymbol{b}^2$。出于 $boldsymbol{a}^2$ 就是 $boldsymbol{a}$ 的模长平方,也就是 1,同理 $boldsymbol{b}^2$ 也是 1。
故此左边变成了 $2 - 2boldsymbol{a}cdotboldsymbol{b}$。 目前左右两边要相等:$2 - 2boldsymbol{a}cdotboldsymbol{b} = 2 - 2costheta$。两边与此同时除以 -2,剩下的就是 $boldsymbol{a}cdotboldsymbol{b} = costheta$。
这待会儿实际上把公式都推导出来了,但你看,$boldsymbol{a}cdotboldsymbol{b}$ 展开就是 $x_1x_2 + y_1y_2$,$costheta$ 展开就是 $frac{x_1x_2 + y_1y_2}{|boldsymbol{a}||boldsymbol{b}|}$。
故此一结合起来,就是那个点积公式了。 这里有个细节特别有意思,大量人当作余弦公式是直接从点积公式变过来的,实际上不是。余弦公式是点积公式在模长都为 1 的特殊情况下的直接展开形式。
要是 $boldsymbol{a}$ 和 $boldsymbol{b}$ 不是单位向量呢?比如 $boldsymbol{a} = langle a_x, a_y rangle$,$boldsymbol{b} = langle b_x, b_y rangle$。
这时候 $|boldsymbol{a}||boldsymbol{b}|$ 就不是 1 了,但点积公式 $boldsymbol{a}cdotboldsymbol{b} = |boldsymbol{a}||boldsymbol{b}|costheta$ 依然成立。你会发现,当 $|boldsymbol{a}||boldsymbol{b}|=1$ 时,公式里的分母就消亡了,瞬间简化成了 $x_1x_2 + y_1y_2 = costheta$。
这就解释了为啥某些叙述里会说“当向量为单位向量时,余弦公式就是点积”。 还有啊,这个公式在向量运算里用处挺大的。
比如要把两个向量搞混了,只要知道它们的夹角,就能反推它们的点积,要么反过来,知道点积就能看出它们长得有多像,夹角大约是多少。
不过得注意,这个公式里的 $theta$ 务必是锐角或钝角,要是是直角就是 90 度,要是是平角就是 180 度。
要是 $theta$ 大于 180 度,那 $costheta$ 就是负数了,表示反向。 另外,大家可能认定这个公式就是 $boldsymbol{a} cdot boldsymbol{b} = |boldsymbol{a}||boldsymbol{b}|costheta$,实际上这个符号挺好办看混。在教材里,点积 $boldsymbol{a} cdot boldsymbol{b}$ 是个标量数,而 $|boldsymbol{a}||boldsymbol{b}|costheta$ 是标量数,故此等号是合法的。但有时候会看到 $boldsymbol{a} cdot boldsymbol{b}$ 被直接写成 $costheta$。
要是 $|boldsymbol{a}||boldsymbol{b}| neq 1$,直接写成 $costheta$ 就是错的,务必把 $|boldsymbol{a}||boldsymbol{b}|$ 写出来,要么写成 $costheta cdot |boldsymbol{a}||boldsymbol{b}|$。
这种书写上的细微差别,对做线性代数要么物理题的人来说挺关键的。 举个具体的例子吧,假设你有一组数据,$boldsymbol{a} = langle 3, 4 rangle$,$boldsymbol{b} = langle 5, 12 rangle$。先算它们的模,$|boldsymbol{a}| = sqrt{3^2 + 4^2} = 5$,$|boldsymbol{b}| = sqrt{5^2 + 12^2} = 13$。
这两个模分别是 3 和 4 旁边的数,勾股数嘛。再算点积,$boldsymbol{a} cdot boldsymbol{b} = 3 times 5 + 4 times 12 = 15 + 48 = 63$。 这时候用公式反推 $costheta$。$costheta = frac{boldsymbol{a} cdot boldsymbol{b}}{|boldsymbol{a}||boldsymbol{b}|} = frac{63}{5 times 13} = frac{63}{65}$。算出来是个分数,大约 0.97,说明这两个向量夹角贼小,简直平行。
要是数据弄反了,比如 $boldsymbol{a} = langle 1, 2 rangle$,$boldsymbol{b} = langle 2, 1 rangle$,算出来点积是 3,模分别是 $sqrt{5}$ 和 $sqrt{5}$。
那 $costheta = frac{3}{5} = 0.6$,夹角略微大一点,但也说不准。 再举个例子,要是 $boldsymbol{a} = langle 3, 0 rangle$,$boldsymbol{b} = langle 2, 0 rangle$。
这两个都在 $x$ 轴上,夹角自然是 0 度,$cos0 = 1$。用公式算:点积 $3 times 2 + 0 = 6$,模都是 3,$3 times 3 times 1 = 9$。$6/9 = 2/3$?
什么的,哪儿出错了?啊,不是,这是两个单位向量吗?不对,$|boldsymbol{a}|=3, |boldsymbol{b}|=2$。公式是 $frac{6}{3 times 2} = frac{6}{6} = 1$。
对了,结局是 1,夹角 0 度。刚刚那个例子算错了模长,抱歉。 实际上啊,余弦公式在三维空间里更常用,但原理一样。在向量空间更高维的时候,点积定义依然是对应分量相乘再求和,公式里的几何意义就不好说了,可能涉及多面体的投影之类的,但对于高中要么基础向量题,还是得回到二维的等腰三角形模型。 还有几个小坑要注意。
比如求角度,要是算出的 $costheta$ 是负数,比如 -0.5,那 $theta$ 就是 120 度了。
这时候不能用 $arccos$ 直接拿到锐角,得加上反π符号,变成 $2pi/3$。
要是直接开方,$sqrt{-0.5}$ 在实数域没有意义,这时候向量夹角一般是取 $[0, pi]$ 之间的值,故此余弦值范围是 $[-1, 1]$。 最终总结一下,余弦公式的核心就是那个点积展开的过程,它揭示了向量数量乘积和夹角余弦之间深刻的联系。别看公式长,公式里全是符号,但看着挺像,实际上本质就是那个等腰三角形。别被那些教科书式的“已知...求..."给搞晕了,先搞懂它是如何从几何里长出来的,还原出它的“血肉”,比死记硬背那句结论强十倍。
这样赶明儿做题,遇到类似的向量运算,脑子里自动浮现出那个三角形图,思路自然就通了。