Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
 
Delphi 12 Athens
 
#2

AW: Freien Platz in einer Fläche finden

  Alt 3. Apr 2020, 12:18
Nur so aus dem Ärmel: Du beginnst mit (0,0) und prüfst sequentiell alle anderen Rechtecke auf Kollision. Sobald du eins findest hast du zwei Möglichkeiten: rechts davon oder darunter. Mit diesen neuen Koordinaten wiederholst du den Test. Dabei entsteht ein binärer Baum (wegen rechts/darunter), den du entsprechend durchwanderst. Entweder immer erst rechts prüfen und dann darunter oder umgekehrt. Wenn du auf keinem Weg durch den Baum erfolgreich bist, passt das neue Rechteck nicht mehr in deine Fläche.

Ich habe das Verfahren jetzt nicht validiert. Es kann also durchaus sein, dass gültige Positionen gar nicht überprüft werden.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat