计算两个向量的夹角
我们可以通过点积计算两个向量的夹角。

上图给出二维的情况,其中向量b和向量c与x轴的夹角分别为ϕb和ϕc,从基本三角函数可得:
b=(∣b∣cosϕb,∣b∣sinϕb)c=(∣c∣cosϕc,∣c∣sinϕc)
我们把上式代入点积公式,得到
b⋅c=∣b∣∣c∣cosϕbcosϕc+∣b∣∣c∣sinϕbsinϕc
再次应用三角函数加法定理,得到
b⋅c=∣b∣∣c∣(cosϕbcosϕc+sinϕbsinϕc)=∣b∣∣c∣cos(ϕc−ϕb)
最终,对任意两个向量b和c,我们有:
b⋅c=∣b∣∣c∣cos(θ)
其中θ是b和c之间的夹角。
为了得到更简洁的形式,在等式两边同除以∣b∣∣c∣并使用单位向量的表示形式b^=b/∣b∣,我们得到:
cos(θ)=b^⋅c^
总结如下:两个向量b和c之间夹角的余弦等于归一化后的向量的点积。
注:同样的结果也适用于三维、四维乃至任意多维,前提是两个向量具有相同的维度。
参考资料:
《计算机图形学(OpenGL版)(第3版)》4.3.2 两个向量的夹角