我想知道是否有人知道任何适合于将N个未知大小的矩形组合到最小的可能包含矩形中的算法。以最佳方式将矩形组合在一起
通过最优化我的意思是减少所产生的包含矩形中留下的空白量。
我想用它来从一系列图像中产生css精灵。
非常感谢,
伊恩
我想知道是否有人知道任何适合于将N个未知大小的矩形组合到最小的可能包含矩形中的算法。以最佳方式将矩形组合在一起
通过最优化我的意思是减少所产生的包含矩形中留下的空白量。
我想用它来从一系列图像中产生css精灵。
非常感谢,
伊恩
通过packing images into square texture和Simon的答案,我得到了这个链接http://code.activestate.com/recipes/442299/
我没有检查的配方,但它似乎允许使用非方形容器。
我认为你所描述的是“二维装箱”问题的一个变种。唯一的区别是你有这些项目,并试图找到最小的矩形。
This调查文章是一个好的开始。
现在这是一个死链接。 – 2013-06-20 05:39:20
保证和最佳解决方案的唯一方法是蛮力的答案。当你有几个矩形时,这对个人计算机来说很快变得难以管理,并且允许旋转的可能性。
这里是一个快速的填充算法的一个很好的说明了一篇好文章 - http://www.codeproject.com/KB/web-image/rectanglepacker.aspx
为什么会含有形状也必须是方形的?为什么它不是长方形而是方形? – 2010-06-08 15:19:45
好点。我的意思是矩形。我会编辑。 – madcapnmckay 2010-06-08 15:20:20
http://www.google.com/search?q=rectangle+packing+algorithm – Dan 2010-06-08 15:27:22