Найти угол по вершинам треугольника
Вы получили задачу: даны вершины треугольника – например, A(2, −1, 3), B(1, 1, 1), C(0, 0, 5) – и нужно найти один из его углов. Такие расчёты востребованы в аналитической геометрии, строительстве, навигации и 3D-моделировании. Ниже разберём два универсальных способа – через векторы и через теорему косинусов – с подробным примером и онлайн-калькулятором.
Как найти угол, если даны вершины треугольника?
Чтобы вычислить угол при выбранной вершине, достаточно координат трёх точек. Наиболее прямой путь – рассмотреть векторы, выходящие из этой вершины в две другие, и применить формулу косинуса угла между векторами:
cos A = (AB · AC) / (|AB| × |AC|)
Второй способ – сначала найти длины всех сторон по координатам, а затем использовать теорему косинусов:
cos A = (b² + c² − a²) / (2bc),
где a – сторона BC, противолежащая углу A, b = AC, c = AB. После нахождения косинуса нужный угол получают через арккосинус (в радианах или градусах).
Метод 1: через векторы и скалярное произведение
Пусть вершины треугольника заданы координатами A(x₁, y₁, z₁), B(x₂, y₂, z₂), C(x₃, y₃, z₃). Для вычисления угла при вершине A построим векторы:
AB = (x₂ − x₁, y₂ − y₁, z₂ − z₁) AC = (x₃ − x₁, y₃ − y₁, z₃ − z₁)
Затем находим:
- Скалярное произведение: AB · AC = xAB·xAC + yAB·yAC + zAB·zAC
- Длины векторов: |AB| = √(xAB² + yAB² + zAB²), |AC| = √(xAC² + yAC² + zAC²)
- Косинус угла: cos A = (AB · AC) / (|AB| · |AC|)
Угол A = arccos(cos A). Если нужны градусы, результат в радианах умножают на 180/π.
Для двумерных координат (x, y) достаточно обнулить z‑компоненту – формулы остаются теми же.
Это наиболее быстрый способ, поскольку не требует предварительного вычисления всех сторон.
Метод 2: через длины сторон и теорему косинусов
Если вам удобнее оперировать длинами, сначала вычислите все три стороны треугольника как расстояния между точками:
c = AB = √((x₂−x₁)² + (y₂−y₁)² + (z₂−z₁)²) b = AC = √((x₃−x₁)² + (y₃−y₁)² + (z₃−z₁)²) a = BC = √((x₃−x₂)² + (y₃−y₂)² + (z₃−z₂)²)
Затем для угла A по теореме косинусов:
a² = b² + c² − 2bc · cos A → cos A = (b² + c² − a²) / (2bc)
После нахождения cos A действуйте так же: примените арккосинус и при необходимости переведите в градусы.
Этот метод полезен, когда стороны уже понадобились для других расчётов (площадь, периметр) или когда нужно найти все три угла последовательно.
Пример: расчёт угла A для треугольника с вершинами A(2, −1, 3), B(1, 1, 1), C(0, 0, 5)
Метод 1 (векторы)
Векторы: AB = (1−2, 1−(−1), 1−3) = (−1, 2, −2) AC = (0−2, 0−(−1), 5−3) = (−2, 1, 2)
Скалярное произведение: AB·AC = (−1)·(−2) + 2·1 + (−2)·2 = 2 + 2 − 4 = 0
Длины: |AB| = √((−1)² + 2² + (−2)²) = √(1+4+4) = √9 = 3 |AC| = √((−2)² + 1² + 2²) = √(4+1+4) = √9 = 3
cos A = 0 / (3·3) = 0 → A = arccos(0) = π/2 радиан = 90°
Метод 2 (теорема косинусов)
Стороны: AB = 3 (уже вычислена) AC = 3 BC = √((0−1)² + (0−1)² + (5−1)²) = √(1+1+16) = √18 ≈ 4.2426
cos A = (3² + 3² − (√18)²) / (2·3·3) = (9+9−18) / 18 = 0 / 18 = 0
Результат совпадает – угол A = 90°.
Возможные ошибки и нюансы
- Неправильный выбор векторов. Для угла при вершине A берите векторы AB и AC, выходящие из A. Если ошибочно взять AB и CB, получите внешний угол или дополнение.
- Путаница с обозначениями сторон в теореме косинусов. Сторона, обозначенная a, всегда лежит напротив угла A. Если ищете угол A, то a = BC.
- Радианы вместо градусов. Стандартная функция arccos в языках программирования и продвинутых калькуляторах возвращает радианы. При ручном счёте проверяйте настройки инструмента.
- Чувствительность к округлению. При значениях косинуса, близких к ±1, угол резко меняется. Сохраняйте промежуточные результаты с максимальной точностью (не менее 4–5 знаков после запятой).
Приведённые формулы справедливы для любого треугольника. В целях самопроверки сумма трёх углов должна равняться примерно 180°. Если ваш треугольник задан в профессиональной сфере (строительство, проектирование), уточните требования к точности угловых измерений.