Python|ラジアンを度に変換する:math.degrees()

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()も活用

実務でも学習でも役立つ知識なので、ぜひコードを書いて手を動かしながら習得しましょう。

タイトルとURLをコピーしました