Welcher Algorithmus kann verwendet werden, um Rechtecke unterschiedlicher Größe auf eine ziemlich optimale Weise in das kleinstmögliche Rechteck zu packen?

Ich habe einen Haufen rechteckiger Objekte, die ich auf kleinstem Raum packen muss (die Dimensionen dieses Raumes sollten Potenzen von zwei sein).

Mir sind verschiedene Verpackungsalgorithmen bekannt, mit denen die Elemente so gut wie möglich in einen bestimmten Bereich gepackt werden. In diesem Fall muss der Algorithmus jedoch auch herausfinden, wie groß dieser Bereich sein soll.

Angenommen, ich habe die folgenden Rechtecke

128 * 32128 * 6464 * 3264 * 32

Sie können in ein 128 * 128-Feld gepackt werden

 _________________
|128*32          |
|________________|
|128*64          |
|                |
|                |
|________________|
|64*32  |64*32   |
|_______|________|

Wenn es jedoch auch einen 160 * 32 und einen 64 * 64 geben würde, würde er einen 256 * 128 Platz benötigen

 ________________________________
|128*32          |64*64  |64*32  |
|________________|       |_______|
|128*64          |       |64*32  |
|                |_______|_______|
|                |               |
|________________|___            |
|160*32              |           |
|____________________|___________|

Welche Algorithmen sind in der Lage, eine Reihe von Rechtecken zu packen und die erforderliche Größe für den Container zu bestimmen (mit einer Potenz von 2 und innerhalb einer bestimmten Maximalgröße für jede Dimension)?

Antworten auf die Frage(7)

Ihre Antwort auf die Frage