Das war nicht die FrageWas gefällt Dir an den betreffenden Methoden von java.awt.Rectangle bzw. java.awt.geom.Rectangle2D nicht?
public boolean intersects(Rectangle other) {
return minX < other.maxX && maxX >= other.minX &&
maxY >= other.minY && minY < other.maxY;
}
public Rectangle intersect(Rectangle other) {
float nMinX = Math.max(minX, other.minX), nMinY = Math.max(minY, other.minY);
float nMaxX = Math.min(maxX, other.maxX), nMaxY = Math.min(maxY, other.maxY);
if (nMinX > nMaxX || nMinY > nMaxY) {
return null;
}
return new Rectangle(nMinX, nMinY, nMaxX, nMaxY);
}
Weil mich der Algo interessiert und dieses sieht man nun mal nicht bei einer closed function??? Du suchst effektive Methoden und du wurdest auf Methoden hingewiesen. Hast Du Dir diese mal angesehen?
Oder was stört Dich an den Methoden?
Danke dir! Jetzt weis ich wie man es am effektivsten erfüllen kann.Wenn du ein Rechteck durch den minimalen und maximalen Eckpunkt beschreibst, dann:
Java:public boolean intersects(Rectangle other) { return minX < other.maxX && maxX >= other.minX && maxY >= other.minY && minY < other.maxY; } public Rectangle intersect(Rectangle other) { float nMinX = Math.max(minX, other.minX), nMinY = Math.max(minY, other.minY); float nMaxX = Math.min(maxX, other.maxX), nMaxY = Math.min(maxY, other.maxY); if (nMinX > nMaxX || nMinY > nMaxY) { return null; } return new Rectangle(nMinX, nMinY, nMaxX, nMaxY); }
Weil mich der Algo interessiert und dieses sieht man nun mal nicht bei einer closed function