三平方の定理
直角三角形の3辺に隠れた面積の等式
Layer 1 — 直感・シミュレーター
黒い点をドラッグして直角三角形の形を自由に変えてみよう。3つの辺の上に立っている正方形の面積が同時に変化する。青の面積+赤の面積が、常に緑の面積と一致することを目で確かめよう。
= 3.0² = 9.00
= 2.0² = 4.00
= 3.61² = 13.00
↑ 黒い点をドラッグして直角三角形の形を変えると、3つの正方形の面積が連動する。 = 13.00 と = 13.00 が常に一致することを確認しよう。
Layer 2 — 定義・受験・証明
定義
直角三角形において、直角をはさむ2辺(直角をはさむ辺、脚)の長さを 、直角の対辺(斜辺)の長さを とすると、次の関係が成り立つ。
これが三平方の定理(ピタゴラスの定理)である。
公式
証明・導出
最も直感的な証明の一つは正方形の面積を使う方法である。1辺 の正方形の中に、斜辺 の直角三角形を4つ、向きを変えて敷き詰める。
外側の正方形の面積は 。内側にできる小さな正方形(辺の長さ )の面積は 。三角形4枚の面積の合計は なので
左辺を展開すると となり、両辺から を引くと
が得られる。
押さえておきたいポイント
- 直角三角形にのみ成り立つ特別な関係
- 2点間の距離の公式 の土台になっている
- 3辺の長さの組(3,4,5 や 5,12,13 など)を「ピタゴラス数」と呼ぶ
Layer 3 — 工学応用・現場実装
2点間の距離計算(当たり判定・経路探索)
ゲームや地図アプリで「2点がどれくらい離れているか」を求める処理は、三平方の定理そのものである。円形の当たり判定(半径以内に入ったか)や、A*探索アルゴリズムのヒューリスティック関数などで頻出する、最も基本的で応用範囲の広い公式。
1type Point = { x: number; y: number };23function distance(p1: Point, p2: Point): number {4 const dx = p2.x - p1.x;5 const dy = p2.y - p1.y;6 return Math.sqrt(dx * dx + dy * dy); // 三平方の定理 a^2 + b^2 = c^27}89function isWithinRadius(p1: Point, p2: Point, radius: number): boolean {10 // sqrt を避けて2乗のまま比較すると高速(当たり判定の定石)11 const dx = p2.x - p1.x;12 const dy = p2.y - p1.y;13 return dx * dx + dy * dy <= radius * radius;14}1516// 使用例17const player: Point = { x: 0, y: 0 };18const enemy: Point = { x: 3, y: 4 };1920console.log(distance(player, enemy)); // 521console.log(isWithinRadius(player, enemy, 6)); // true