|
경위도에서 각도 구하는 방법은 어떻게 하나요?
직각좌표계랑은 다를거 같은데요,, 그대로 적용했더니 안되는 듯 하네요 ㅠ
이걸 하는 이유는 임베디드에 넣을려니 DB를 최소화 하고자
각도가 어느 정도 이하면 그 점을 삭제할려고 합니다.
예를들어 다음 세 점으로 이루어지는 선이 있는 경우에요
수식으로 설명 부탁드릴께요~~~~~
126.97783884,37.40388003
126.97703892,37.40284098
126.97703892,37.40283999
직각좌표에서 각도 구하는 함수는 요거인데요
(이것도 제가 한건 아니구요ㅠ)
double Angle(double x, double y)
{
double angle;
if(x==0.0){angle = y>=0.0 ? 3.14159265/2. : 3*3.14159265/2.;}
else
{
angle = atan(fabs(y)/fabs(x));
if(x<0 && y>=0) angle = 3.141592653589-angle;
else if(x<0 && y<0) angle = 3.141592653589+angle;
else if(x>0 && y<0) angle = 2*3.141592653589-angle;
}
return angle*180/3.141592653589;
}
즐거운 하루 되세요~~~~
|