我有一堆矩形对象,我需要将它们打包到尽可能小的空间中(这个空间的尺寸应该是 2 的幂)。
我知道各种打包算法可以尽可能地将物品打包到给定的空间中,但是在这种情况下,我需要算法来计算出该空间应该有多大。
例如说我有以下矩形
- 128*32
- 128*64
- 64*32
- 64*32
它们可以打包成128*128的空间
_________________ |128*32 | |________________| |128*64 | | | | | |________________| |64*32 |64*32 | |________|________|
但是,如果还有 160*32 和 64*64 的,则需要 256*128 的空间
________________________________ |128*32 |64*64 |64*32 | |________________| |_______| |128*64 | |64*32 | | |_______|_______| | | | |________________|___ | |160*32 | | |____________________|_______|
有哪些算法能够打包一堆矩形并确定容器所需的大小(到 2 的幂,并且在每个维度的给定最大大小内)?