Python度默认为弧度

时间:2018-01-01 00:56:07

标签: python trigonometry

我试图打印出具有一定程度的线的x,y值,该线与指定半径的圆相交。

让我们举例说,直线指向90度。

import math

degree = 90
radius = 10
x = radius * math.cos(degree)
y = radius * math.sin(degree)

print(x,y)

这打印出 -4.480736161291701 8.939966636005579 但根据我的计算器应该在deg上打印 0 10

我已经尝试在x =和y =的度变量之前添加math.radians和math.degrees,但是在我尝试的任何时候它都没有正确出现。我发现一个度与一个圆相交的点的链接是here,sin / cos值被翻转为解决方案中的x和y值。

简单地说,我如何使90度为度而不是弧度才能得到正确的x,y?

修改

添加math.radians:

x = radius * math.cos(math.radians(degree))
y = radius * math.sin(math.radians(degree))

它返回6.123233995736766e-16 10.0

~~~

添加math.degrees:

x = radius * math.cos(math.degrees(degree))
y = radius * math.sin(math.degrees(degree))

它返回-2.995153947555356 -9.540914674728182

3 个答案:

答案 0 :(得分:0)

您可以使用FOR /d /r "topDir" %%G in (*foo*) DO ( echo %%G | find /v "foobar" 1>nul 2>nul && ( echo %%G ) ) 转换为弧度。所有python的默认触发函数都以弧度为单位。所以你的代码变成了:

math.radians(degree)

这会产生正确的结果:6.123233995736766e-16 10.0,有一些奇怪的浮点行为,你可以用适当的舍入来修复。

答案 1 :(得分:0)

大多数数学库中的所有角度都是弧度。 import math degree = 90 radius = 10 x = radius * math.cos(math.radians(degree)) y = radius * math.sin(math.radians(degree)) print(x,y) 的输入应该是弧度,但是你要传递度数。

math.cos

import math degree = 90 radius = 10 x = radius * math.cos(math.radians(degree)) y = radius * math.sin(math.radians(degree)) print x,y >0, 10 只不过是在做math.radians

答案 2 :(得分:0)

在Python中,您可以使用math.radians将度数转换为弧度。请注意,不仅仅是Python默认为弧度,它通常是数学中的标准,用弧度来讨论角度。

虽然通常可以使用转换公式

radians = pi * degrees / 180