我在canvas中实现了2d-bin-packing算法.我的任务是将矩形放置在画布上的最佳位置.
以下显示了如何操作:http: //incise.org/2d-bin-packing-with-javascript-and-canvas.html
但是,它始于原点.我想告诉算法在哪里放一个矩形,下一个不要在他的上面.
代码应该改变什么?
还有其他算法可供使用吗?
我正在寻找一些指向算法的指针,这些算法应该允许平铺不重叠不同大小的矩形.
给定一组不同大小的矩形,将它们平铺在大小为H x W且没有重叠的区域上.目标是最大化使用的空间或相反 - 最小化间隙面积.如果没有足够的空间,请继续进行相同大小的第二个区域,依此类推.
假设每个矩形的宽度和高度小于拼接区域的相应尺寸.矩形不会旋转或以其他方式转换 - 即它们的边是水平的或垂直的.
我不是在寻找完成的代码,只是好奇什么方法/算法最适合用来解决这个问题.