Как найти угол между прямой с двумя точками и лучём идущим из первой точки прямо на север (на верх) если известны координаты точек.
Возможно звучит не понятно, поэтому приложил картинку.

Чтобы найти угол между прямой, заданной двумя точками, и лучом, направленным из первой точки прямо на север (вверх), можно использовать тангенс угла наклона прямой. Для этого нужно вычислить разность координат между двумя точками, а затем применить обратный тангенс (арктангенс) к отношению вертикальной разности к горизонтальной разности.
Вот как это можно сделать на практике, используя язык программирования Python:
import math
def find_angle(x1, y1, x2, y2):
delta_x = x2 - x1
delta_y = y2 - y1
angle_rad = math.atan2(delta_y, delta_x)
angle_deg = math.degrees(angle_rad)
return angle_deg
# Пример использования
x1, y1 = 1, 2
x2, y2 = 3, 4
angle = find_angle(x1, y1, x2, y2)
angle_with_north = 90 - angle
print("Угол между прямой и лучом: ", angle_with_north)
В этом примере мы использовали функцию find_angle из предыдущего ответа для вычисления угла наклона прямой между точками (x1, y1) и (x2, y2). Затем мы вычислили угол севера относительно этой прямой, вычтя полученный угол из 90 градусов.
Для нашего примера с координатами (1, 2) и (3, 4) мы получим угол между прямой и лучом равным 90 - 45.0 = 45.0 градусов.
Решать не буду. Опишу ход решения.
- Из т.2 опусти перпендикуляр на луч. Обозначь: А -т.1; В-т. 2; С- основание перпендикуляра на луче. Получился прямоугольный тр-к
- АВС, в котором угол С -прямой по построению.
- Противоположный катет ВС=Х2-Х1; АВ=У2-У1;
- tgA=(Х2-Х1)/(У2-У1); A=arctgA