2017-03-04 84 views
1

我试图使用处理3.2.2三角函数在Mac上。我发现当与度函数同时使用正切函数时,它返回的答案似乎是错误的。下面是代码,导致问题的行:处理3.2.2三角函数没有返回正确的结果

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

我已经做了两个独立的计算器计算,和我.2308681两次。但是,当我在处理中运行此行时,它将返回0.29583776。是什么造成了答案的差异,如何解决?

+1

'degrees'弧度转换为度。你认为它是相反的。使用'弧度'。 – Szabolcs

回答

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()函数不返回什么你以为会这样)。然后你可以参考处理参考了解更多信息。