Функция arctan2
Функция arctan2 вычисляет арктангенс отношения y/x. В отличие от arctan,
функция учитывает знаки обоих аргументов, что позволяет определить правильный квадрант
для возвращаемого угла. Результат лежит в диапазоне от -π до π.
Первый параметр функции - это значения координаты y,
второй параметр - значения координаты x.
Синтаксис
np.arctan2(y, x, out=None, where=True)
Параметры:
- y - значения координаты y (может быть скаляром или массивом).
- x - значения координаты x (может быть скаляром или массивом).
- out - массив для сохранения результата (необязательно).
- where - условие для вычислений (необязательно).
Пример
Давайте вычислим арктангенс для точки с координатами (1, 1):
import numpy as np
res = np.arctan2(1, 1)
print(res)
Результат выполнения кода:
0.7853981633974483
Значение соответствует π/4 радиан, так как точка находится в первом квадранте.
Пример
Рассмотрим случай с отрицательными значениями координат. Точка (-1, -1):
import numpy as np
res = np.arctan2(-1, -1)
print(res)
Результат выполнения кода:
-2.356194490192345
Угол равен -3π/4 радиан, так как точка находится в третьем квадранте.
Пример
Функция может принимать массивы в качестве аргументов. Рассчитаем углы для нескольких точек с координатами x и y:
import numpy as np
x_arr = np.array([1, 0, -1, 0])
y_arr = np.array([0, 1, 0, -1])
angles = np.arctan2(y_arr, x_arr)
print(angles)
Результат выполнения кода:
[0. 1.57079633 3.14159265 -1.57079633]
Получили углы для осей: 0°, 90°, 180° и -90°.
Пример
Преобразуем полученные радианы в градусы с помощью функции rad2deg:
import numpy as np
x_arr = np.array([1, 0, -1, 0])
y_arr = np.array([0, 1, 0, -1])
angles_rad = np.arctan2(y_arr, x_arr)
angles_deg = np.rad2deg(angles_rad)
print(angles_deg)
Результат выполнения кода:
[ 0. 90. 180. -90.]