2016-07-22 1 views

답변

1

너무 느리지 않으면 가장 확실한 해결책입니다. 그것은 어떤 다른 사람이 포함되어 있는지 확인하기 위해 목록에있는 모든 RECT를 확인 후

rect1.x <= rect2.x && rect1.y <= rect2.y && rect1.x + rect1.width >= rect2.x + rect2.width && rect1.y + rect1.height >= rect2.y + rect2.height 

과 : 같은 rect1.contains(rect2)을 정의하는 것입니다. (하지만, 그 자체에 대해 그것을 확인하지 마십시오!)이에

+1

예 ... * 모든 *'rectangle' 클래스를, 어디에서든 하나를 찾으면 중첩 또는 포함과 같은 기본적인 기본 요소가 갖추어져 있어야합니다. 꼭, Hypnoz는 "하나를 찾아서 그냥 사용하십시오." ### 제안을 구현할 때 코드는 사각형 자체가 겹치는 지 확인하기 위해 테스트를 무시하는 것을 기억해야합니다! * * (거기에 있었으니 ...) * –

+2

코드가 맞다고 생각하지 않습니다. 'rect2.x == rect1.x + rect1.width - 1'과'rect2.width == 2'이면, rect2가 포함되지 않았지만 (오른쪽 경계선을 가로 지르지 만) 조건은 true를 반환합니다. –

+1

'rect2.x + rect2.width <= rect1.x + rect1.width'를 확인해야합니다. 그리고 y 차원에 대해서도 비슷합니다. –

관련 문제