numpy.arctan2

numpy.arctan2(x, *ufunc_args) = <ufunc 'arctan2'>

Функция arctan2() вычисляет arctan(x1/x2) и возвращает значение угла в правильном квадранте (четверти координатной плоскости).

Параметры:
x1 - число или подобный массиву объект
y - координата или массив y-координат.
x2 - подобный массиву объект
x - координата или массив x-координат.
*ufunc_args - аргументы универсальной функции
Аргументы, позволяющие настроить и оптимизировать работу функции (подробнее см. универсальные функции).
Возвращает:
результат - массив NumPy или его подкласс
Угол или массив углов в радианах из диапазона [-pi, pi].

Замечание

Квадрант вычисляется из учета, что arctan2(x1, x2) является знаком угла (в радианнах) между двумя лучами, первый, проходит через начало координат и точку (1, 0), а второй через начало координат и точку (x2, x1). В данном случае x2 соответствует y-координате, а x1 соответствует x-координате.

По соглашению IEEE функция arctan2(x1, x2) определена для x2 = +/-0, а также для одного или одновременно обоих значений x1 и x2 равных +/-inf.

Для функции arctan2(x1, x2) определены следующие специальные значения:

x1 x2 arctan2(x1, x2)
+/- 0 +0 +/- 0
+/- 0 -0 +/- pi
> 0 +/- inf +0 / +pi
< 0 +/- inf -0 / -pi
+/- inf +inf +/- (pi/4)
+/- inf -inf +/- (3*pi/4)

Значения -0 и +0 являются разными числами с плавающей точкой, точно так же как и значения -inf и +inf.

Данная функция не определена для комплексных аргументов. Для вычисления углов комплексных значений можно воспользоваться функцией angle.

Смотрите так же: arctan, tan, angle

Примеры

>>> import numpy as np
>>> 
>>> np.arctan2(0.77, -0.33)
1.9756881130799802
>>> 
>>> #  Рассмотрим 4-е точки в разных квадрантах
... 
>>> x = np.array([+1, +1, -1, -1])
>>> y = np.array([+1, -1, +1, -1])
>>> 
>>> np.arctan2(y, x)    #  Значения углов в радианах
array([ 0.78539816, -0.78539816,  2.35619449, -2.35619449])
>>> 
>>> np.arctan2(y, x)*180/np.pi    #  Значения углов в градусах
array([  45.,  -45.,  135., -135.])