2d-bin-packing算法在x,y位置放置一个矩形?

我在canvas中实现了2d-bin-packing算法。 我的任务是将矩形放置在canvas上的最佳位置。

以下显示了如何操作: http : //incise.org/2d-bin-packing-with-javascript-and-canvas.html

但是,它始于原点。 我想告诉算法在哪里放一个矩形,下一个不要在他的上面。

代码应该改变什么?

是否有其他算法可供使用?

我知道一个比你所链接的算法更好的算法(在紧凑性而不是速度方面)称为MaxRects。

这是我在C ++中实现的。 虽然速度不快,但在紧凑包装方面非常有效。

这是一个pdf讨论和比较各种算法的时间和紧凑性。

编辑:

我把使用MaxRects打包的图像放在一起 在此处输入图像描述