我试图在mac上处理3.2.2中使用trig函数。我发现当我使用与度函数同时使用切线函数时,它返回的答案似乎是错误的。以下是导致此问题的代码行:
System.out.println(tan(degrees(13)));
我已经完成了两个独立计算器的计算,两次都得到了.2308681
。但是,当我在处理时运行此行时,它返回0.29583776
。是什么导致答案的这种差异,以及如何解决?
答案 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参考了解更多信息。