2012-10-05 12 views
1

자바에서는 cos과 sin을 사용하여 숫자를 조작하려고하지만 음수 변수를 계속 가져 오는 이유는 누구나 설명 할 수 있습니까? 내가 잘못 뭐하는 거지 그들은 모두 각각 velocity_x 돌아아무 이유없이 음의 정수, cos, sin.

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

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

= -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? 거룩한 담배. –