자바(intellij)
JAVA(intelij) / 세 점 주어졌을때 사이 각도 구하기
clean_h
2021. 3. 16. 13:32
728x90
세 점이 주어졌을때 그 사이 각도 구하여본다.
다음처럼 점 A, B, C가 주어졌을때 사이 각도를 구한다.
코드
public static float getAngleFromThreePoints(Point p1, Point p2, Point p3){
float p12 = (float) Math.sqrt(Math.pow(p1.x - p2.x, 2) + Math.pow(p1.y - p2.y, 2));
float p23 = (float) Math.sqrt(Math.pow(p2.x - p3.x, 2) + Math.pow(p2.y - p3.y, 2));
float p31 = (float) Math.sqrt(Math.pow(p3.x - p1.x, 2) + Math.pow(p3.y - p1.y, 2));
float radian = (float) Math.acos((p12*p12 + p23*p23 - p31*p31) / (2 * p12 * p23));
float degree = (float) (radian / Math.PI * 180);
return degree;
}
다음 코드로 Point p1, Point p2, Point p3 점 세개를 입력받아서 각도를 출력할 수 있다.
이때 p2가 가운데 점이다.
728x90