Berührung zwischen Rechtecken

Nur Berührung oder schneiden?

Ich gehe mal von Berührung aus...
Java:
Rectangle left = new Rectangle(0, 0, 2, 2);
Rectangle right = new Rectangle(2, 1, 2, 2);
     
System.out.println(left.intersection(right)); // java.awt.Rectangle[x=2,y=1,width=0,height=1]

Sie berühren sich, wenn

Java:
(width == 0 && height >= 0) || (height == 0 && width >= 0)

Im Sonderfall width == 0 && height == 0 ist es eine Ecke.
 
Zuletzt bearbeitet:
wie kann ich dann die intersection dann weiterverwenden also wenn ich testen will ob sisch zwei rechtecke berühren?

Schau dir doch einfach mal die Doku an: https://docs.oracle.com/javase/7/docs/api/java/awt/Rectangle.html#intersects(java.awt.Rectangle)

intersection() liefert als Ergebnis ein Rectangle, das in der Größe der Überschneidung der beiden Ausgangsrechtecke entspricht, mittels Vergleich (siehe Post von @MoxxiManagarm) kannst du damit weiterarbeiten.


intersects() liefert als Ergebnis ein boolean.

Such dir aus, was dir passt.
 

Zurück
Oben