在做木板切割的时候,省料是最重要的,省料算法很多行业都用的到,钢材切割、木材切割等等。
    省料算法在数学模型里叫矩形排版算法,有非常多的论文介绍了不少算法以及算法优化。
    还是由于项目时间不能拖,三四天需要解决这个问题,算法自己写太费时间,找现成的算法代码,然后修改bug,进行算法优化。
    c++、c#、js写的算法都找了一遍,都是半成品,通过比较,选择了js写的一个排版算法,进行优化。做的工作如下:
    将js的算法移植到unity3d中,也就是改成用c#语言写这个算法,算法还是很简洁的,用了递归,移植很好移植。然后就是优化,优化的重点在有些剩余空间浪费了,所以需要合并剩余空间,针对于多种木板大小情况,写了很多if判断,来合并剩余空间,最终效果非常好。如下:
木板切割排版省料算法-LMLPHP
    
10-08 21:08