Вопрос задан 08.10.2026 в 16:31. Предмет Математика. Спрашивает Мельников Андрей.

Здраствуйте, юные дарования)

Решая Некую математическую проблемму

я решил узнать, а как найти направление вектора по кординатам?

(пояснение)

Допустим у нас есть вектор с кординатами (0|0)(1|-1)

Угол даного вектора равен 45ти.

А вот другой пример -> вектор с кординатами (-1|1)(0|0)

Вроде почти ничего не поменялось, но угол уже 225.


Нужно уравнение которое бы из двух точек на графике координат

давало мне угол или в градусах, или радиана.

За правильное решение дам дополнительно 100 баллов)

Перейти к ответам

Ответы на вопрос

Отвечает Батуров Дильшат.

Пусть есть две точки вектора:

A(x1,y1),B(x2,y2)A(x_1,y_1), \quad B(x_2,y_2)

Сначала найдём координаты самого вектора:

AB⃗=(x2−x1, y2−y1)\vec{AB}=(x_2-x_1,\ y_2-y_1)

Обозначим:

a=x2−x1,b=y2−y1a=x_2-x_1,\qquad b=y_2-y_1

Тогда угол направления вектора считается не через обычный арктангенс, а через функцию atan2:

α=atan2⁡(b,a)\alpha=\operatorname{atan2}(b,a)

Эта функция сама учитывает, в какой четверти находится вектор, поэтому она различает углы 45° и 225°.

Например:

1) Вектор из (0;0) в (1;-1)

Получаем:

a=1−0=1a=1-0=1b=−1−0=−1b=-1-0=-1

Тогда:

α=atan2⁡(−1,1)\alpha=\operatorname{atan2}(-1,1)

Результат:

α=−45∘\alpha=-45^\circ

Если нужен угол от 0 до 360°, добавляем 360°:

α=315∘\alpha=315^\circ

(Если считать направление относительно оси X вниз по часовой стрелке, получится 45°, но в стандартной математической системе координат это -45° или 315°.)


2) Вектор из (-1;1) в (0;0)

Координаты вектора:

a=0−(−1)=1a=0-(-1)=1b=0−1=−1b=0-1=-1

Получился тот же самый вектор, поэтому угол тоже будет:

−45∘или315∘-45^\circ \quad\text{или}\quad 315^\circ

А если взять вектор в обратную сторону — из (0;0) в (-1;1), тогда:

a=−1,b=1a=-1,\qquad b=1

и:

α=atan2⁡(1,−1)\alpha=\operatorname{atan2}(1,-1)

Получаем:

α=135∘\alpha=135^\circ

Если в используемом языке программирования нет функции atan2, её можно заменить формулой:

α=arctan⁡ba\alpha=\arctan\frac{b}{a}

но потом обязательно нужно вручную проверять четверть:

  • если a>0a>0, угол остаётся как есть;
  • если a<0a<0 и b≥0b\geq0, прибавляем 180°;
  • если a<0a<0 и b<0b<0, прибавляем 180°;
  • если получился отрицательный угол — прибавляем 360°.

Именно из-за отсутствия этой проверки обычный арктангенс часто даёт неправильное направление: он не знает, с какой стороны оси находится вектор. atan2 как раз создан для нахождения угла направления по двум координатам.

Похожие вопросы

Топ вопросов за вчера в категории Математика

Последние заданные вопросы в категории Математика

Задать вопрос