从上一篇文章 https://www.luogu.com.cn/article/a0rd1bxx 的线性代数大学习中,我们知道旋转可以视为乘以一个矩阵。
那么,记 $R_\theta$ 是旋转 $\theta$ 对应的矩阵。
设旋转 $\alpha$ 的变换 $f_\alpha (P) = R_\alpha P$,以及相应的旋转 $\beta$ 角的变换 $f_\beta (P) = R_\beta P$。
显然有旋转 $\alpha + \beta$ 角等于先转 $\alpha$ 再转 $\beta$,也就是说 $f_{\alpha+\beta}(P) = f_\alpha(f_\beta(P))$ 恒成立。那么,代入函数的定义:
$R_{\alpha+\beta}P = R_\alpha (R_\beta P)$
用结合律,就有
$R_{\alpha+\beta}P = (R_\alpha R_\beta) P$
既然对任意向量两个矩阵的变换结果相同,那么它们肯定是相同的。有
$R_{\alpha+\beta} = R_\alpha R_\beta$
这样,由于我们知道 $R_{\alpha+\beta}$ 中包含 $\sin (\alpha+\beta)$ 和 $\cos (\alpha+\beta)$ 项,我们就可以用矩阵乘法算出来 $R_{\alpha+\beta}$,然后从中取出相应的项。
计算过程如下:
$R_{\alpha+\beta} = R_\alpha R_\beta = \begin{pmatrix} \cos\alpha & -\sin\alpha \\ \sin\alpha & \cos\alpha \end{pmatrix} \begin{pmatrix} \cos\beta & -\sin\beta \\ \sin\beta & \cos\beta \end{pmatrix}$
根据矩阵乘法法则(第一行乘以第一列,第一行乘以第二列……): $R_\alpha R_\beta = \begin{pmatrix} \cos\alpha\cos\beta - \sin\alpha\sin\beta & -\cos\alpha\sin\beta - \sin\alpha\cos\beta \\ \sin\alpha\cos\beta + \cos\alpha\sin\beta & -\sin\alpha\sin\beta + \cos\alpha\cos\beta \end{pmatrix}$
整理一下: $R_\alpha R_\beta = \begin{pmatrix} \cos\alpha\cos\beta - \sin\alpha\sin\beta & -(\sin\alpha\cos\beta + \cos\alpha\sin\beta) \\ \sin\alpha\cos\beta + \cos\alpha\sin\beta & \cos\alpha\cos\beta - \sin\alpha\sin\beta \end{pmatrix}$
因为 $R_{\alpha+\beta} = R_\alpha R_\beta$,所以两个矩阵的对应元素必须相等。我们来比较一下左上角和左下角的元素:
- $\cos(\alpha+\beta) = \cos\alpha\cos\beta - \sin\alpha\sin\beta$
- $\sin(\alpha+\beta) = \sin\alpha\cos\beta + \cos\alpha\sin\beta$
发现了吗?这样得到的结果与和角公式是相同的,于是我们就证明了和角公式。
笑点解析:本文使用了循环论证的手法。
当然,本文也可以不仅仅是循环论证。我们考虑用比和角公式更基本的方法找出旋转矩阵,这样我们的证明就是成立的了。
这是最纯粹的几何方法。我们不预设任何三角函数知识,而是从旋转这个变换本身的性质出发。
定义旋转:我们定义一个逆时针旋转 $\theta$ 角的变换 $R_\theta$ 是一个线性变换,它必须满足以下几个几何性质:
- 保长度:旋转一个向量,其长度不变。$||R_\theta \mathbf{v}|| = ||\mathbf{v}||$.
- 保定向:旋转不会把平面“翻转”过来(比如变成镜像)。在线性代数里,这意味着变换矩阵的行列式为 +1。
- 变换基向量:我们来看看它如何作用于基向量 $\mathbf{i} = (1, 0)$ 和 $\mathbf{j} = (0, 1)$。
- 将 $\mathbf{i}=(1,0)$ 旋转 $\theta$ 角,根据单位圆的定义,得到的新向量就是 $(\cos\theta, \sin\theta)$。注意:这里的 $\cos\theta$ 和 $\sin\theta$ 仅仅是单位圆上一个点的坐标的记号,我们暂时不知道它们的任何性质(比如和角公式)。
- 将 $\mathbf{j}=(0,1)$ 旋转 $\theta$ 角,得到的新向量是 $(-\sin\theta, \cos\theta)$。
构造矩阵:线性变换的矩阵,其第一列就是变换后的 $\mathbf{i}$,第二列就是变换后的 $\mathbf{j}$。所以,我们直接得到了旋转矩阵: $R_\theta = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}$
这个矩阵的推导过程完全没有使用和角公式。它仅仅是基于“旋转”这个变换作用在基向量上的几何结果。
这说明了,旋转的几何性质和代数性质是相同的。我们可以选择几何方法或者代数方法定义它,然后推导出它的全部性质,不会有什么差别。
然而,你可以发现,我们的文章仍然存在诸多漏洞。
我们假设了旋转是一种线性变换。这是一个先验知识,其实问题不大,毕竟我们总是需要一些公理。
然而,在使用了这个先验知识之后,我们又诉诸了几何直觉:两个基向量旋转的结果,与“单位圆上与原点连线和 x 轴成一定夹角的点的坐标”有关,这本质上已经诉诸了几何直觉,这就要求我们证明几何直觉和“线性变换”之间是自洽的。
更严重的是,我们假设“旋转 a+b,等价于旋转 a 再旋转 b”,对于一般的线性变换,这是不成立的(“旋转 a+b”对于一般的线性变换根本不知道你在说什么)。而这一条里面很可能已经蕴含了和角公式。
能不能救呢?可以的。
疑虑一:几何直觉与“线性变换”公理的自洽性
线性变换的定义是:$T(a\mathbf{u} + b\mathbf{v}) = aT(\mathbf{u}) + bT(\mathbf{v})$。 我们可以把它拆成两步来验证我们对“旋转”的几何直觉:
- $T(\mathbf{u} + \mathbf{v}) = T(\mathbf{u}) + T(\mathbf{v})$(可加性)
- 几何直觉:向量加法 $\mathbf{u} + \mathbf{v}$ 遵循平行四边形法则。$\mathbf{u}$ 和 $\mathbf{v}$ 是平行四边形的两条边,$\mathbf{u} + \mathbf{v}$ 是对角线。
- 旋转操作:旋转是一种刚体变换。它会移动和旋转图形,但不会改变图形的形状和大小。
- 自洽性证明:当我们旋转整个平行四边形时,它仍然是一个平行四边形。原来的边 $\mathbf{u}$ 和 $\mathbf{v}$ 变成了旋转后的 $R(\mathbf{u})$ 和 $R(\mathbf{v})$。原来的对角线 $\mathbf{u}+\mathbf{v}$ 变成了旋转后的 $R(\mathbf{u}+\mathbf{v})$。由于旋转后的图形依然是平行四边形,所以它的对角线必然等于两条边的和,即 $R(\mathbf{u}+\mathbf{v}) = R(\mathbf{u}) + R(\mathbf{v})$。
- 结论:可加性成立。
这本质上是三角形全等。
- $T(c\mathbf{u}) = cT(\mathbf{u})$(齐次性)
- 几何直觉:向量 $c\mathbf{u}$ 是将向量 $\mathbf{u}$ 的长度缩放 $c$ 倍(方向可能相反)。
- 旋转操作:旋转保持长度不变。
- 自洽性证明:旋转 $c\mathbf{u}$ 时,它的方向会改变,但长度仍然是 $\mathbf{u}$ 的 $c$ 倍。这与先旋转 $\mathbf{u}$ 得到 $R(\mathbf{u})$,再将其长度缩放 $c$ 倍得到的结果 $cR(\mathbf{u})$ 是完全一样的。
- 结论:齐次性成立。
这和相似则是类似的。
通过这个论证,我们证明了我们脑海中那个直观的、刚性的“旋转”概念,内生地满足线性变换的代数定义。所以,将“旋转是线性变换”作为起点是合理且自洽的。
疑虑二:“旋转 $\alpha+\beta$ = 先转 $\alpha$ 再转 $\beta$” 这一条里面很可能已经蕴含了和角公式
这是更致命、也更深刻的一个问题。
这个性质 $R_{\alpha+\beta} = R_\alpha R_\beta$ 实际上是在描述旋转变换构成了一个阿贝尔群(交换群),并且这个群的结构与实数的加法群是同构的。这确实是一个非常强的性质。
那么,这个性质本身是否依赖于和角公式呢?
答案是:不依赖,如果我们小心地定义我们的术语。
这里的关键在于我们如何定义“角度”和“角度的加法”。
- 操作主义定义:让我们把旋转操作本身视为最基本的东西。
- 有一个操作叫“旋转”,它由一个参数(我们称之为“角度”)来标识,记作 $R_\theta$。
- 我们观察到,连续进行两次旋转操作 $R_\beta$ 和 $R_\alpha$(即复合函数 $R_\alpha \circ R_\beta$),其结果也是一个旋转操作。
- 我们定义“角度的加法”为:如果 $R_\alpha \circ R_\beta$ 的结果是 $R_\gamma$,那么我们就定义 $\gamma = \alpha + \beta$。
看到这里的精妙之处了吗?我们不是先有了角度的加法,然后去证明旋转复合满足这个关系。我们是反过来,用旋转的复合操作来定义角度应该如何相加。
在这种视角下,等式 $R_{\alpha+\beta} = R_\alpha R_\beta$(这里矩阵乘法代表函数复合)就不是一个需要证明的定理,而是一个定义式,它定义了下标“+”的含义。
所以,我们的证明可以被拯救,并变得更加严谨:
严谨化后的证明逻辑链
- 公理1(几何):我们接受一个几何实体叫“旋转”,它是一种刚体运动,保持原点不动。
- 定理1(线性):从公理1,我们证明了旋转是一种线性变换(如上文所述)。
- 推论1(矩阵):因为旋转是线性变换,所以它可以表示为一个矩阵。通过考察基向量的变换,我们得到 $R_\theta = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix}$。在这里,$\cos\theta$ 和 $\sin\theta$ 仅仅是单位圆上点的坐标的记号,我们对它们的函数性质一无所知。
- 公理2(群结构):旋转的集合在函数复合下构成一个群。任意两个旋转的复合仍然是一个旋转。
- 定义1(角度加法):我们定义角度的加法 $\alpha+\beta$ 是这样一个角度 $\gamma$,它使得 $R_\gamma = R_\alpha \circ R_\beta$。因此,关系式 $R_{\alpha+\beta} = R_\alpha R_\beta$ 成为我们体系内的真理(根据定义)。
- 最终推导:现在,我们将来自推论1的矩阵形式代入到来自定义1的关系式中: $\begin{pmatrix} \cos(\alpha+\beta) & \dots \\ \sin(\alpha+\beta) & \dots \end{pmatrix} = \begin{pmatrix} \cos\alpha & \dots \\ \sin\alpha & \dots \end{pmatrix} \begin{pmatrix} \cos\beta & \dots \\ \sin\beta & \dots \end{pmatrix}$
- 结论:通过计算右侧的矩阵乘积,我们就发现了 $\cos(\alpha+\beta)$ 和 $\sin(\alpha+\beta)$ 必须满足的代数恒等式。这些恒等式就是我们所说的“和角公式”。
致谢 && 声明:感谢 Gemini 对本文做出的贡献。Gemini 提供了避免循环论证的思路。