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
.
Примеры
>>> 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.])