2017-10-27 14 views
1

주어진 경우 (center x, center y), (x1, y1), (x2, y3) 점입니다. 중심점에서 반경이 더 긴 점을 쉽게 결정하는 방법은 무엇입니까?주어진 점이 길면 반지름을 결정하는 방법

나는 이미 하나의 해결책이 있습니다.

두 반경 값을 비교합니다.

Math.sqrt(Math.abs(x1 - center x) + Math.abs(y1 - center y)) 
Math.sqrt(Math.abs(x2 - center x) + Math.abs(y2 - center y)) 

는하지만 Math.sqrt를 사용하지 않고있는 경우 다른 해결책을 알고 싶어요.

코멘트에서 언급 한 바와 같이
+1

제곱근을 제거하고 제곱 반경을 비교하십시오. – harold

+0

자신의 방식에 무슨 문제가 있습니까? 그 매우 간단합니다. 만약 당신이 단순한 거리, 포인트 구조를 구현하는 것이 더 낫게 보이는 것을 적용하려고한다면 ... – 0014

+0

@harold 나는 이해할 수 없다. 더 설명해 주시겠습니까? – gentlejo

답변

1

, 당신은 단지의 값을 비교할 수있다 :

(x1 - center x)^2 + (y1 - center y)^2 
(x2 - center x)^2 + (y2 - center y)^2 

중심으로하여 각 지점에서 실제 거리를 찾는 방법을, 당신의 제곱근을해야 할 것입니다 마다. 제곱근 함수이기 때문에 그러나 단조는 긍정적 인 실수에 증가 즉

sqrt(a) < sqrt(b) if and only if a < b, 

이 작업을 수행 할 필요가 없습니다, 당신은 단지 바로 위의 금액을 비교할 수있다.