Математика / Матрицы, определители

Косинус угла между векторами

Косинус угла между двумя ненулевыми векторами равен скалярному произведению, деленному на произведение их длин. Формула переводит координаты в геометрический угол.

Опубликовано: Обновлено:

Формула

$$\cos\varphi=\frac{a\cdot b}{\|a\|\,\|b\|}$$
Схема Знак косинуса и тип угла

Острый угол дает положительный косинус, прямой угол - ноль, тупой угол - отрицательный косинус.

Нормировка скалярного произведения длинами превращает координатный расчет в угол.

Обозначения

$\varphi$
угол между ненулевыми векторами a и b, градусы или радианы
$a\cdot b$
скалярное произведение векторов, произведение единиц координат
$\|a\|,\|b\|$
длины векторов a и b, единица координат

Условия применения

  • Оба вектора должны быть ненулевыми, потому что длина в знаменателе не может равняться нулю.
  • Скалярное произведение и длины должны быть рассчитаны в одной и той же евклидовой метрике.
  • Координаты векторов должны быть совместимы по смыслу и масштабу, если угол интерпретируется прикладно.

Ограничения

  • Формула не определяет угол с нулевым вектором: у нулевого вектора нет направления.
  • При численных расчетах из-за округления значение дроби иногда получается чуть больше 1 или меньше -1; перед arccos его обычно ограничивают интервалом [-1, 1].
  • В задачах анализа данных косинус угла показывает похожесть направления, но не учитывает различие длины векторов.

Подробное объяснение

Формула угла между векторами следует из двух представлений скалярного произведения. С одной стороны, его можно посчитать по координатам как сумму попарных произведений. С другой стороны, геометрически оно равно произведению длин векторов и косинуса угла между ними. Если приравнять эти два взгляда, получается cos(phi) = (a·b)/(||a||||b||).

Деление на длины убирает влияние масштаба. Векторы (1, 2) и (10, 20) направлены одинаково, хотя второй в десять раз длиннее. Их косинус угла равен 1, потому что нормировка длинами оставляет только направление. Это объясняет, почему формула так важна в задачах сравнения формы, направления или структуры данных.

Знак косинуса дает быструю геометрическую диагностику. Если cos(phi) > 0, угол острый; если cos(phi) = 0, векторы ортогональны; если cos(phi) < 0, угол тупой. Значение 1 соответствует одинаковому направлению, значение -1 - противоположному. Для вычисления самого угла после нахождения косинуса применяют обратную функцию arccos.

В прикладных расчетах стоит помнить, что формула чувствительна к выбору координат и масштаба. Например, в текстовом поиске векторы слов часто нормируют, потому что важнее состав документа, чем абсолютное число слов. В инженерной геометрии, наоборот, длина векторов может быть физически важна, и один только косинус не заменяет полный анализ.

Как пользоваться формулой

  1. Проверьте, что оба вектора ненулевые.
  2. Вычислите скалярное произведение векторов.
  3. Найдите длину каждого вектора.
  4. Разделите скалярное произведение на произведение длин.
  5. При необходимости найдите угол через arccos полученного значения.

Историческая справка

Идея измерять угол через косинус возникла в классической тригонометрии и геометрии, а координатная форма стала естественной после развития аналитической геометрии. Когда в XIX веке векторные методы начали активно применяться в физике, стало удобно выражать работу, проекции и углы через скалярное произведение. Связь a·b = ||a||||b||cos(phi) оказалась центральной: она переводила геометрический угол в алгебраическое вычисление по координатам. В XX веке та же формула стала базовой в функциональном анализе, численных методах и статистике. В информационном поиске и машинном обучении ее нормированная часть известна как косинусная близость: она помогает сравнивать направления векторов признаков без прямой зависимости от их длины.

Историческая линия формулы

Формула не имеет единственного автора. Ее тригонометрическая часть связана с классической геометрией, координатная запись - с аналитической геометрией, а современное векторное использование - с развитием векторного анализа и линейной алгебры в XIX-XX веках.

Пример

Пусть a = (1, 2, 2), b = (2, 1, 2). Сначала вычисляем скалярное произведение: a·b = 1·2 + 2·1 + 2·2 = 2 + 2 + 4 = 8. Длины равны ||a|| = sqrt(1 + 4 + 4) = 3 и ||b|| = sqrt(4 + 1 + 4) = 3. Тогда cos(phi) = 8/(3·3) = 8/9. Угол равен arccos(8/9), примерно 27,3 градуса. Такой малый угол говорит, что направления векторов близки, хотя координаты не одинаковы. Если бы скалярное произведение было равно нулю, косинус был бы нулевым, а угол - 90 градусов. Если бы косинус был отрицательным, угол был бы тупым, то есть направления векторов в среднем расходились бы.

Частая ошибка

Самая частая ошибка - забыть разделить скалярное произведение на длины. Само число a·b зависит от масштаба векторов и не является косинусом. Вторая ошибка - пытаться найти угол с нулевым вектором: деление на нулевую длину невозможно. Третья ошибка - округлить промежуточные длины слишком грубо и получить косинус больше 1. Еще одна ошибка - путать косинус и сам угол: значение 0,5 означает угол 60 градусов, а не 0,5 градуса.

Практика

Задачи с решением

Косинус угла в R2

Условие. Найдите cos(phi) для a = (3, 0) и b = (3, 3).

Решение. Скалярное произведение равно 3·3 + 0·3 = 9. Длины: ||a|| = 3, ||b|| = sqrt(18) = 3sqrt(2). Тогда cos(phi) = 9/(3·3sqrt(2)) = 1/sqrt(2).

Ответ. 1/sqrt(2), угол 45 градусов

Ортогональные векторы

Условие. Определите угол между a = (2, -1) и b = (1, 2).

Решение. Скалярное произведение: 2·1 + (-1)·2 = 0. Векторы ненулевые, значит cos(phi) = 0, а угол равен 90 градусов.

Ответ. 90 градусов

Калькулятор

Посчитать по формуле

Введите значения и нажмите «Рассчитать».

Дополнительные источники

  • MIT OpenCourseWare 18.06SC Linear Algebra, unit on projections and orthogonality
  • OpenStax Calculus Volume 3, section on dot products and angles
  • Jim Hefferon, Linear Algebra, section on orthogonality

Связанные формулы

Математика

Скалярное произведение векторов

$a\cdot b=\sum_{i=1}^{n}a_i b_i$

Скалярное произведение складывает попарные произведения координат двух векторов и дает число. Через него находят длину, угол между векторами, ортогональность и проекции.

Математика

Длина вектора в Rn

$\|x\|=\sqrt{x_1^2+x_2^2+\dots+x_n^2}$

Длина вектора в евклидовом пространстве показывает, насколько далеко точка с координатами вектора находится от начала координат. Формула обобщает теорему Пифагора на любое число координат.

Математика

Матричное произведение

$(AB)_{ij}=\sum_{k=1}^{m}a_{ik}b_{kj}$

Матричное произведение строит элемент новой матрицы как скалярное произведение строки первой матрицы и столбца второй. Порядок множителей важен.