我有一组20个(示例)2D多边形,范围从三角形,4面不规则,5面到6面多边形。其中一些几乎是完美的矩形,其中一些是完全不规则的形状。所有这些都将有3到6个边,最大。
我也有一些矩形,让我们说它是16乘9,因为它是屏幕的典型宽高比。
我的目标是找到一种方法来拼错矩形内部的多边形,浪费最小的空间。
我可以旋转它们,向上或向下缩放它们,将它们移动到矩形内的任何位置。唯一的规则是这样做,同时保持它们在视觉上令人愉悦(不要将它们放大或过小,如果可能的话,不要将它们旋转超过+ -45度)。
如上所述,这是一个示例图片:
在左侧,我们看到可接受的结果,在右侧,我们看到输入。
我曾经想过要教AI做这项工作,但有没有算法可以帮助解决这个问题? 请记住,一旦我将一些多边形放置到矩形中,我会在程序上继续根据请求添加更多的多边形。
答案 0 :(得分:0)
如果您想要AI来解决它,您需要建立一个优化的效用函数。
可以用以下术语来定义:
连续使用的区域(例如:多么合适的区域)
内部区域
外面的区域