我得到了一堆矩形物體,我需要將它們放入最小的空間(這個空間的尺寸應該是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