안드로이드 개발 질문/답변
(글 수 45,052)
gps로 현재의 위치를 불러왔습니다.
그리고 우리나라 주위에 여러개의 p1,2,..n 의 좌표도 찍어줬구요.
gps 현재의 위치에서 가장 가까운 p 를 찾으려고 하는데
어떤식으로 로직을 짜야 가장가까운 점(p)를 불러올 수 있을가요?
아니면 가장 가까운 점을 찾는 함수라도 있을까요?
머리가 굳어서 어떤식으로 찾아야 할지 모르겠습니다.
조그마한 힌트라도 주시면 감사하겠습니다.
그리고 우리나라 주위에 여러개의 p1,2,..n 의 좌표도 찍어줬구요.
gps 현재의 위치에서 가장 가까운 p 를 찾으려고 하는데
어떤식으로 로직을 짜야 가장가까운 점(p)를 불러올 수 있을가요?
아니면 가장 가까운 점을 찾는 함수라도 있을까요?
머리가 굳어서 어떤식으로 찾아야 할지 모르겠습니다.
조그마한 힌트라도 주시면 감사하겠습니다.
SMS 입니다.
2010.11.18 12:44:19
삼각함수를 쓰세요
///////////////UI
public static class TPoint{
public int x;
public int y;
};
public static TPoint getRotatePosition(int centerX,int centerY,int circleXR,int circleYR,double angle){
double r = angle * Math.PI/180; //라디안으로 바꾼다
TPoint item =new TPoint();
item.x = (int)(centerX + circleXR * Math.cos(r));
item.y = (int)(centerY + circleYR * Math.sin(r));
Log.d("",item.x+" "+item.y +" "+circleXR+" "+circleYR);
return item;
}
가장 기초적인 방법으로 일단 직선거리는 sqrt((x2-x1)^2+(y2-y1)^2) 이렇게 구하구요
이게 최하인것을 가져오면 직선거리에서 가장 가까운거죠.