선이 사각형 집합과 교차하는지 확인하려고합니다. intersectsLine() 함수가 예상대로 작동하지 않습니다.
이
내 코드입니다 :public class Test {
public static void main(String args[]) {
Rectangle2D.Double rectangle1 = new Rectangle2D.Double(32, 64, 32, 32);
Rectangle2D.Double rectangle2 = new Rectangle2D.Double(0, 32, 32, 32);
Line2D.Double line = new Line2D.Double(36, 63, 5, 12);
System.out.println(rectangle1.intersectsLine(line)); // outputs false. Why?
System.out.println(rectangle2.intersectsLine(line)); // outputs true as expected
}
}
당신이 볼 수 있듯이, 시작 지점 (36, 63) rectangle1
에 있습니다,하지만 분명히이 라인 세그먼트 (segment)는에서 시작하는 사각형을 교차하지 않습니다
그러나 끝점 (5, 12)을 저장하는 사각형과 교차합니다.
왜 그런가?
어떻게 교차점을 감지합니까?
이 라인은 최초의 구형을 교차하지 않습니다, 그건 정답. 아마도 Rectangle2D.Double 생성자가 어떻게 작동하는지 혼란 스러울 것입니다. –
생성자 또는'intersectsLine' 함수입니까? 어느 쪽이든, 사각형에 특정 선분이 포함되어 있는지 확인하려면 어떻게해야합니까? – Kingamere
물론 생성자입니다. intersects 메서드가 제대로 작동하고 있습니다. –