Füllen Sie beliebige 2D-Form mit gegebenen Satz von Rechtecken

Habe ich eine Reihe von Rechtecken und beliebiger Form in 2D-Raum. Die Form ist nicht notwendig, ein polygon (es kann ein Kreis), und die Rechtecke haben unterschiedliche breiten und Höhen. Die Aufgabe ist die Angleichung der Form mit Rechtecken so nah wie möglich. Ich kann nicht ändern, Rechtecke Abmessungen, aber die rotation ist erlaubt.

Es klingt sehr ähnlich wie Verpackung problem und Belag problem, aber die Abdeckung Fläche ist nicht rechteckig...

Ich denke, es ist NP-problem, und ich bin mir ziemlich sicher, sollte es einige Papiere, die zeigen, dass gute Heuristiken, um es zu lösen, aber ich weiß nicht, was zu google? Wo sollte ich anfangen?

Update: Eine Idee kam in mein Verstand, aber ich bin mir nicht sicher, ob es sich lohnt zu untersuchen. Was ist, wenn wir Bedenken, umschließende Form, wie eine physische Form mit Wasser gefüllt. Jedes Rechteck ist, als ein positiv geladenes Teilchen mit der Größe. Legen Sie nun das kleinste Rechteck, um es. Fallen dann die nächste Größe bei zufälligen Punkt. Wenn die Rechtecke auch schließen Sie sich gegenseitig abstoßen. Halten Sie das hinzufügen, Rechtecke, bis alle verwendet werden. Könnte diese Methode funktionieren?

  • Sind Sie versuchen, zu packen, so dicht wie möglich? Oder annähernd der Form so gut wie möglich? Gibt es eine mathematische Funktion, die Sie versuchen zu optimieren sind, oder ist es mehr ästhetik?
  • Über diese berechnet Rechteck-Methode, ist es vielleicht nicht unbedingt die optimale Konfiguration, weil wir uns mit Randomisierung fallen Sie auf den ersten.
  • Was ist die Priorität - Ablaufverfolgung die Grenze oder füllen Sie die Form? Ich meine, es ist okay, wenn sich die Rechtecke trace die Grenze perfekt, aber lassen Sie ein Loch in der Mitte irgendwo???
  • Welche Lösung hast du am Ende mit?
InformationsquelleAutor CuriousG | 2010-08-18
Schreibe einen Kommentar