2010-06-08 11 views
10

Ich frage mich, ob irgendjemand irgendwelche Algorithmen kennt, die geeignet sind, N Anzahl von Rechtecken unbekannter Größe in das kleinstmögliche enthaltende Rechteck zusammenzufügen.Passende Rechtecke zusammen in optimaler Weise

Mit Optimal meine ich mit der Reduzierung der Menge an Leerraum im resultierenden Rechteck.

Ich möchte dies verwenden, um css Sprites aus einer Reihe von Bildern zu generieren.

Vielen Dank,

Ian

+0

Warum hat die Form enthält auch eckig sein? Warum kann es nicht rechteckig, aber nicht quadratisch sein? –

+0

Guter Punkt. Ich meinte Rechteck. Ich werde bearbeiten. – madcapnmckay

+5

http://www.google.com/search?q=rectangle+packing+algorithmus – Dan

Antwort

2

Ich denke, was Sie beschreiben, ist eine Variante des Problems "zweidimensionale bin Verpackung". Der einzige Unterschied ist, dass Sie die Elemente haben und versuchen, das kleinste Rechteck zu finden.

This Umfrage Artikel ist ein guter Anfang.

+0

Es ist jetzt ein toter Link. –

1

Der einzige Weg zu garantieren und optimale Lösung ist die Brute-Force-Antwort. Dies wird schnell für Personal Computer unmanagbar, wenn Sie mehrere Rechtecke haben und die Möglichkeit der Rotation zulassen.

Wikipedia hat einen guten Artikel auf Packungsproblem http://en.wikipedia.org/wiki/Packing_problem