← Все вопросы

Как перевести градусы в радианы и посчитать синус угла?

Задан 26 месяцев назад544 просмотров2 ответа
5

Хочу посчитать sin угла 90 градусов, но math.sin(90) выдаёт какое-то странное число, не 1. Что я делаю не так?

2 ответа

9
✓ Принятый ответ — помог автору

Подвох в том, что math.sincos, 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. Это нормально для тригонометрии, при сравнении округляй или используй небольшую погрешность.

Ваш ответ

Войдите, чтобы ответить на вопрос.