我得到了一堆矩形物体,我需要将它们放入最小的空间(这个空间的尺寸应该是2的幂)。什么算法可用于以相当优化的方式将不同大小的矩形打包成最小的矩形?
我知道各种包装算法,将尽可能包装物品到一个给定的空间,但在这种情况下,我需要的算法来计算出多大的空间也应该。
如说Ive得到了如下矩形
- 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的幂,并且对于每个维度在给定的最大尺寸内)?
我投票这个问题了,不仅因为它是有趣的,但他们肯定矩形相当。 – jr3 2009-07-31 16:14:11
+1这就是我要求将字体字形装入纹理的问题,但是比我所做的任何更好的提议 – 2010-03-31 00:18:11
第二种解决方案不是最优的吗?难道它不是128乘224? – 2010-08-20 22:46:49