惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Martin Fowler
Martin Fowler
博客园_首页
量子位
T
Tailwind CSS Blog
博客园 - Franky
G
Google Developers Blog
D
DataBreaches.Net
Vercel News
Vercel News
B
Blog
Recent Announcements
Recent Announcements
S
SegmentFault 最新的问题
M
MIT News - Artificial intelligence
爱范儿
爱范儿
博客园 - 【当耐特】
The Cloudflare Blog
H
Help Net Security
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
C
Check Point Blog
有赞技术团队
有赞技术团队
Microsoft Security Blog
Microsoft Security Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 立体风

autohotkey2.0 Send keys参数分析 autohotkey2.0 盲从模式 windows 10 下 vscode 编写编译一个 nana c++ 库的示例程序 vscode 插件 cmake-tools 输出内容解读 Claude Code 处理中文乱码问题 python 启动器命令 py 答惑 windows 下 python 3.11 的版本问题 pip 安装 老版本 pytorch 的一个容易迷惑的错误 sentence transformer 例子及说明 Sentence Transformers 介绍 Jina Reranker 替代方案:改用 ModelScope 模型 Webnovel Writer 6.2.1 项目分析 windows 10 LTSC 版 安装 Terminal autohotkey2.0 脚本运行机制 windows wsl2 安装 gentoo 的步骤 windows 10 LTSC版 打开 wsl2 autohotkey 提示词 编译安装最新版 perl rust 做到“快并且安全” 的逻辑思路 rust 和 go 语言的核心目的 用 vim 查看文件的格式和编码 throughput 和 efficient 词义 python 以字符数量分割文档 (三) python 以字符数量分割文档 (二) python 以字符数量分割文档 (一) GNU Bash 参考手册(中文版)(六) GNU Bash 参考手册(中文版)(五) GNU Bash 参考手册(中文版)(四) GNU Bash 参考手册(中文版)(三) GNU Bash 参考手册(中文版)(二)
三角函数的余弦定理的证明
立体风 · 2025-09-08 · via 博客园 - 立体风

余弦定理(Law of Cosines)是直角三角形勾股定理的推广,它描述了任意一个平面三角形中,三条边长与其中一个角的余弦值之间的关系。

对于任意三角形 \(\triangle ABC\),其三条边分别为 \(a, b, c\),所对的角分别为 \(A, B, C\),余弦定理有以下三种形式:

  • \(a^2 = b^2 + c^2 - 2bc \cos A\)
  • \(b^2 = a^2 + c^2 - 2ac \cos B\)
  • \(c^2 = a^2 + b^2 - 2ab \cos C\)

下面我们将使用向量法几何法两种方式来证明它。


1. 向量法证明

向量法是证明余弦定理最简洁优雅的方式之一。

我们假设三角形的三个顶点 \(A, B, C\) 对应三个向量 \(\vec{A}, \vec{B}, \vec{C}\)
我们可以定义三条边对应的向量:

  • \(\vec{a} = \vec{C} - \vec{B}\),其长度为 \(|\vec{a}| = a\)
  • \(\vec{b} = \vec{A} - \vec{C}\),其长度为 \(|\vec{b}| = b\)
  • \(\vec{c} = \vec{B} - \vec{A}\),其长度为 \(|\vec{c}| = c\)

这三个向量满足向量和的关系:\(\vec{a} + \vec{b} + \vec{c} = \vec{0}\)
因此,我们可以写出:\(\vec{c} = -(\vec{a} + \vec{b})\)

现在我们来计算 \(c^2\)
\(c^2 = |\vec{c}|^2 = \vec{c} \cdot \vec{c}\)
\(c^2 = (-\vec{a} - \vec{b}) \cdot (-\vec{a} - \vec{b})\)
\(c^2 = (\vec{a} + \vec{b}) \cdot (\vec{a} + \vec{b})\)

根据向量点积的分配律,我们展开上式:
\(c^2 = \vec{a} \cdot \vec{a} + \vec{a} \cdot \vec{b} + \vec{b} \cdot \vec{a} + \vec{b} \cdot \vec{b}\)
\(c^2 = |\vec{a}|^2 + |\vec{b}|^2 + 2(\vec{a} \cdot \vec{b})\)

根据向量点积的定义 \(\vec{a} \cdot \vec{b} = |\vec{a}||\vec{b}|\cos\theta\),其中 \(\theta\) 是向量 \(\vec{a}\)\(\vec{b}\) 之间的夹角。

关键步骤:这里的 \(\vec{a}\)\(\vec{b}\) 是从不同的顶点出发的,它们的夹角并不是角 \(C\)。向量 \(\vec{a} = \vec{C}-\vec{B}\)\(\vec{b} = \vec{A}-\vec{C}\) 的夹角是 \(180^\circ - C\)。因此 \(\cos\theta = \cos(180^\circ - C) = -\cos C\)

将这个关系代入上式:
\(c^2 = |\vec{a}|^2 + |\vec{b}|^2 + 2(|\vec{a}||\vec{b}|\cos(180^\circ - C))\)
\(c^2 = a^2 + b^2 + 2(ab(-\cos C))\)
\(c^2 = a^2 + b^2 - 2ab \cos C\)

证毕。


2. 几何法证明(使用坐标系)

这种方法通过建立直角坐标系,利用勾股定理和距离公式进行证明。

  1. 建立坐标系
    将三角形的一个顶点 \(A\) 放置在原点 \((0, 0)\)
    将边 \(c\) 放置在 \(x\) 轴上,这样顶点 \(B\) 的坐标就是 \((c, 0)\)
    顶点 \(C\) 的坐标可以由边 \(b\) 和角 \(A\) 确定。根据三角函数的定义,顶点 \(C\) 的坐标是 \((b\cos A, b\sin A)\)

  2. 应用两点间距离公式
    现在我们来计算边 \(a\) 的长度,也就是点 \(B(c, 0)\) 和点 \(C(b\cos A, b\sin A)\) 之间的距离。根据距离公式,\(a^2\) 为:
    \(a^2 = (b\cos A - c)^2 + (b\sin A - 0)^2\)

  3. 展开并化简
    \(a^2 = (b^2 \cos^2 A - 2bc \cos A + c^2) + b^2 \sin^2 A\)
    \(a^2 = b^2 \cos^2 A + b^2 \sin^2 A + c^2 - 2bc \cos A\)

    我们提取公因式 \(b^2\)
    \(a^2 = b^2(\cos^2 A + \sin^2 A) + c^2 - 2bc \cos A\)

    根据三角恒等式 \(\sin^2 A + \cos^2 A = 1\)
    \(a^2 = b^2(1) + c^2 - 2bc \cos A\)
    \(a^2 = b^2 + c^2 - 2bc \cos A\)

证毕。

几何法(或代数法)的优点是直观,而向量法的优点是简洁,且能够轻松推广到三维甚至更高维空间。这两种证明都清楚地展示了余弦定理的正确性。