← Все вопросы
Как перевести градусы в радианы и посчитать синус угла?
5
Хочу посчитать sin угла 90 градусов, но math.sin(90) выдаёт какое-то странное число, не 1. Что я делаю не так?
2 ответа
9
✓ Принятый ответ — помог автору
Подвох в том, что math.sin (и cos, tan) работают в радианах, а не в градусах. sin(90) он понимает как 90 радиан, отсюда мусор.
Надо сначала перевести градусы в радианы:
import math
angle_deg = 90
angle_rad = math.radians(angle_deg)
print(math.sin(angle_rad)) # 1.0
Есть и обратная функция math.degrees(), если надо из радиан в градусы. Перевод по формуле: радианы = градусы · π / 180.
3
Маленькое дополнение: из-за погрешности дробных чисел результат может быть не ровно 1.0, а что-то вроде 0.9999999999. Это нормально для тригонометрии, при сравнении округляй или используй небольшую погрешность.
Ваш ответ
Войдите, чтобы ответить на вопрос.