import mathdef dotproduct(v1, v2): return sum((a*b) for a, b in zip(v1, v2))def length(v): return math.sqrt(dotproduct(v, v))def angle(v1, v2): return math.acos(dotproduct(v1, v2) / (length(v1) * length(v2)))
注意
:当向量的方向相同或相反时,这将失败。正确的实现在这里:https
:
//stackoverflow.com/a/13849249/71522



