Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで三角形の面積を計算する方法をわかりやすく解説

三角形の面積の計算は、Pythonを使えば非常にシンプルなコードで実装できます。この記事では、代表的な2つの方法——「底辺と高さが分かっている場合」と「3つの辺の長さが分かっている場合」——について、具体的なコード例とともに解説します。

方法1:底辺と高さから面積を求める

三角形の底辺(base)と高さ(height)が分かっている場合は、以下の基本公式を使います。

面積 = 0.5 × 底辺 × 高さ

これをPythonの関数として実装すると、次のようになります。

def get_area(base, height):
    return 0.5 * base * height

print(get_area(10, 15))

このコードを実行すると、以下の出力が得られます。

75

底辺10、高さ15の三角形の面積は「10 × 15 ÷ 2 = 75」であり、正しく計算できていることが確認できます。

方法2:3辺の長さから面積を求める(ヘロンの公式)

高さが不明で、3つの辺の長さだけが分かっている場合は、ヘロンの公式(Heron's formula)を使用します。ヘロンの公式とは、3辺の長さから直接面積を求めることができる古典的な数学の公式です。

まず、3辺の長さの合計を2で割った値「s(半周長)」を求めます。

s = (a + b + c) / 2

その後、次の式で面積を計算します。

面積 = √( s × (s − a) × (s − b) × (s − c) )

Pythonでの実装例は以下の通りです。

def get_area(a, b, c):
    s = (a + b + c) / 2
    return (s * (s - a) * (s - b) * (s - c)) ** 0.5

print(get_area(10, 15, 10))

このコードを実行すると、以下の出力が得られます。

49.607837082461074

ここでは、累乗演算子 ** 0.5 を使って平方根を計算しています。math.sqrt() 関数を使っても同じ結果が得られます。

mathモジュールを使った書き方

import math

def get_area(a, b, c):
    s = (a + b + c) / 2
    return math.sqrt(s * (s - a) * (s - b) * (s - c))

print(get_area(10, 15, 10))

まとめ

  • 底辺と高さが分かっている場合は、「0.5 × 底辺 × 高さ」で面積を求められます。
  • 3辺の長さのみ分かっている場合は、ヘロンの公式を使えば面積を計算できます。
  • どちらも数行のコードで実装できるため、Python初心者の練習題材としても最適です。

状況に応じて適切な方法を選び、ぜひ実際にコードを書いて試してみてください。

  1. Pythonで点のリストから作れる最大の三角形の面積を求める方法

    平面上に与えられた点のリストの中から、任意の3点を選んで作ることができる三角形のうち、最も大きな面積を持つものを求める問題です。例えば、入力が [[0,0],[0,1],[1,0],[0,2],[2,0]] の場合、出力は 2 となります。解法のアプローチこの問題は、すべての3点の組み合わせについて三角形の面積を計算し、その最大値を求めることで解けます。手順は以下の通りです。結果を格納する変数 res を 0 で初期化する点のリストのサイズを N とする三重ループで、i、j、k の3つのインデックスの組み合わせをすべて列挙する(i < j < k)各組み合わせに対して、3点の座標

  2. Pythonで正四面体の表面積を計算するプログラム(√3×a²の公式)

    本記事では、正四面体の表面積を求める問題の解き方とそのアプローチについて詳しく解説します。 問題文 正四面体の一辺の長さが与えられたとき、その正四面体の表面積を求める必要があります。 正四面体とは 正四面体(Tetrahedron)とは、三角形を底面としたピラミッドのような形状の立体図形です。4つの三角形の面(側面に3つ、底面に1つ)と、4つの頂点(角)を持つ立体オブジェクトです。 計算式 一辺の長さを a とすると、正四面体の表面積は次の公式で求められます。 表面積 = √3 × a² この公式をもとに、以下のように面積を計算する関数を定義します。 サンプルコード import math