2017-05-04 74 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來解決它,你需要建立一個效用函數來優化。

它可以在以下方面進行定義:

  • 毗連使用區域(例如:件如何裝配在一起)片

  • 區域內

  • 區片的外