三角形の合同条件と証明
SSS・SAS・ASA──どの3つの情報が揃えば「同じ形」と言い切れるか
- 1
- 2つの三角形が「合同」であるとは、形も大きさも完全に同じで、平行移動・回転・裏返しだけで重ね合わせられることを意味する
- 2
- 三角形の合同は、6つある要素(3辺・3角)すべてを確認しなくても、SSS(3辺)・SAS(2辺と間の角)・ASA(2角と間の辺)のいずれか3つの情報が一致すれば証明できる
- 3
- 証明とは「仮定から結論を、一つ一つ根拠を示しながら積み上げる」論理の連鎖であり、プログラミングにおける前提条件の確認(assertion)と発想が似ている部分がある
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
2つの三角形が「合同」であるとは、形も大きさも完全に同じで、平行移動・回転・裏返しだけで重ね合わせられることを意味する
身につく武器・思考力
三角形の合同は、6つある要素(3辺・3角)すべてを確認しなくても、SSS(3辺)・SAS(2辺と間の角)・ASA(2角と間の辺)のいずれか3つの情報が一致すれば証明できる
実社会・ITでの活躍現場
- •証明の論理構造とプログラムの事前条件・アサーション
- •ITシステム・アルゴリズム実装における論理設計
- •データ分析やシミュレーションにおける数理モデリング
Layer 1 — 直感・シミュレーター
SSS・SAS・ASAのボタンを切り替えて、2つの三角形のうちどの辺・角が対応する条件としてハイライトされるかを見てみよう。それぞれの条件が「3辺」「2辺と間の角」「2角と間の辺」のどの組み合わせに対応しているかを、色分けされた印(同じ色・同じ模様)で確認できる。
対応する3辺(a=BC, b=CA, c=AB)すべての長さが等しい。
↑ 色付き・太字でハイライトされた辺や角が、選んだ合同条件で「等しいと確認すべき3つの要素」。 条件を切り替えて、SSS・SAS・ASAでそれぞれどの辺・角に注目するかを比べてみよう (灰色の要素は、その条件では確認する必要がない部分)。
2つの三角形について「2辺の長さ」と「その2辺に挟まれていない角」が等しいことが分かった。これだけで合同と言えるか。
Layer 2 — 定義・受験・証明
定義
2つの図形が、平行移動・回転・対称移動(裏返し)だけでぴったり重ね合わせられるとき、その2つの図形は「合同」であるという。三角形の場合、対応する3辺の長さと3つの角の大きさがすべて等しいことが合同の定義である。ただしすべてを確認しなくても、以下の3条件のいずれかが確認できれば合同であると証明できる。
公式・数理モデル
証明・導出
合同条件がなぜ「3つの情報だけ」で十分なのかは、作図(コンパスと定規)で三角形が一意に決まることから理解できる。
SSS(3辺相等): 3辺の長さ が与えられると、コンパスで2つの円弧を描いてその交点を頂点とすることで、三角形の形は必ずただ1通りに定まる。よって3辺が等しい2つの三角形は完全に重なる。
SAS(2辺夾角相等): 2辺 とその間の角 が与えられると、まず角 を作図し、その2辺の端点を結べば残りの1辺()の長さと他の2角が自動的に一意に定まる。
ASA(2角夾辺相等): 1辺 とその両端の角 が与えられると、その辺の両端からそれぞれの角度で直線を伸ばした交点として頂点が一意に定まり、三角形の形が確定する。
証明の書き方: 「① 仮定(分かっていること)を確認する → ② 合同条件(SSS/SAS/ASA)のどれに当てはまるかを見極める → ③ 対応する辺や角が等しい根拠を示す → ④ 合同条件を満たすので合同と結論づける → ⑤ 合同な図形では対応する辺・角がすべて等しいという性質を使って、示したい結論を導く」という順序で論理を積み上げる。
押さえておきたいポイント
- SSS(3辺相等)・SAS(2辺夾角相等)・ASA(2角夾辺相等)の「夾む(はさむ)」という言葉の位置が条件のカギになる
- 2辺とその間ではない角が等しいだけ(俗にSSAと呼ばれる場合)では、一般に三角形の形が一意に定まらず合同条件にはならない
- 合同な図形では対応する辺の長さ・角の大きさがすべて等しく、この性質(合同ならば対応部分が等しい)を証明の後半でよく使う
- 証明は「仮定 → 根拠 → 結論」を一段ずつ積み上げる論理構造であり、途中の一段でも根拠が欠けると結論全体が成り立たなくなる
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
証明の論理構造とプログラムの事前条件・アサーション
幾何の証明が「仮定 → 根拠 → 結論」という一段ずつ検証可能なステップの連鎖であるのと同様に、プログラムの正しさを保証する手段の一つに「事前条件(precondition)をアサーション(assert)で明示的にチェックする」書き方がある。ただしこれはあくまで発想の類似であり、数学的証明のような厳密な網羅性・形式的な健全性をプログラムのassertが自動的に保証するわけではない点には注意したい。
1type Triangle = { a: number; b: number; c: number };23// SSS条件: 3辺の長さがすべて等しいかを検証する4function isCongruentBySSS(t1: Triangle, t2: Triangle): boolean {5 return t1.a === t2.a && t1.b === t2.b && t1.c === t2.c;6}78// 「証明のステップ」を、根拠が崩れたら即座に停止するassertとして表現する9function assertStep(condition: boolean, reason: string): void {10 if (!condition) {11 // 幾何の証明で言えば「この行の根拠が成立しない」ことに相当する12 throw new Error(`証明のステップが失敗: ${reason}`);13 }14}1516function proveCongruentBySSS(t1: Triangle, t2: Triangle): void {17 // ① 仮定を確認する(3辺それぞれの根拠)18 assertStep(t1.a === t2.a, "辺aが等しい");19 assertStep(t1.b === t2.b, "辺bが等しい");20 assertStep(t1.c === t2.c, "辺cが等しい");2122 // ② SSS条件が満たされたので合同と結論づける23 console.log("SSS条件を満たすため、2つの三角形は合同である");24}2526// 注意: これは「証明のステップ構造」との発想の類似にすぎず、27// assertの成功がそのまま数学的な証明の厳密性を意味するわけではない。28proveCongruentBySSS({ a: 3, b: 4, c: 5 }, { a: 3, b: 4, c: 5 });
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元