【Python】正弦定理を使って問題を解く

■正弦定理

正弦定理とは、正弦(sin)を使用して、三角形とその外接円との関係を示す。

図のような関係にある場合、以下の式が成り立つ。

※Rは外接円の半径

上記の正弦定理およびPythonを使用して以下の例題を解く。

■例題1

三角形ABCにおいて、a = 6、A = 45°、B = 60°のとき、辺AC( = b)、辺AB(= c)、外接円Oの半径を求める。

▼サンプルコード

# -*- Cording:UTF-8 -*-
import math

# 変数宣言
a = 6
A = 45
B = 60

# 角度Cを求める
C = 180 - (A + B)

# 角度をラジアンに変換
radianA = math.radians(A)
radianB = math.radians(B)
radianC = math.radians(C)

# 正弦定理、a/sinA = b/sinB より
b = (a / math.sin(radianA)) * math.sin(radianB)

# 正弦定理、a/sinA = c/sinC より
c = (a / math.sin(radianA)) * math.sin(radianC)

# 正弦定理、2R = a/sinA より
R = (a / math.sin(radianA)) / 2

# 答えを表示
print('辺b = ', round(b, 2))
print('辺c = ', round(c, 2))
print('外接円Oの半径 = ', round(R, 2))

▼実行結果

辺b =  7.35
辺c =  8.2
外接円Oの半径 =  4.24

■例題2

三角形ABCにおいて、辺AB(c) = 5、A = 120°、C = 30°のとき、辺BC( = a)、辺AC(= b)、外接円Oの半径を求める。

▼サンプルコード

# -*- Cording:UTF-8 -*-
import math

# 変数宣言
c = 5
A = 120
C = 30

# 角度Cを求める
B = 180 - (A + C)

# 角度をラジアンに変換
radianA = math.radians(A)
radianB = math.radians(B)
radianC = math.radians(C)

# 正弦定理、a/sinA = c/sinC より
a = (c / math.sin(radianC)) * math.sin(radianA)

# 正弦定理、b/sinB = c/sinC より
b = (c / math.sin(radianC)) * math.sin(radianB)

# 正弦定理、2R = a/sinA より
R = (a / math.sin(radianA)) / 2

# 答えを表示
print('辺a = ', round(a, 2))
print('辺b = ', round(b, 2))
print('外接円Oの半径 = ', round(R, 2))

▼実行結果

辺a =  8.66
辺b =  5.0
外接円Oの半径 =  5.0

コメント