在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
我在做什麼錯?
在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
我在做什麼錯?
sin()
和cos()
的參數是弧度,而不是度數。要轉換乘以π/ 180:
double velocity_x = 22 * Math.sin(10 * Math.PI/180);
我建議將22,10和180更改爲22.,10和180. –
@ DouglasB.Staple:這是一個好主意。幸運的是,在這種情況下,'Math.PI'的存在將確保一切都以雙精度完成。 –
是的,我注意到,在這種情況下,它只是風格/偏好。另外,236k?聖煙。 –
您可能沒有做錯任何事情。正弦和餘弦有時會返回負值。 http://en.wikipedia.org/wiki/Trigonometric_functions –