numpy.arccos()
Функция numpy.arccos() вычисляет поэлементный арккосинус. Результат — в радианах в диапазоне [0, π]. Аргумент должен быть в диапазоне [-1, 1], иначе результат — nan.
Сигнатура
numpy.arccos(x, /, out=None, *, where=True, casting='same_kind',
order='K', dtype=None, subok=True[, signature, extobj])
Параметры
x— входной массив. Значения в[-1, 1].out— массив для записи результата.where— маска применения.dtype— тип результата.
Возвращаемое значение
ndarray или скаляр: углы в радианах. За пределами области определения возвращается nan и выдаётся предупреждение.
Примеры
Пример 1. Базовые значения.
import numpy as np
print(np.arccos([1.0, 0.0, -1.0]))
[0. 1.57079633 3.14159265]
Пример 2. Перевод результата в градусы.
x = np.array([0.5, np.sqrt(2)/2, np.sqrt(3)/2])
deg = np.degrees(np.arccos(x))
print(deg)
[60. 45. 30.]
Пример 3. Значение вне области определения.
with np.errstate(invalid='ignore'):
print(np.arccos(1.5))
nan
Пример 4. Угол между двумя векторами по их скалярному произведению.
a = np.array([1, 0, 0])
b = np.array([1, 1, 0]) / np.sqrt(2)
cos_t = np.dot(a, b)
angle = np.degrees(np.arccos(cos_t))
print(f"Угол: {angle:.1f}°")
Угол: 45.0°
Пример 5. Векторизированный расчёт по массиву косинусов.
cos_vals = np.linspace(-1, 1, 5)
print(np.arccos(cos_vals))
[3.14159265 2.0943951 1.57079633 1.04719755 0. ]
См. также
Примечание
Лицензия и источники
Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.