Как найти угол по трем точкам Point? у меня есть три точки типа point, A,B,C. Как кодом найти угол между AB и BC. В школе учился, тригонометрию знаю. Просто хочу узнать, может уже есть какие то готовые решения в стандартной библиотеке или вроде того.
Вы можете использовать следующий код на Python для нахождения угла между векторами AB и BC:
import mathdef angle_between_points(A, B, C):
AB = math.sqrt((B.x - A.x)**2 + (B.y - A.y)**2)
BC = math.sqrt((C.x - B.x)**2 + (C.y - B.y)**2)
dot_product = (B.x - A.x) * (C.x - B.x) + (B.y - A.y) * (C.y - B.y)
cos_angle = dot_product / (AB * BC)
angle = math.degrees(math.acos(cos_angle))
return angle
# Пример использования функции
class Point:
def __init__(self, x, y):
self.x = x
self.y = y
A = Point(0, 0)
B = Point(1, 1)
C = Point(2, 0)
angle = angle_between_points(A, B, C)
print(angle)
Этот код вычисляет угол между векторами AB и BC при помощи формулы для скалярного произведения векторов и арккосинуса.