2012-10-05 127 views
1

在java中,我試圖對帶有cos和sin的數字進行操作,但我一直得到負面變量,有人可以解釋爲什麼嗎?沒有理由的負整數,cos,sin。

這是我的代碼:

double velocity_x=22*Math.sin(10); 

double velocity_y=22*Math.cos(10); 

他們分別返回velocity_x = -11.968464439566135

和velocity_y = -18.459573639681953

我在做什麼錯?

+2

您可能沒有做錯任何事情。正弦和餘弦有時會返回負值。 http://en.wikipedia.org/wiki/Trigonometric_functions –

回答

9

sin()cos()的參數是弧度,而不是度數。要轉換乘以π/ 180:

double velocity_x = 22 * Math.sin(10 * Math.PI/180); 
+0

我建議將22,10和180更改爲22.,10和180. –

+1

@ DouglasB.Staple:這是一個好主意。幸運的是,在這種情況下,'Math.PI'的存在將確保一切都以雙精度完成。 –

+0

是的,我注意到,在這種情況下,它只是風格/偏好。另外,236k?聖煙。 –