Я пытаюсь вычислить угол между двумя трехмерными векторами в python, в котором начало одного вектора является концом первого. Например, вектор A начинается в начале координат и заканчивается в координатах (300,0,0), а вектор B начинается в (300,0,0) и заканчивается в (460,0, -120). Единственный способ узнать угол y - это перевести начало координат в (300,0,0) и вычислить его, используя приведенный ниже код.
u=np.array([-300,0,0])
v=np.array([160,0,-120])
c = dot(u,v)/norm(u)/norm(v)
angle = arccos(clip(c, -1, 1))
Я хотел бы знать, есть ли другой способ сделай это.