我正在尝试创建一种算法,该算法可以获取一组对象并将它们组织在给定区域中,以便优化包围所有形状的框(通过使用的区域,或通过沿某个维度最大化跨度等) .)。所有的形状都是封闭的和有界的。
这样做的目的是尽量减少使用激光切割机造成的材料浪费。形状是在 CAD 中生成的,可以读入该算法。然后,该算法将获取工作区域(有效激光切割区域)以及任何两个对象之间的最小间距的参数,然后尝试在指定尺寸内组织对象,同时尝试最小化区域使用。或者,该算法还可以尝试最大化沿一个轴的对象位置,同时最小化沿另一维的跨度。这类似于切割要切割的较小工件。
理想情况下,该算法将能够进行平移和旋转,但旋转不是必需的。
例如,此图片描述了所需的转换。
它应该适用于任意但少量 (<25) 的对象。
最后,我不希望任何人为我解决这个问题,但我希望能帮助我找到可以做到这一点的算法,或者开发我自己的算法。谢谢你。