지식 창고

[알고리즘] 선이 이루는 각도 구하기 본문

수학 공식

[알고리즘] 선이 이루는 각도 구하기

Lucky-John 2021. 12. 24. 17:15

 

위의 그림에서 보는 것처럼 x축은 오른쪽으로 증가하고 y축은 아래쪽으로 증가하는 축에 대한 2점이 이루는 각도를 구하는 방법입니다. 각도는 60분법이며 편의상 0도 ~ 359.999999도로 산출됩니다. 딱히 말로써 설명드릴 것은 없을듯하고.. 코드 바로 나갑니다. 코드는 Java 입니다.

public double getAngle(PointF start, PointF end) {
double dy = end.y-start.y;
double dx = end.x-start.x;
double angle = Math.atan(dy/dx) * (180.0/Math.PI);
 
if(dx < 0.0) {
angle += 180.0;
} else {
if(dy<0.0) angle += 360.0;
}
 
return angle;
}

퍼포먼스를 고려한다면 9번 코드는 불필요합니다. -45도나 315도나 동일한 각도이니까요.

Comments