python计算两个向量夹角

简单的小代码,项目里可能用到,记录一下:

from math import sqrt, pow

def angle_of_vector(v1, v2):
    pi = 3.1415
    vector_prod = v1[0] * v2[0] + v1[1] * v2[1]
    length_prod = sqrt(pow(v1[0], 2) + pow(v1[1], 2)) * sqrt(pow(v2[0], 2) + pow(v2[1], 2))
    cos = vector_prod * 1.0 / (length_prod * 1.0 + 1e-6)
    return (acos(cos) / pi) * 180


if __name__ == '__main__':
    a = [1, 0]
    b = [5, 8]
    print(angle_of_vector(a, b))

输出为角度制,弧度制的结果可以直接输出acos(cos)。精度自己可以调节一下。

猜你喜欢

转载自blog.csdn.net/leviopku/article/details/107248591