원의 중심 좌표 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 |