Содержание
Математикам и программистам часто нужно найти угол между двумя векторами. К счастью, формула, используемая для вычисления этого угла, не требует ничего, кроме простого скалярного произведения. Хотя аргументы, лежащие в основе этой формулы, легче понять при использовании двумерных векторов, мы можем легко адаптировать ее к векторам с любым количеством компонентов.
меры
Часть 1 из 2: вычисление угла между двумя векторами
- Определите два вектора. Запишите всю известную информацию о двух векторах. В рамках этого руководства мы предположим, что вы знаете векторы только в терминах их размерных координат (также называемых составные части). Если вы уже знаете модуль или стандарт этих векторов (то есть их длины), вы можете пропустить некоторые из следующих шагов.
- Пример: мы будем рассматривать двумерные векторы = (2,2) и = (0,3). Эти два вектора можно переписать как = 2я + 2J е = 0я + 3J = 3J.
- Хотя в нашем примере используются два двумерных вектора, мы можем применить следующие инструкции к векторам с любым количеством компонентов.
-
Напишите формулу косинуса. Чтобы найти значение угла θ между любыми двумя векторами, мы должны сначала вычислить косинус этого угла. Вы можете поискать и узнать формулу подробно или просто написать ее, как показано ниже:- cosθ = (•) / (|||| ||||)
- |||| представляет собой модуль (или длина) вектора ».
- • представляет скалярное произведение (или внутреннее произведение) двух векторов.
-
Вычислите модуль каждого вектора. Представьте себе прямоугольный треугольник, образованный компонентом Икс вектора, его составляющая Y и сам вектор. В этом треугольнике вектор играет роль гипотенузы; поэтому, чтобы найти его длину, мы применим теорему Пифагора. В результате эта формула легко применима к векторам с любым количеством компонентов.- || и || = u1 + ты2, Если вектор имеет более двух компонентов, просто продолжайте добавлять + u3 + ты4 +...
- Следовательно, для двумерного вектора нам придется || и || = √ (u1 + ты2).
- В нашем примере |||| = √ (2 + 2) = √ (8) = 2√2. |||| = √(0 + 3) = √(9) = 3.
-
Вычислите скалярное произведение между двумя векторами. Вы уже должны знать метод умножения векторов, также называемый скалярное произведение, Чтобы вычислить скалярное произведение двух векторов с точки зрения их компонентов, мы умножаем компоненты в одном направлении друг на друга, а затем складываем результаты этих произведений.- Если вы работаете с программами для компьютерной графики, сначала посетите раздел «Советы», прежде чем продолжить.
- С математической точки зрения, • = u1v1 + ты2v2, где u = (u1, ты2). Если в вашем векторе более двух компонентов, просто продолжайте добавлять + u3v3 + ты4v4...
- В нашем примере • = u1v1 + ты2v2 = (2)(0) + (2)(3) = 0 + 6 = 6, Это значение скалярного произведения векторов и.
- Подставьте эти результаты в формулу косинуса. Помните, cosθ = (•) / (|||| || ||). Мы уже вычислили скалярное произведение и модуль двух векторов. Теперь давайте заменим эти значения в формуле и вычислим косинус угла.
- В нашем примере cosθ = 6 / (2√2 * 3) = 1 / √2 = √2 / 2.
- Найдите угол на основе вашего косинуса.
Используйте функцию arc или cos вашего калькулятора, чтобы определить угол θ по значению косинуса. В некоторых случаях вы можете найти значение угла на основе единичной окружности.- В нашем примере cosθ = √2 / 2. Введите в калькуляторе "arccos (√2 / 2)", чтобы найти угол. Другой вариант - искать угол θ единичной окружности, где cosθ = √2 / 2: это будет верно для θ = /4 или 45 °.
- Собрав всю информацию вместе, мы получим окончательную формулу θ = arccosine ((•) / (|||| || ||))
Часть 2 из 2: Определение формулы для расчета угла
- Разберитесь в назначении формулы. Формула, которую мы использовали для вычисления угла между двумя векторами, не была получена из ранее существовавших правил; вместо этого он был создан как определение скалярного произведения между двумя векторами и угла между ними. Однако это решение не произвольное. При более внимательном рассмотрении базовой геометрии мы можем понять, почему эта формула приводит к таким полезным и интуитивно понятным определениям.
- В следующих примерах используются двумерные векторы, поскольку они являются наиболее интуитивно понятным типом для работы. Свойства векторов трех и более измерений определяются общей формулой (также очень похожим образом).
- Просмотрите закон косинуса. В любом треугольнике рассмотрим угол θ, образованный сторонами и В и сторона ç напротив этого угла. Согласно закону косинусов c = a + b -2abпояс(Θ). Демонстрацию этой формулы можно легко получить, зная основы геометрии.
- Соедините два вектора, чтобы сформировать треугольник. Нарисуйте пару векторов и с углом θ между ними. Затем нарисуйте между ними третий вектор, чтобы сформировать треугольник. Другими словами, нарисуйте вектор так, чтобы + = или просто = -.
- Примените к этому треугольнику закон косинуса. Заменим длину сторон нашего векторный треугольник (то есть модуль вектора) в формуле закона косинуса:
- || (а - б) || = || а || + || b || - 2 || а || || b ||пояс(θ)
- Перепишите формулу, используя скалярные произведения. Помните, что скалярное произведение - это увеличение одного вектора, проецируемого на другой. Само скалярное произведение вектора не требует проецирования, поскольку направление не меняется. Это означает, что • = || a ||. Основываясь на этой информации, перепишем уравнение закона косинуса:
- (-) • (-) = • + • - 2 || a || || b ||пояс(θ)
- Упростите формулу. Разверните продукты в левой части уравнения, а затем упростите его, пока не дойдете до известной нам формулы для вычисления углов.
- • - • - • + • = • + • - 2 || a || || b ||пояс(θ)
- - • - • = -2 || a || || b ||пояс(θ)
- -2 (•) = -2 || a || || b ||пояс(θ)
- • = || a || || b ||пояс(θ)
подсказки
- Для быстрого разрешения примените следующую формулу к любой двухмерной векторной паре: cosθ = (u1 • v1 + ты2 • v2) / (√ (u1 • ты2) • √ (v1 • v2)).
- Если вы работаете с программами компьютерной графики, вам, скорее всего, потребуется знать только направление векторов, а не их длину. Выполните следующие действия, чтобы упростить уравнения и ускорить выполнение программы:
- Нормализуйте каждый вектор, то есть найдите единичный вектор, который имеет то же направление, что и исходный вектор. Для этого разделите каждый компонент вектора на модуль вектора.
- Вычислите скалярное произведение нормализованных векторов, а не исходных векторов.
- Поскольку модуль (то есть длина) нормированных векторов унитарен, мы можем исключить их из формулы. Ваше окончательное уравнение для вычисления углов будет дугой (•).
- Основываясь на формуле закона косинуса, мы можем быстро определить, является ли рассматриваемый угол острым или тупым. Начните с cosθ = (•) / (|||| ||||):
- Левая и правая части уравнения должны иметь одинаковый знак (положительный или отрицательный).
- Поскольку длины всегда положительны, cosθ всегда будет иметь тот же знак, что и скалярное произведение.
- Следовательно, если скалярное произведение положительно, cosθ будет положительным. Это означает, что угол находится в первом квадранте единичной окружности, то есть θ <π / 2 или 90 °. Следовательно, угол острый.
- Если скалярное произведение отрицательно, cosθ отрицателен. Это означает, что угол находится во втором квадранте единичной окружности, то есть π / 2 <θ ≤ π или 90 ° <θ ≤ 180 °. Поэтому угол тупой.