三角形・多角形の面積
頂点を動かして、面積の公式が成り立つ理由を確かめよう
- 1
- 三角形・多角形の面積の本質的な定義と直感的ビジュアルをシミュレーターで体験できる。
- 2
- 公式や証明の背景にある数学的意味と、厳密な導出ステップを解説。
- 3
- 実社会における工学応用(ゲームの当たり判定と多角形の面積計算)のTypeScript実装コードを収録。
なぜこれを学ぶのか? — 現実社会とテクノロジーでの価値
なぜ生まれたのか?
三角形・多角形の面積の基礎原理を体系化し、抽象的な計算を直感的に扱うために誕生した。
身につく武器・思考力
頂点を動かして、面積の公式が成り立つ理由を確かめよう。この考え方を身につけることで、複雑な課題を単純化して数理モデルとして解く力が養われる。
実社会・ITでの活躍現場
- •ゲームの当たり判定と多角形の面積計算
- •ITシステム・アルゴリズム実装における論理設計
- •データ分析やシミュレーションにおける数理モデリング
Layer 1 — 直感・シミュレーター
3つの頂点を自由にドラッグして、三角形の形を変えてみよう。底辺と高さの補助線が表示され、「底辺×高さ÷2」の面積と、頂点の座標だけから計算する「シューレース公式」の面積が、常に同じ値になることを確認しよう。頂点を一直線上に並べると面積はどうなるかな。
↑ 上の頂点を左右に水平移動させてみよう(等積変形)。高さが変わらなければ、頂点がどんなに傾いても面積は で常に一定になります。
Layer 2 — 定義・受験・証明
定義
三角形の面積は、底辺の長さと、底辺に対する高さ(底辺に垂直な線の長さ)を使って求められる。一方、座標平面上の頂点の座標だけが分かっている場合は、「シューレース公式(座標による面積公式)」を使うと、底辺や高さを作図しなくても直接面積を計算できる。
公式・数理モデル
証明・導出
三角形 の頂点を 、、 とする。三角形を囲む長方形(または台形)の面積から、周囲の余分な直角三角形・台形の面積を引くことで、この面積公式を導ける。
直感的には、原点から各頂点へのベクトルが作る平行四辺形の面積(外積に相当)を利用しており、
という式になる。これは多角形にも一般化でき、頂点 を反時計回りに並べたとき、
という「シューレース公式(靴ひも公式)」が成り立つ。底辺×高さ÷2の公式と、この座標公式は、同じ面積を異なる方法で表現しているだけであり、常に一致する。
押さえておきたいポイント
- 底辺×高さ÷2は「三角形は同じ底辺・高さの平行四辺形の半分」という考え方に基づく
- シューレース公式は座標だけから面積を直接計算できる
- 3点が一直線上にある(面積が0になる)かどうかもこの公式で判定できる
- 多角形は複数の三角形に分割することで、同じ考え方が拡張できる
本トピックの内容・数理モデルは、文部科学省学習指導要領(算数・数学・情報)および国際標準カリキュラムに準拠し、エンジニアリング現場の実装事例と照らし合わせてMath World Lab編集部により検証・作成されています。
Layer 3 — 工学応用・現場実装
ゲームの当たり判定と多角形の面積計算
2Dゲームやグラフィックス処理では、シューレース公式を使ってポリゴン(多角形)の面積を高速に計算する。これは、クリックが多角形の内側かどうかの判定や、地図データにおける敷地面積の算出など、幅広い場面で利用される基本アルゴリズムである。
1type Point = { x: number; y: number };23function polygonArea(points: Point[]): number {4 let sum = 0;5 const n = points.length;6 for (let i = 0; i < n; i++) {7 const { x: x1, y: y1 } = points[i];8 const { x: x2, y: y2 } = points[(i + 1) % n];9 sum += x1 * y2 - x2 * y1;10 }11 return Math.abs(sum) / 2;12}1314// 三角形の当たり判定エリアの面積を計算15const hitbox: Point[] = [16 { x: 0, y: 0 },17 { x: 4, y: 0 },18 { x: 0, y: 3 },19];2021console.log(polygonArea(hitbox)); // 6
次に学ぶならコレ!おすすめトピック
この単元と深い繋がりを持つ、あわせて学ぶと理解が深まるおすすめ単元