Einzelnen Beitrag anzeigen

BlueStarHH

Registriert seit: 28. Mär 2005
Ort: Hannover-Hainholz
801 Beiträge
 
Delphi 11 Alexandria
 
#1

Freien Platz in einer Fläche finden

  Alt 3. Apr 2020, 10:56
Hallo,

ich habe eine Fläche, die durch ein TRect definiert ist (Flaeche: TRect). Auf dieser Fläche liegen viele andere TRect's (Belegt: array of TRect). Ich möchte nun wissen, wo ein freier Platz für das Rect "PlatzFuer" vorhanden ist. "PlatzFuer" darf keine TRect's aus "Belegt" berühren und muss such vollständig in "Flaeche" befinden. Die Suche soll von unten nach oben in "Flaeche" ausgeführt werden. Die X,Y-Koordinate der freien Fläche soll zurückgegeben werden. Gibt es dafür einen fertigen Algorithmus? Hat jemand eine Idee, wie man das besser (schneller) hinbekommt, als alle möglichen X,Y-Koordinaten einfach durchzutesten?

Delphi-Quellcode:
function FindeFreienPlatz(Flaeche, PlatzFuer: TRect; Belegt: array of TRect): TPoint;
begin
  ...
end;
  Mit Zitat antworten Zitat