处理3.2.2触发函数不返回正确的结果

时间:2017-03-04 20:48:44

标签: processing trigonometry

我试图在mac上处理3.2.2中使用trig函数。我发现当我使用与度函数同时使用切线函数时,它返回的答案似乎是错误的。以下是导致此问题的代码行:

System.out.println(tan(degrees(13)));

我已经完成了两个独立计算器的计算,两次都得到了.2308681。但是,当我在处理时运行此行时,它返回0.29583776。是什么导致答案的这种差异,以及如何解决?

1 个答案:

答案 0 :(得分:2)

通过查看the Processing reference,可以最好地回答这样的问题,即你对处理函数正在做的事情感到困惑。

degrees()功能的引用(您可以阅读here)说:

  

将弧度测量值转换为相应的度数值。

因此,degrees()函数从弧度变为 。看起来你正试图从度数到弧度。为此,您需要radians()函数。

println(tan(radians(13)));

这打印出0.23086819,就像你最初期待的那样。

您可能还想养成调试程序的习惯。一种方法是将行分为多个步骤,这样您就可以确切地看到正在发生的事情。因此,您的原始代码可能会像这样分解:

float radianValue = degrees(13);
println("radian value: " + radianValue);
float tanValue = tan(radianValue);
println("tan value:" + tanValue);

这会向您显示哪个步骤的行为与您的预期不同(在这种情况下,您会看到degrees()函数没有返回您的想法。然后,您可以参考Processing参考了解更多信息。