【问题标题】:Processing 3.2.2 trig functions not returning right results处理 3.2.2 不返回正确结果的三角函数
【发布时间】:2017-03-04 20:48:44
【问题描述】:

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

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

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

【问题讨论】:

  • degrees 将弧度转换为度数。你假设它做相反的事情。使用radians

标签: processing trigonometry


【解决方案1】:

像这样的问题,如果您对处理函数正在做的事情感到困惑,最好通过查看 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() 函数没有返回您认为的那样)。然后,您可以查阅处理参考以获取更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 1970-01-01
    相关资源
    最近更新 更多