python中准确的trig

Los*_*ssy 0 python

直接追逐我想创建一个计算步长的函数.

这就是我所拥有的:

def humanstep(angle):
    global human
    human[1]+=math.sin(math.radians(angle))*0.06
    human[2]+=math.cos(math.radians(angle))*0.06
Run Code Online (Sandbox Code Playgroud)

因此,如果角度为90,则x值(人[1])应等于0.06,y值等于0.

相反,弧度和度数之间的转换并不十分完美,并返回这些值.

[5.99999999999999, 3.6739403974420643e-16]
Run Code Online (Sandbox Code Playgroud)

有没有什么办法解决这一问题?

Don*_*nut 5

这是浮点运算如何工作的表示错误.请参阅Python文档中的以下页面:浮点算术:问题和限制.

FTA:

请注意,这是二进制浮点的本质:这不是Python中的错误,也不是代码中的错误.您将在支持硬件浮点运算的所有语言中看到相同的类型(尽管某些语言默认情况下可能无法显示差异,或者在所有输出模式下).

有关进一步阅读,请参阅以下页面: