算例
四组算例均由引擎 pythagorean 的 compute 复算;显示口径为最多 8 位小数、去尾零。
算例 1:经典 3-4-5
输入:a=3,b=4。
- a2+b2=9+16=25。
- c=25=5。
- 面积 S=3×4/2=6。
界面显示:斜边 5,面积 6。这是最小的整数勾股数组,《周髀算经》里「勾三股四弦五」说的就是它。
图 1:算例 1 的直角三角形。斜边是直角所对的边,永远最长
算例 2:已知斜边反解直角边
输入:c=13,b=5(清空 a)。
- c2−b2=169−25=144。
- a=144=12。
界面显示:直角边 a 12。注意此时「面积」字段显示 0:引擎只在两条直角边都是输入时计算面积,反解出的 a 不参与面积计算。要看面积,把 12 填回「直角边 a」并清空斜边即可得到 30。
算例 3:梯子问题
一架 6.5 m 长的梯子靠在墙上,梯脚离墙 2.5 m,梯顶有多高?这里斜边是梯子,直角边是「离墙距离」与「高度」。
输入:c=6.5,a=2.5(清空 b)。
- c2−a2=42.25−6.25=36。
- b=36=6。
界面显示:直角边 b 6。反过来若已知离墙 2.5 m、高 6 m,输入 a=2.5、b=6 得斜边 6.5、面积 7.5。
算例 4:无理数结果与屏幕对角线
输入:a=1,b=1:c=2,界面显示 1.41421356(8 位小数),面积 0.5。这是历史上第一个被证明「不是分数」的长度。
输入:a=1920,b=1080(一块 1080p 屏幕的像素宽高):对角线 2202.90717008 像素。若这块屏幕标称 27 英寸(对角线 27 in),则用 c=27、b=13.24(高)反解得宽 23.53088184 in——「27 英寸」指的是对角线而不是宽度。
算例 1 的输入可以直接填进面板复现;把 a、b 都改成 1,斜边变为 1.41421356。
原理与推导
为什么直角边的平方和等于斜边的平方
最直观的证明是拼图。取一个边长为 a+b 的大正方形,有两种方法把它切开:
- 切法一:在四条边上各取一点,把大正方形分成四个全等的直角三角形(直角边 a、b)和中间一个倾斜的正方形。倾斜正方形的边正是直角三角形的斜边 c,所以中间的面积是 c2。
- 切法二:把同样四个三角形两两拼成两个 a×b 的矩形,放在大正方形的两个角上,剩下的正好是一个 a×a 和一个 b×b 的正方形,面积 a2+b2。
两种切法用掉的四个三角形完全相同,大正方形也相同,所以剩下的面积必须相等:c2=a2+b2。
图 2:同一个 (a+b)² 的两种切法。四个三角形相同,所以 c² = a² + b²
欧几里得《几何原本》第一卷命题 47 给出的是另一种证明——在三边上向外作正方形,证明两个小正方形的面积之和等于大正方形的面积;命题 48 证明了逆定理:如果一个三角形满足 a2+b2=c2,那么它一定是直角三角形。逆定理是工程上「用 3-4-5 放直角」的依据:量出 3、4、5 三段长度围成的三角形,夹角就是精确的 90°。
它其实是「距离」的定义
在直角坐标系里,从 (x1,y1) 到 (x2,y2) 的两段位移 Δx、Δy 互相垂直,所以两点的直线距离就是斜边:d=Δx2+Δy2。这就是两点距离计算器的公式;推广到三维只是再用一次勾股(先算底面对角线,再与高度组成新的直角三角形)。向量的模、复数的模、统计里的标准差(偏差平方和的平方根)都是同一个式子。
与余弦定理的关系
对任意三角形,c2=a2+b2−2abcosC。当夹角 C=90° 时 cosC=0,最后一项消失,就退化为勾股定理。所以勾股定理是余弦定理在直角情形下的特例;反过来,c2 与 a2+b2 的大小关系可以判断夹角是锐角(c2<a2+b2)还是钝角(c2>a2+b2)。
勾股数
三条边都是整数的直角三角形叫勾股数组(毕达哥拉斯三元组)。最小的几组:
| (a,b,c) |
检验 |
| (3, 4, 5) |
9+16=25 |
| (5, 12, 13) |
25+144=169 |
| (8, 15, 17) |
64+225=289 |
| (7, 24, 25) |
49+576=625 |
| (20, 21, 29) |
400+441=841 |
欧几里得公式可以生成全部本原勾股数:取互质且奇偶不同的正整数 m>n,令 a=m2−n2,b=2mn,c=m2+n2。m=2,n=1 给出 (3, 4, 5);m=3,n=2 给出 (5, 12, 13)。任何一组勾股数按比例缩放仍是勾股数——(6, 8, 10)、(0.3, 0.4, 0.5) 在计算器里同样得到整齐的结果。
历史
巴比伦泥板 Plimpton 322(约公元前 1800 年)已列出大量勾股数;中国《周髀算经》记载「勾三股四弦五」,《九章算术》「勾股」章系统给出了用勾股定理解题的方法,赵爽为其作注时的「弦图」正是上面的拼图证明;毕达哥拉斯学派(约公元前 6 世纪)被认为给出了最早的一般性证明,也因为 2 的发现意识到存在不能写成分数的长度。「勾」「股」是直角三角形两条直角边的古称(短边为勾,长边为股),「弦」是斜边。
只在平面上成立
勾股定理是欧几里得平面几何的定理。在球面上,两条互相垂直的大圆弧 a、b 与第三条边 c 满足的是 cosc=cosacosb(单位球),只有当三边远小于球半径时才近似回到 a2+b2=c2。地图上几十公里内可以放心用勾股,跨洲的距离要用球面公式。