用旋转矩阵理解三角函数两角和公式
三角函数的两角和公式可以直接背下来,也可以把它看成一个更简单的问题:一个向量先转过 α,再转过 β,会到哪里?
把旋转写成矩阵,公式就自然出现了。
先看两个基向量
在固定的二维直角坐标系中,把向量逆时针旋转 β。原来的两个单位基向量分别变成:
(10)⟼(cosβsinβ),(01)⟼(−sinβcosβ).
线性变换矩阵的两列,就是两个基向量变换后的坐标。因此,旋转矩阵是:
R(β)=(cosβsinβ−sinβcosβ).
这样就不用单独记忆矩阵里哪个位置有负号。只要想清楚两个基向量转到了哪里,就能把矩阵写出来。
这里讨论的是坐标系不动、向量旋转。若向量不动而旋转坐标轴,坐标变换要使用逆矩阵,不能把这两件事混为一谈。
把单位向量再转一次
与 x 轴正方向夹角为 α 的单位向量是:
u(α)=(cosαsinα).
再逆时针转过 β,它的角度变成 α+β,所以:
(cos(α+β)sin(α+β))=(cosβsinβ−sinβcosβ)(cosαsinα).
展开矩阵乘法,比较两个坐标:
cos(α+β)sin(α+β)=cosαcosβ−sinαsinβ,=sinαcosβ+cosαsinβ.
两角和公式,就是连续旋转在坐标上的表达。换成矩阵语言,同一件事也可以写成:
R(β)R(α)=R(α+β).
这个结论针对同一平面内的旋转,不能直接推广成任意三维旋转都可以交换顺序。
用欧拉公式再看一次
欧拉公式把单位圆上的点写成复数:
eiθ=cosθ+isinθ.
因为
ei(α+β)=eiαeiβ,
所以
cos(α+β)+isin(α+β)=(cosα+isinα)(cosβ+isinβ)=(cosαcosβ−sinαsinβ)+i(sinαcosβ+cosαsinβ).
比较实部与虚部,就再次得到了两角和公式。
矩阵作用在二维实向量上,复数乘法作用在复平面上。在这里,它们描述的是同一个旋转过程。理解了这个过程,公式就不再是一组需要分别记住的符号。
延伸阅读
本次整理补充的相关链接:
整理自我的《三角函数两角和公式的线性代数理解》笔记,沿用源文件最后编辑日期:2023 年 9 月 16 日。