【Python】[三角関数] 標準ライブラリ(math)で三角比(sin, cos, tan)を解く

■三角比とは

三角比とは、直角三角形のある角度(θ)における、「斜辺に対する高さ」、「斜辺に対する底辺」、「底辺に対する高さ」の比の値である。

上記3つの比の値をそれぞれ正弦(sin)、余弦(cos)、正接(tan)と呼ぶ。

▼θ = 30°の場合・・・

凡例:

■Pythonの標準ライブラリ(math)で三角比を解く

Pythonの標準ライブラリ(math)を使用して三角比を解く場合、以下のメソッドを使用する。

①度(度数法)をラジアン(弧度法)に変換

# 例:30°をラジアンに変換
math_radian = math.radians(30)

②ラジアンに変換した値をsin()、cos()、tan()にセット

math_sin = math.sin(math_radian)
math_cos = math.cos(math_radian)
math_tan = math.tan(math_radian)

■例題1

以下の図に記載の

sin30°
cos30°
tan30°

を解く

■サンプルコード (例題1)

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

# 30度(度数法)をラジアン(弧度法)に変換
math_radian30 = math.radians(30)

print('30°->ラジアン = ', math_radian30)

# sin30, cos30, tan30をそれぞれ算出
math_sin30 = math.sin(math_radian30)
math_cos30 = math.cos(math_radian30)
math_tan30 = math.tan(math_radian30)

# sin30°は0.5だが、計算誤差が生じる
print('sin30° = ', math_sin30)
print('cos30° = ', math_cos30)
print('tan30° = ', math_tan30)

# 便宜上少数第2位まで表示
print('sin30° = ', round(math_sin30, 2))
print('cos30° = ', round(math_cos30, 2))
print('tan30° = ', round(math_tan30, 2))

■実行結果 (例題1)

30°->ラジアン =  0.5235987755982988
sin30° =  0.49999999999999994
cos30° =  0.8660254037844387
tan30° =  0.5773502691896256
sin30° =  0.5
cos30° =  0.87
tan30° =  0.58

■例題2

以下の図に記載の

sin60°
cos60°
tan60°

を解く

■サンプルコード (例題2)

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

# 60度(度数法)をラジアン(弧度法)に変換
math_radian60 = math.radians(60)

print('60°->ラジアン = ', math_radian60)

# sin60, cos60, tan60をそれぞれ算出
math_sin60 = math.sin(math_radian60)
math_cos60 = math.cos(math_radian60)
math_tan60 = math.tan(math_radian60)

# cos60°は0.5だが、計算誤差が生じる
print('sin60° = ', math_sin60)
print('cos60° = ', math_cos60)
print('tan60° = ', math_tan60)

# 便宜上少数第2位まで表示
print('sin60° = ', round(math_sin60, 2))
print('cos60° = ', round(math_cos60, 2))
print('tan60° = ', round(math_tan60, 2))

■実行結果 (例題2)

60°->ラジアン =  1.0471975511965976
sin60° =  0.8660254037844386
cos60° =  0.5000000000000001
tan60° =  1.7320508075688767
sin60° =  0.87
cos60° =  0.5
tan60° =  1.73

■例題3

以下の図に記載の

sin45°
cos45°
tan45°

を解く

■サンプルコード (例題3)

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

# 45度(度数法)をラジアン(弧度法)に変換
math_radian45 = math.radians(45)

print('45°->ラジアン = ', math_radian45)

# sin45, cos45, tan45をそれぞれ算出
math_sin45 = math.sin(math_radian45)
math_cos45 = math.cos(math_radian45)
math_tan45 = math.tan(math_radian45)

# tan45°は1だが、計算誤差が生じる
print('sin45° = ', math_sin45)
print('cos45° = ', math_cos45)
print('tan45° = ', math_tan45)

# 便宜上少数第2位まで表示
print('sin45° = ', round(math_sin45, 2))
print('cos45° = ', round(math_cos45, 2))
print('tan45° = ', round(math_tan45, 2))

■実行結果 (例題3)

45°->ラジアン =  0.7853981633974483
sin45° =  0.7071067811865475
cos45° =  0.7071067811865476
tan45° =  0.9999999999999999
sin45° =  0.71
cos45° =  0.71

コメント