2017-05-04 70 views
1

我有一组20个(示例)2D多边形,范围从三角形,4边不规则,5边到6边多边形。其中一些几乎完美的矩形,其中一些完全不规则的形状。他们都将有3到6面,最大。拟合矩形中随机多边形的算法

我也有一个矩形,我们假设它是一个16乘9,因为这是一个典型的屏幕高宽比。

我的目标是找到一种方法来拼图矩形内的多边形,浪费最小的空间。

我可以旋转它们,将它们放大或缩小,将它们移动到矩形内的任何位置。唯一的规则就是在保持视觉愉悦的同时做到这一点(不要想把它们放大或过小,如果可能,不要将它们旋转超过+ - 45度)。

至于问,这里是一个例子形象:

enter image description here

在左边我们可以看到一个可以接受的结果,并在右侧的输入。

我曾经想过教AI去做这份工作,但是有没有任何算法可以帮助解决这个问题?
请记住,一旦我将一些多边形放置到矩形中,我会按照请求继续添加更多的多边形。

+0

不要教一个人工智能来完成这项工作,找到一个读取设置的算法o f 2D工作,并为你做好工作。我可以帮助你选择正确的或实施它,但你需要更多地解释你的问题。 –

+0

Oussama,我想我已经解释了,但无论如何: – Kristian

+0

我有一个画布(基于SVG),它充当矩形。在这个矩形中,我想填充各种三角形,以及多达6边的多边形。 我可以旋转,缩放和移动它们中的任何一个。 我不希望它们重叠,我不希望它们留下空白区域。 如果一个多边形在左边或右边,我可以使它溢出矩形(一点),以尽可能地填充所有东西。 – Kristian

回答

1

如果你想要一个AI来解决它,你需要建立一个效用函数来优化。

它可以在以下方面进行定义:

  • 毗连使用区域(例如:件如何装配在一起)片

  • 区域内

  • 区片的外