나는 서로 옆에있는 모양을 가지고 있는데, 그 중 일부는 두 번 붙여 넣기가되어 있는데, 두 객체의 교차 비율을 구하는 데 붙여 넣은 객체가 무엇인지 파악하고 싶습니다. 단일 객체를 다른 모든 객체와 비교하기 위해 코딩되었는데, 여기서는 90 %처럼 중복 될 것입니다 (두 번 붙여 넣음).
Java에서 Recangle2D의 교차 영역을 찾는 방법은 무엇입니까? 교차하지만이 의미하는자바에서 Recangle2D의 교차 영역을 찾는 방법
public void perceOf2Rect(Rectangle2D r1,Rectangle2D r2){
Rectangle2D rectArea=new Rectangle2D.Double();
rectArea=r1.getWidth() * r2.getHeight();
}
제가이 방법에 Rectangle2D.intersect
방법
public void compareLists(List<ObjectItem01> objItm1) {
for (int i = 0; i < objItm1.size(); i++) {
for (int j = 0; j < objItm1.size(); j++) {
if (objItm1.get(i).objectID == objItm1.get(j).objectID) {
continue;
}
System.out.println("objID1 "+objItm1.get(i).objectID);
System.out.println("objID2 "+objItm1.get(j).objectID);
Rectangle2D rect1 =objItm1.get(i).getRect();
Rectangle2D rect2 = objItm1.get(j).getRect();
Rectangle2D rectResult = new Rectangle2D.Double();
Rectangle2D.intersect(rect1,rect2,rectResult);
testIntersectResult (rect1,rect2,rectResult);
}}
}
사용하고 난 다른 값을 얻었다 : 사각형의 면적 areaRect=width * Height
난이 시도 하지만 didnt 한 작품 그 교차 부분의 비율을 결정하고 싶다면 교차 부분이 10 %라면 90 %가 중복되는 반면 내 경우는 중복되지 않기 때문에
private void testIntersectResult(Rectangle2D r1, Rectangle2D r2, Rectangle2D rectDest) {
System.out.println("beginning of testIntersectResult method");
Rectangle2D.intersect(r1,r2,rectDest);
System.out.println("\nRect1:\n "+r1+"\nRect2:\n "+r2+"\nrectResult:\n "+rectDest);
}
어쩌면 나는이 질문을 오해하고있다. 그러나 [내장 된 'Rectangle2D # intersect' 메소드] (http://docs.oracle.com/javase/7/docs/api /java/awt/geom/Rectangle2D.html#intersect%28java.awt.geom.Rectangle2D,%20java.awt.geom.Rectangle2D,%20java.awt.geom.Rectangle2D%29)? – Vulcan
나는 그것을 사용하고있다. 단지 각 객체의 백분율 값이 중복 된 모양인지 아닌지를 알아 내고 싶다. – a14
그것은 당신의 질문에 포함시킬 것이었다. : P intersectArea /()를 사용하여 교차의 비율을 찾을 수있다. r1 영역 + r2 영역 - intersectArea)'. – Vulcan