numpy.arctan2
-
numpy.arctan2(x1, x2, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature, extobj]) = <ufunc 'arctan2'> -
Элемент-но-wise арктангенс от
x1/x2с правильным выбором квадранта.Квадрант (т. е. ветвь) выбирается так, что
arctan2(x1, x2)— это подписанный угол в радианах между лучом, заканчивающимся в начале координат и проходящим через точку (1,0), и лучом, заканчивающимся в начале координат и проходящим через точку (x2,x1). (Обратите внимание на перестановку ролей: «y-координата» — это первый параметр функции, «x-координата» — второй.) По соглашению IEEE эта функция определена дляx2= +/-0 и для любой или обеихx1иx2= +/-inf (см. Примечания для конкретных значений).Эта функция не определена для комплексных аргументов; для так называемого аргумента комплексных значений используйте
angle.Параметры: -
x1 : array_like, real-valued -
y-координаты. -
x2 : array_like, real-valued -
x-координаты.x2должно быть совместимо для трансляции с формойx1или наоборот. -
out : ndarray, None, or tuple of ndarray and None, optional -
Расположение, в которое сохраняется результат. Если указано, оно должно иметь форму, к которой вводятся данные. Если не указано или
None, возвращается только что выделенный массив. Кортеж (возможен только в качестве ключевого аргумента) должен иметь длину, равную количеству выходных данных. -
where : array_like, optional -
Значения True указывают на то, что необходимо вычислить ufunc в этом положении, значения False — на то, чтобы оставить значение в выводе в покое.
- **kwargs
-
Для других ключевых аргументов см. документацию ufunc.
Возвращает: -
angle : ndarray -
Массив углов в радианах в диапазоне
[-pi, pi]. Это скаляр, еслиx1иx2— скаляры.
Примечания
arctan2 идентичен функции
atan2базовой библиотеки C. Следующие специальные значения определены в стандарте C: [1]x1x2arctan2(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.
Ссылки
[1] (1, 2) Стандарт ISO/IEC 9899:1999, «Язык программирования C». Примеры
Рассмотрим четыре точки в разных квадрантах:
>>> x = np.array([-1, +1, +1, -1]) >>> y = np.array([-1, -1, +1, +1]) >>> np.arctan2(y, x) * 180 / np.pi array([-135., -45., 45., 135.])
Обратите внимание на порядок параметров.
arctan2также определен, когдаx2= 0 и в нескольких других особых точках, получая значения в диапазоне[-pi, pi]:>>> np.arctan2([1., -1.], [0., 0.]) array([ 1.57079633, -1.57079633]) >>> np.arctan2([0., 0., np.inf], [+0., -0., np.inf]) array([ 0. , 3.14159265, 0.78539816])
-
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.arctan2.html