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

Processing 处理3.2.2未返回正确结果的触发函数,processing,trigonometry,Processing,Trigonometry,我试图在mac上处理3.2.2时使用trig函数。我发现,当我同时使用切线函数和度函数时,它返回的答案似乎是错误的。以下是导致问题的代码行: System.out.println(tan(度(13)); 我在两台单独的计算器上进行了计算,两次都得到了.2308681。但是,当我在处理中运行这一行时,它返回0.29583776。是什么导致了答案上的这种差异,以及如何解决这种差异?这样的问题,如果您对处理函数正在做的事情感到困惑,最好通过查看来回答 degrees()函数(您可以阅读)的参考说明如

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

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

我在两台单独的计算器上进行了计算,两次都得到了
.2308681
。但是,当我在处理中运行这一行时,它返回
0.29583776
。是什么导致了答案上的这种差异,以及如何解决这种差异?

这样的问题,如果您对处理函数正在做的事情感到困惑,最好通过查看来回答

degrees()
函数(您可以阅读)的参考说明如下:

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

因此,
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()
函数没有返回您认为会返回的结果)。然后,您可以查阅处理参考以了解更多信息。

将弧度转换为度。你是在假设它是相反的。使用
弧度