안드로이드 게임개발편을 읽는 독자입니다.
한가지 궁금한점이 있어서 질문하게 되었는데요
여기서 우리는 이동방향에 따른 속도값을 구하기위해
22.5 * Math.PI/180 값을 하여서 뱡향에 따른 속도값을 구한다고 설명하셧는데
실제 값을 구한결과값이 다르게 나옵니다.
처음에는 Math.sin(Math.PI*45/180) 값인줄 알고 값을 구한결과
설명과 달리 45도값을 비교햇을때
0.70....값이 나와서 오차발생이 있나? 싶어서 다른연산결과
Math.PI*45/180
값인것으로 알아냇는데.
제가 이것을 1도씩 증가시켜서 for문을 통해 모든값을 연산해놓고 클래스로 만들어 사용을 하려고 합니다만,
for(int i = 1; i<=90; i++){
float a = (float) (Math.PI* i /180);
String b;
b = "" + a ;
System.out.println(b.substring(0,4) + "f");
}
이런식으로 한 결과 57도의 각도부터 1.xxx값으로 초과해버리더라구요,,,
왜이런지 알수있을까요?
해당 라디안 값을 쓰려고 햇는데 반지름이 1인 원에서 1.57f 값이 나와서...