1. はじめに
この記事ではPython|ラジアンを度に変換する:math.degrees()の使い方を解説します。ラジアン(radian)と度(degree)は角度を表す2つの代表的な単位で、プログラミングの計算や可視化で頻繁に登場します。math.degrees()
を使うと、Pythonで計算したラジアンを簡単に度に変換できます。本記事では、基本構文、具体的なコード例、応用例、注意点、実務での活用方法まで丁寧に説明します。
2. Pythonでの基本解説:math.degrees()とは
2.1 概念と用途
math.degrees(x)
は、ラジアン単位の数値を度単位に変換する関数です。三角関数や回転角の計算はラジアンで行われることが多いですが、人間が理解しやすいのは度表示です。そのため、結果を表示するときにmath.degrees()
を使います。
2.2 基本的なコード例
import math
# π/2(ラジアン)を度に変換
rad = math.pi / 2
deg = math.degrees(rad)
print("ラジアン:", rad)
print("度:", deg)
実行結果:
ラジアン: 1.5707963267948966
度: 90.0
この例ではmath.pi/2
(約1.5708ラジアン)を度に変換し、90度が得られます。
3. よくある使い方・応用例
3.1 複数値の一括変換
リスト内包表記やmap()
を使って複数のラジアンを一度に変換できます。
import math
radian_list = [0, math.pi/6, math.pi/4, math.pi/3, math.pi/2]
# リスト内包表記
degree_list = [math.degrees(x) for x in radian_list]
print(degree_list)
# map関数
degree_list2 = list(map(math.degrees, radian_list))
print(degree_list2)
実行結果:
[0.0, 30.0, 45.0, 60.0, 90.0]
[0.0, 30.0, 45.0, 60.0, 90.0]
3.2 グラフ表示での活用
matplotlib
を使ったグラフでは、計算はラジアンで行いつつ、軸ラベルを度に変換して表示すると分かりやすくなります。
import math
import numpy as np
import matplotlib.pyplot as plt
x = np.linspace(0, 2*math.pi, 100)
y = np.sin(x)
# 軸ラベル用のラジアン
xt = [0, math.pi/2, math.pi, 3*math.pi/2, 2*math.pi]
xt_labels = [f"{int(math.degrees(v))}°" for v in xt]
plt.plot(x, y)
plt.xticks(xt, xt_labels)
plt.title("sin(x) - 度で表示したx軸")
plt.show()
3.3 実務での応用例
- センサー値(ラジアン)を人間が理解しやすい度でログ出力
- ゲームやロボット制御で回転角度を表示
- 地図やGPSの方位角表示
4. 注意点・エラー対策
4.1 入力の型に注意
math.degrees()
は数値型以外を渡すとエラーになります。
import math
try:
print(math.degrees("1.57"))
except TypeError as e:
print("エラー:", e)
# 対処法
val = "1.5708"
deg = math.degrees(float(val))
print("変換後:", deg)
実行結果:
エラー: must be real number, not str
変換後: 89.99984798841183
4.2 浮動小数点の誤差
浮動小数点計算では丸め誤差が発生する場合があります。表示時はround()
で桁数を整えると見やすくなります。
deg = math.degrees(math.pi/2)
print(deg)
print(round(deg, 2))
実行結果:
90.0
90.0
4.3 numpy配列を使う場合
大量データの変換はnumpy.rad2deg()
が便利です。
import numpy as np
import math
arr = np.array([0, math.pi/6, math.pi/4])
deg_arr = np.rad2deg(arr)
print(deg_arr)
実行結果:
[ 0. 30. 45.]
5. まとめ
math.degrees()
はラジアンを度に変換する標準関数- グラフ表示やUI、ログ出力など人間に見せる場面で有効
- 型エラーや浮動小数点誤差に注意
- 配列処理には
numpy.rad2deg()
も活用
実務でも学習でも役立つ知識なので、ぜひコードを書いて手を動かしながら習得しましょう。