Онлайн-калькулятор угла между двумя векторами в 2D и 3D. Введите координаты векторов, получите мгновенный результат: угол в градусах и радианах, косинус, скалярное произведение и длины векторов.
Вычислите угол между двумя векторами в градусах и радианах — введите координаты и получите мгновенный точный результат с косинусом, скалярным произведением и длинами.
Угол θ между векторами вычисляется через скалярное произведение (dot product). Вот ключевые формулы:
a · b = x₁·x₂ + y₁·y₂ — скалярное произведение для 2D
a · b = x₁·x₂ + y₁·y₂ + z₁·z₂ — скалярное произведение для 3D
|a| = √(x₁² + y₁² + z₁²) — длина (модуль) вектора a
|b| = √(x₂² + y₂² + z₂²) — длина (модуль) вектора b
cos(θ) = (a · b) / (|a| × |b|) — косинус угла между векторами
θ = arccos(cos(θ)) — угол в радианах
θ° = θ × 180 / π — перевод радиан в градусы
Обозначения: x₁, y₁, z₁ — координаты вектора a; x₂, y₂, z₂ — координаты вектора b; |a| — длина вектора; θ — искомый угол; arccos — арккосинус (обратная тригонометрическая функция).
Ограничение: формула применима только для ненулевых векторов. Если хотя бы один вектор имеет нулевую длину (все координаты равны 0), угол не определён.
Разберём ход вычислений на примере a = (3, 4) и b = (1, 2) в 2D:
Шаг 1. Вычисляем скалярное произведение: a·b = 3×1 + 4×2 = 3 + 8 = 11.
Шаг 2. Находим длины: |a| = √(3² + 4²) = √(9 + 16) = √25 = 5; |b| = √(1² + 2²) = √(1 + 4) = √5 ≈ 2,2361.
Шаг 3. Считаем косинус: cos(θ) = 11 / (5 × 2,2361) ≈ 11 / 11,1803 ≈ 0,9839.
Шаг 4. Находим угол через арккосинус: θ = arccos(0,9839) ≈ 0,1799 радиан.
Шаг 5. Переводим в градусы: θ° ≈ 0,1799 × 180 / 3,1416 ≈ 10,3°. Векторы довольно близки по направлению — угол маленький.
Расчёт основан на стандартных формулах векторной алгебры из курса математики средней школы и первого курса технических вузов. Используются определения скалярного произведения, модуля вектора и арккосинуса. Для учебных и справочных целей; при ответственных инженерных расчётах проверяйте результат вручную или в специализированном ПО (MATLAB, Mathcad).
Вектор — это направленный отрезок, который характеризуется длиной и направлением. В школьной геометрии векторы изображают стрелочками на плоскости или в пространстве. Но идея вектора гораздо шире: в физике сила, скорость и ускорение — векторы; в анализе данных вектор — это просто упорядоченный набор чисел (признаков).
Угол между векторами показывает, насколько сильно их направления совпадают или расходятся. Если угол равен 0°, векторы смотрят строго в одну сторону; если 90° — они перпендикулярны и независимы; если 180° — противоположны. Это фундаментальное понятие связывает геометрию, физику и анализ данных.
В машинном обучении, например, угол (точнее, его косинус) используют как меру сходства двух объектов: чем меньше угол между векторами их признаков, тем объекты «похожее». В физике через угол вычисляют механическую работу: A = F·s·cos(θ), где θ — угол между силой и перемещением.
Представьте две стрелки, выходящие из одной точки. Угол между ними можно измерить транспортиром — это и есть угол между векторами. Если векторы не выходят из одной точки, их можно мысленно перенести параллельно самим себе, потому что вектор не привязан к точке — важны лишь его длина и направление.
Интуитивно: угол 0° — стрелки сливаются; угол 90° — стрелки образуют прямой угол (как стороны квадрата); угол 180° — стрелки направлены в противоположные стороны на одной прямой.
Важно понимать, что угол между векторами ВСЕГДА лежит в пределах от 0° до 180° включительно. Не бывает угла 270° или 350° между векторами — это уже вопрос ориентации системы координат, а не взаимного направления.
Скалярное произведение (dot product) — это операция над двумя векторами, результатом которой является ЧИСЛО (скаляр). Для векторов a = (x₁, y₁, z₁) и b = (x₂, y₂, z₂) оно вычисляется как сумма произведений соответствующих координат: a·b = x₁x₂ + y₁y₂ + z₁z₂.
Главное свойство: скалярное произведение СВЯЗАНО с углом между векторами формулой: a·b = |a|·|b|·cos(θ). Из этой формулы и получается выражение для косинуса: cos(θ) = (a·b)/(|a|·|b|).
Эта связь — мост между алгебраическим (координатным) и геометрическим (направленческим) описанием векторов. Она позволяет находить угол, зная только координаты, без всяких чертежей и транспортира.
Рассмотрим векторы a = (2, 1, 3) и b = (4, 0, 2). Скалярное произведение: a·b = 2×4 + 1×0 + 3×2 = 8 + 0 + 6 = 14.
Длина |a| = √(2² + 1² + 3²) = √(4 + 1 + 9) = √14 ≈ 3,7417. Длина |b| = √(4² + 0² + 2²) = √(16 + 0 + 4) = √20 ≈ 4,4721.
Косинус угла: cos(θ) = 14 / (3,7417 × 4,4721) ≈ 14 / 16,7332 ≈ 0,8367. Угол в радианах: θ = arccos(0,8367) ≈ 0,5796. В градусах: 0,5796 × 180 / π ≈ 33,2°.
Векторы направлены в целом похоже (угол острый), но не идентично — небольшая разница в 33 градуса отражает то, что у них разные пропорции координат.
Ортогональность (перпендикулярность): если a·b = 0, то cos(θ) = 0 и θ = 90°. Это означает, что векторы не имеют общей проекции друг на друга — они полностью независимы по направлению. Пример: a = (1, 0), b = (0, 5).
Коллинеарность (параллельность): если один вектор равен другому, умноженному на число (b = k·a), то угол либо 0° (k > 0), либо 180° (k < 0). В этом случае |a·b| = |a|·|b| и |cos(θ)| = 1. Пример: a = (3, −6), b = (−1, 2) — здесь k = −1/3, угол 180°.
Эти два случая часто проверяют в геометрических задачах: ортогональность используют при построении перпендикуляров и систем координат, коллинеарность — при проверке, лежат ли три точки на одной прямой.
В 3D-графике нормали поверхностей — это векторы, перпендикулярные граням. Угол между нормалью и направлением на источник света определяет яркость пикселя: чем меньше угол, тем ярче освещена грань (свет падает почти перпендикулярно).
В игровых движках (Unity, Unreal Engine) через скалярное произведение проверяют, находится ли объект в поле зрения персонажа, вычисляют угол поворота камеры и сглаживают анимации. Операция arccos используется постоянно, но разработчики часто оптимизируют её через сравнение косинусов (без вычисления самого угла), чтобы экономить процессорное время.
В NLP (обработке естественного языка) тексты превращают в векторы чисел (например, через TF-IDF или эмбеддинги). Косинусное сходство — это cos(θ) между двумя векторами текстов. Значение 1 означает идентичность по содержанию, 0 — полную независимость тем, а −1 — противоположность смыслов (что редко встречается на практике).
Такой подход устойчив к масштабу: если один текст в два раза длиннее другого, но пропорции слов те же, косинусное сходство всё равно покажет 1. Именно это свойство делает косинусную меру популярной в поисковых системах и рекомендательных алгоритмах.
Всегда сначала вычисляйте скалярное произведение и длины отдельно, а затем подставляйте в формулу для косинуса. Не пытайтесь делать всё в одно действие — легко запутаться в скобках и знаках. Используйте калькулятор для извлечения квадратного корня и арккосинуса.
При работе с дробными координатами сохраняйте промежуточные результаты с запасом по точности (хотя бы 5–6 знаков), а округляйте только итоговый угол. Это особенно важно, когда векторы почти параллельны или почти перпендикулярны — там даже маленькая ошибка округления может заметно исказить угол.
Если результат кажется нелогичным (например, ожидали 90°, а получили 89,7°), перепроверьте координаты. Часто ошибка кроется в перепутанных значениях x и y или в пропущенном знаке минус.
Нужен другой инструмент?
Все инструменты в категории