用余弦定律计算向量(Python)

时间:2016-04-28 19:55:59

标签: python python-3.x vector

我正在尝试开发一个小的控制台应用程序,使用余弦定律解决向量之间的加法:

sum = sqrt((s1 ** 2) + (s2 ** 2) + (2 * s1 * s2 * cos(angle)))
print(sum)

# Where s1 and s2 are the sizes of the vectors, respectively.

但是,等式中的cos返回了一个奇怪的值(角度为60,所以cos(angle)应该是1/2,对吧?)。

此外,我尝试在阅读其他解决方案后使用cos更改acos,但它返回了ValueError: math domain error

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

Python的三角函数使用弧度而不是度。幸运的是,math模块包含一个为您执行转换的功能:

from math import cos, radians

sum = sqrt((s1 ** 2) + (s2 ** 2) + (2 * s1 * s2 * cos(radians(angle))))
print(sum)

答案 1 :(得分:0)

cos()的参数应以弧度表示。