2014-11-01 6 views
0

원이 사각형과 교차하는지 테스트하려고합니다. 내가 어떻게하는지 알아 낸 가장 좋은 방법은 다음과 같은 x가 있는지 찾아내는 것입니다. x는 사각형의 최소 x 값과 최대 x 값 사이에 있습니다.등호 수식을 C++로 변환

abs(x-centerOfCircle) <= radiusOfCircle 

문제는 코드로 변환하는 방법을 알 수 없으므로 아무도 도와 줄 수 있습니까?

+0

는 0x499602D2 @ 그의 문제는 그가 방정식에 적합합니다 모든'x'가 있는지 알 필요가 있기 때문에,'x'를 얻는 방법이다. – Barmar

+1

"x"가 있는지 테스트 해보면됩니다. 사각형의 모서리 좌표와 함께 작동하는 알고리즘을 사용하면됩니다. 나는 알고리즘을 알지 못하지만, 인터넷 검색으로 찾을 수있을 것이라고 확신합니다. – Barmar

답변

3

원의 중심이 원의 반경으로 원래 정사각형의 윤곽선으로 정의 된 둥근 정사각형 안에 있으면 감지하도록 문제를 변환합니다.

그리고 교차 시험 다음의 간단한 하위 테스트를 매우 사소한 할 수있다 :

  • 은 원 중심 4 원의 내부 (sqare의의 모서리에)인가?
  • 은 원이 사각형을 교차,
  • 파란색 사각형 안에 원 중심

이 3 개 테스트 중 하나에 해당하면입니다 녹색 사각형 안에 원 센터입니다.

enter image description here