Как найти угол между векторами: формулы и методы
Разбираем, как вычислить угол между двумя векторами через скалярное и векторное произведение. Пошаговые инструкции, формулы в координатах и примеры.
Для решения большинства задач по геометрии, физике и программированию (особенно в разработке игр и 3D-графике) требуется определить угол между двумя векторами. Поскольку векторы можно свободно переносить в пространстве, для вычисления угла их принято сводить в одну точку (начало координат).
Существует два основных способа нахождения угла: через скалярное произведение (самый популярный) и через векторное произведение.
Способ 1: Через скалярное произведение (косинус)
Это универсальный метод, который работает в любом количестве измерений (2D, 3D и выше). В его основе лежит связь между длиной векторов и косинусом угла между ними.
Основная формула
Скалярное произведение двух векторов и определяется как:
Отсюда выражаем косинус искомого угла:
Расчёт в координатах
Если векторы заданы координатами и , расчет делится на три простых шага:
-
Находим скалярное произведение (сумма произведений соответствующих координат):
-
Вычисляем длины (модули) векторов по теореме Пифагора:
-
Вычисляем косинус и ищем угол: Подставляем значения в формулу . Чтобы получить сам угол , используем функцию арккосинуса ():
Пример: Даны векторы и .
- .
- ; .
- .
- .
Способ 2: Через векторное произведение (синус)
Этот метод применяется только в трехмерном пространстве (3D). Он позволяет найти синус угла, что полезно, если угол очень мал или если вам нужно найти площадь параллелограмма, образованного векторами.
Формула
Длина вектора, полученного в результате векторного произведения , равна:
Отсюда синус угла:
Особенность: Поскольку синус положителен для всех углов от 0° до 180°, этот метод не позволяет определить, является ли угол тупым (больше 90°). Для этого всё равно придется проверить знак скалярного произведения.
Как быстро определить тип угла по скалярному произведению
Если вам не нужно точное значение в градусах, а достаточно знать характер угла, посмотрите на знак результата скалярного произведения :
| Значение произведения | Тип угла | Косинус |
|---|---|---|
| Положительное () | Острый () | |
| Отрицательное () | Тупой () | |
| Равно нулю () | Прямой () |
Резюме: что выбрать?
- Если нужно просто найти угол используйте скалярное произведение. Это самый короткий путь с минимальным количеством вычислений.
- Если работаете с 3D-графикой и нужна нормаль к плоскости используйте векторное произведение.
- Если векторы сонаправлены угол равен .
- Если векторы противоположно направлены угол равен .