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.