Я новичок в Python (начинающий новичок), но у меня есть несколько заданий, и я полностью застрял с одной проблемой. Я должен посчитать угол между векторами. Я потратил кучу ночей, пытаясь это сделать, и даже написал код, но. Он показывает только положительные числа, поэтому он не учитывает никаких отрицательных значений. Как я могу это изменить?
Мои данные состоят из координат отслеживания глаз, поэтому я уверен, что должны быть отрицательные значения. Пример данных - {308, 394, 700, 738,6, 298,8}, {554, 718, 1270, 737,3, 352,5}, {300, 1314, 1612, 1014,3, 728,5}, {316, 1642, 1956, 844,5, 885,1} где первые 4 значения являются координатами (x1, x2, y1, y2). Код у меня есть:
def angle_between(v1, v2, deg=True):
""" Returns the angle in radians between vectors 'v1' and 'v2'::
"""
print('First vector:', v1)
print('Second vector:', v2)
v1_u = unit_vector(v1)
v2_u = unit_vector(v2)
radians = np.arccos(np.clip(np.dot(v1_u, v2_u), -1.0, 1.0))
result = radians
# print('radians:', result)
if deg:
result = np.degrees([radians.real])[0]
print(f"degrees: {result}")
return result
Помогите мне, пожалуйста! (