Глава 5 · Давайте поиграем с числами!
Тригонометрия без страха
sin и cos — это просто координаты точки на окружности радиусом 1. Вся тригонометрия строится вокруг этой одной картинки.
Тригонометрия пугает многих не самой математикой, а обозначениями. На деле идея простая:
для любой точки на окружности радиусом 1 (единичной окружности) координаты этой точки — это
и есть cos и sin угла.
Градусы и радианы
Python (как и почти вся математика за пределами школьной геометрии) считает углы в
радианах, не в градусах. Полный круг — это 360° или, что то же самое,
2π радиан:
gradusy_radiany.py
import math
print(math.radians(180)) # 3.141592653589793 — то есть π
print(math.degrees(math.pi)) # 180.0
math.sin(90) — это НЕ то, что вы думаете
math.sin(90) считает синус угла в 90 радиан (это огромный угол, много полных оборотов), а не 90 градусов! Перед тригонометрическими функциями почти всегда нужен math.radians(): math.sin(math.radians(90)).Единичная окружность
edinichnaya_okruzhnost.py
import math
ugol_gradusy = 30
ugol_radiany = math.radians(ugol_gradusy)
print(round(math.cos(ugol_radiany), 3)) # 0.866 — координата x точки на окружности
print(round(math.sin(ugol_radiany), 3)) # 0.5 — координата y точки на окружности
round() здесь не случаен
Без
round() math.sin(math.radians(30)) выдаёт 0.49999999999999994, а не ровно 0.5 — та же особенность float, которую мы разбирали в главе 4. Для сравнения углов тоже стоит использовать допуск (например, math.isclose()), а не ==.tan() и обратные функции
tan_obratnye.py
import math
print(round(math.tan(math.radians(45)), 3)) # 1.0
# обратная задача: известен tan, ищем угол
ugol = math.degrees(math.atan(1))
print(ugol) # 45.0
Практика: тригонометрия без страха
Интерактивный ноутбук прямо в браузере — Python 3.14 через Pyodide, без установки