看了
llsheng_73的帖子
怎么将零散的图元尽可能小占面积的集中在一起
http://bbs.mjtd.com/forum.php?mod=viewthread&tid=108219&fromuid=408117
觉得在非专业上还是有一定用处的,例如我们要遮盖工地上许多分散的东西,老板叫你去买块帆布,你买多长?一些老板可能还嫌多买了,我们又怎么解释?
下料问题最优解属于NP难问题,给出一种排布结果,除了看有效利用率以外,我暂时无法用一种方法去证明这是最优解。近似求法很多,有得很复杂,对于一般非专业用途,近似解应该能满足我们的要求(如上)。
感觉上,类似的用途很多,世界很大,相关资料会有不少;果断求助度娘,结果发现,度娘八卦,有时挺好使的,但关键时候还得靠谷哥。
找到Jukka在https://github.com/juj/RectangleBinPack上的一份代码,乍一看,条理清晰,代码风格利索,相对规范,接口简单;同时提供多种并不很复杂的算法实现(但要自己实现起来是很耗时间的)。我们不是学者,不是用作市场、生产上,只是估算,可能几年内都用不上,就不做深究了,“拿来主义“,哪个好用就用哪个(但做人不能这样,。。。)
以上代码为基础,要实现题目剩下的就是打打下手了,待解决如何将相近cad图元聚类化之后就能试验效果。