본문 바로가기

Algorithm

좌표가 원의 범위안에 포함되어있는지 체크

원의 중심 좌표 X, Y와 반지름 R이 주어졌을 때
임의의 좌표 TX, TY가 원의 범위 안에 포함되어 있는지 찾아야 한다면 피타고라스 정리를 바탕으로 원의 반경을 계산할 수 있다.

반지름 제곱의 값이 (원의 중심 좌표 X - 임의의 좌표 TX)의 제곱 + (원의 중심 좌표 Y - 임의의 좌표 TY)의 제곱 값보다 크다면 임의의 좌표는 원의 범위에 포함되어 있다고 할 수 있다.

(반지름^2) > (((원의 중심 좌표 X - 임의의 좌표 TX) ^ 2) + ((원의 중심 좌표 Y - 임의의 좌표 TY) ^ 2)))

이를 자바 코드로 표현하면

if (Math.pow(R, 2) > (Math.pow(X - TX, 2) + Math.pow(Y - TY, 2))) {
    포함 = true;
}

만약 원의 경계에 있는 좌표도 포함시킨다면 >을 >=로 수정함으로써 해결할 수 있다.

if (Math.pow(R, 2) >= (Math.pow(X - TX, 2) + Math.pow(Y - TY, 2))) {
    포함 = true;
}

'Algorithm' 카테고리의 다른 글

프로그래머스 구명보트 Java  (0) 2020.11.23
백준 1937 욕심쟁이 판다 Java  (0) 2019.12.10
백준 10827 a^b Java  (0) 2019.11.01
백준 3055 탈출 Java  (1) 2019.10.24
2020 KAKAO 자물쇠와 열쇠 Java  (2) 2019.10.17