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

Есть окружность r=44 на ней лежат точки: (0; 44) (28;33) и др. Как найти между ними угол? Есть сайт на нем можно вписать начало и конец вектора и получить угол. Но если я вписываю туда значения по кордам меньше нуля то угол как бы начинает отсчитыватся с другого места. если я считаю угол для точек 0; 44 и 28; 33 то угол ~40 а если для 0; 44 и 33; -26 то угол 51 тоесть этого впринципе не может быть. Мне нужно понять как универсально посчитать угол в любом из 4 половинок координат. Самое важное что потом по формулам надо будет перенести в программу. По этому и нужно понять почему так происходит. Если написать на сайте точки 0; 44 и 0; -44 показывает расчет по формулам 0 а по логике должно 180.

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Stanislav Volodarskiy

К каждому вектору (x, y) примените atan2(y, x) (atan2) - получится угол между данным вектором и осью X. Углы будут в диапазоне (-pi, pi]. Переведите углы в градусы, если нужно. Вычтите углы, приведите разницу в нужный диапазон.

→ Ссылка