Góc trong toán học đo bằng độ (degree) hoặc radian. Python cung cấp hàm chuyển đổi trong module math và numpy.
1. Module math
math.degrees(radian) - Radian sang Degree
import math
print(f"1 rad = {math.degrees(1):.4f}°") # 57.2958°
print(f"20 rad = {math.degrees(20):.4f}°") # 1145.9156°
print(f"180 rad = {math.degrees(180):.4f}°") # 10313.2403°
math.radians(degree) - Degree sang Radian
print(f"1° = {math.radians(1):.6f} rad") # 0.017453 rad
print(f"60° = {math.radians(60):.6f} rad") # 1.047198 rad
print(f"180° = {math.radians(180):.6f} rad") # 3.141593 rad (π)
2. Module NumPy (vectorized)
NumPy hỗ trợ áp dụng lên cả mảng:
import numpy as np
# Scalars
print(f"1° = {np.deg2rad(1):.6f} rad")
print(f"1 rad = {np.rad2deg(1):.4f}°")
# Arrays
angles_deg = np.array([0, 30, 45, 60, 90])
angles_rad = np.deg2rad(angles_deg)
print("Degrees:", angles_deg)
print("Radians:", angles_rad)
Kết quả
Degrees: [ 0 30 45 60 90] Radians: [0. 0.52359878 0.78539816 1.04719755 1.57079633]
Công thức toán học
- Degree = Radian × 180/π
- Radian = Degree × π/180
Khi nào dùng math vs numpy?
- math: Scalar đơn lẻ, không phụ thuộc numpy
- numpy: Mảng lớn, vectorized, tính toán khoa học