我想用math.h的三角函数来使用0,1,-1作为平面坐标系的符号标识符。
cos(pi)*length = -1*length
sin(pi)*length = 0
但是math.h中的函数需要弧度值,而我有度值。虽然这些公式可以转换成我不知道的公式,但它会影响答案的准确性,即cos(pi) =-0.99999。
这会影响我的代码上的操作吗?
编辑:我能做些什么来获得我想要的结果?
发布于 2016-03-16 07:01:02
他们可能会影响精度,你有圆周率-通常在最后一个单位。对于cos和sin,\d(X)/dx|小于1,因此您的值应该在相同的错误范围内。对于tan,x(X)/dx|是无界的,所以一个小的输入变化可以产生输出的很大变化。
这些小的更改是否会影响代码的操作,很大程度上取决于您的代码是否假设的结果是否准确。如果您的代码对浮点值做了错误的假设,那么它将失败,如果它允许在等式比较上有一些小的容差,那么它就不会了。
发布于 2016-03-16 07:13:49
这会影响我的代码上的操作吗?
当转换是精确的程度/弧度,没有问题。当然,只有当角度为+/- 0.0时才会发生这种情况。
若要使用trig函数并得到精确的trig函数结果(或至少尽可能接近于所能得到的结果),首先要确保度参数被缩减(mod 360
),然后转换为弧度。还可以使用trig标识进行进一步改进:high precession和Sin and Cos
https://stackoverflow.com/questions/36039236
复制相似问题