Einzelnen Beitrag anzeigen

Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#11

Re: Überlappung bei Rechtecken

  Alt 14. Apr 2006, 01:45
Also: damit mein Post oben nicht fuer immer ein kryptisches Geheimnis bleibt erklaer ich mal, wie ich meine Loesung geschrieben habe:
Betrachten wir mal nur die erste der 2 Dimensionen, die unsere zwei Rechtecke (A und B) haben, und gehen mal davon aus, dass sie sich y-maessig schneiden.
Wie ueberpruefe ich aber, ob sich die Rechtecke nur in Beachtung der X-Achse schneiden? ganz einfach, ich messe deren Abstand zwischen den Mittelpunkten der 2 Rechtecke. Diesen Abstand nennen wir mal d.
Wenn man sich nun die Rechtecke anguckt, fragt man sich: Wie gross darf der Abstand maximal sein, dass sich die Rechtecke noch schneiden?
Ganz einfach:
Sei a die Ausdehnung des ersten Rechtecks an der X-Achse, und b die des zweiten Rechtecks, so muss d < a/2 + b/2 sein. Wenn man sich das aufzeichnet, faellt es relativ schnell auf
Wenn ich dies nun nicht nur fuer die X-, sondern auch fuer die Y-Achse mache, und alle anderen Dimensionen, die ich hab, so erhalte ich am Ende viele boolsche Werte:
A&B schneiden sich bezueglich der X-Achse
A&B schneiden sich nicht bezueglich der Y-Achse
[...]

Die Rechtecke schneiden sich nur, wenn sie sich in Bezug zu jeden einzelnen Achsen ueberlagern. Also: Die erhaltenen boolschen Werte mit & verknuepfen und als Ergebnis zurueckgeben, und schon hammas

Das sollte als Gedankenanstoss reichen, und es sollte kein allzugrosses Problem mehr sein, dieses Prinzip in halbwegs lesbaren Java-Code zu implementieren

greetz
Mike
Miniaturansicht angehängter Grafiken
temp_107.jpg  
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat