2017-03-04 134 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()函數不返回什麼你以爲會這樣)。然後你可以參考處理參考瞭解更多信息。