Top.Mail.Ru
Ответы

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

Мне известны координаты точек A, B и C. Их координаты могут быть любыми (допускается наложение) CA и CB это векторы a и b.
Известен угол α (в радианах, от 0 до 2 * пи). Мне нужно найти угол β (угол должен быть в радианах, от -пи до пи, нужен указанный угол, а не меньший)

Нужен алгоритм решения задачи



Технически это не домашнее задание, но мне очень нужен этот алгоритм

Буду очень благодарен тому, кто ответит

По дате
По рейтингу
Аватар пользователя
Новичок

Если точки А, B, C известны, то угол α не нужен. Косинус угла между векторами а и b:

cos(a,b)= (a∘b)/|a|·|b|

где

a∘b - скалярное произведение векторов а=(а₁,а₂) и b=(b₁, b₂):

a∘b = а₁b₁ + а₂b₂

|а| - длина вектора а
|b| - длина вектора b

Аватар пользователя
Мастер

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