직사각형 교차 및 교차 구역 의 원리 해석 구하 기
1604 단어 직사각형 교차
위의 그림 과 같이 사각형 의 교차(구역 중첩)를 세 가지 로 나 누 었 다.(다른 구분 도 있 을 수 있다)세 번 째 상황 에 대해 그림 속 의(3)와 같이 두 사각형 이 교차 하지만 한 사각형 의 정점 은 다른 사각형 내부 에 존재 하지 않 는 다.그래서 그런 생각 에 오류 가 존재 하 는데 이런 상황 에 대한 교 제 는 검사 할 수 없다.위의 그림 을 자세히 살 펴 보면 다른 생각 이 떠 오른다.그것 은 바로 두 사각형 의 중심 좌표 의 수평 과 수직 거 리 를 판단 하 는 것 이다.이 두 값 이 특정한 조건 을 만족 시 키 기만 하면 교차 할 수 있다.직사각형 A 의 너비 Wa=Xa2-Xa1 높이 Ha=Ya2-Ya1 사각형 B 의 너비 Wb=Xb2-Xb1 높이 Hb=Yb2-Yb1 사각형 A 의 중심 좌표(Xa3,Ya3)=(Xa2+Xa1)/2,(Ya2+Ya1)/2)사각형 B 의 중심 좌표(Xb3,Yb3)=((Xb2+Xb1)/2,(Yb2+Yb1)/2)아래 두 식 을 동시에 만족 시 키 면 두 사각형 이 교차 하 는 것 을 설명 할 수 있다.1)|Xb3-Xa3|<=Wa/2+Wb/2 2)|Yb3-Ya3|<=Ha/2+Hb/2::|Xb2+Xb1-Xa2-Xa2-Xa1|<=Xa2-Xa1+Xb2+Xb2-Xb2-Yb1-Ya2-Ya2-Ya1|<=Y a2-Ya1+Yb22-Yb2-Yb1(2)이 문제 에 대해 두 직사각형 이 교차 한 후의 직사각형 을 C 로 설정 하고,직사각형 C 의 왼쪽 상단 좌 좌 표 는(Xc1,Yc1),오른쪽 아래 각 좌 표 는(Xc2,Yc2,Yc2,Yc2,Yc2,Yc2,Yc2,Yc2,Yc2)위의 그림 을 살 펴 보면,분명히 얻 을 수 있다:XC1=max(Xa1,Xb1)Yc1=max(Ya1,Yb1)Xc2=min(Xa2,Xb2)Yc2=min(Ya2,Yb2)이렇게 사각형 의 교차 구역 을 구 했다.또한 직사각형 이 교차 하 는 것 을 가정 하지 않 는 전제 에서 정의(XC1,Yc1),(XC2,Yc2),그리고 XC1,Yc1,XC2,Yc2 의 값 은 위의 네 가지 식 에서 나 온 다 는 것 을 알 게 되 었 다.이렇게 하면 XC1,Yc1,XC2,Yc2 의 값 에 따라 직사각형 의 교 류 를 판단 할 수 있다.Xc1,Yc1,Xc2,Yc2 는 아래 두 식 을 동시에 만족 시 키 면 두 직사각형 이 교차 하 는 것 을 설명 할 수 있다.3)Xc 1<=Xc 2 4)Yc 1<=Yc 2 즉:max(Xa1,Xb1)<=min(Xa2,Xb2)max(Ya1,Yb1)<=min(Ya 2,Yb2)