我正在尋找用矩形填充任意2D形狀,例如通過查看矩形的合成圖像使2D圖形變爲可見。最終結果應該看起來類似於這個應用程序生成的圖像:http://www.shapecollage.com/(不,我不想複製所述應用程序,但我想提供類似的功能作爲更大的應用程序的一部分)。用矩形填充2D形狀
我從this知道這個問題,我的問題的最佳解決方案可能不存在,但一個合理的好結果應該是可能的,並且足夠我的意思。到目前爲止,我已經嘗試基於洪水填充算法的思想以下兩種方法:
方法1
- 開始與形狀的任意點,在這一點上繪製一個矩形。
檢查的點的右側,底部,左側和前一圖像的頂部,例如,如果與前一圖像
吸入並排檢查點對應於下一個圖像的中心//爲右移找到新x座標的示例
newCenter.x = oldCenter.x + oldWidth + newWidth;
檢查新的中心點是否爲a)2D形狀和b)不在已繪製的矩形內。如果兩個條件都滿足,繪製矩形並在第2步繼續,否則不要做任何事情。
方法2
同方法1,但沒有條件,即矩形的新中心不允許是繪製的矩形內。相反,所有方向都會添加填充。
// Example of finding new x-coordinate for right move
newCenter.x = oldCenter.x + oldWidth + newWidth + padding;
這兩種方法都提供極其有限的結果,並不能完全填充形狀,雖然有時輪廓的部分成爲可見的方法1.
我很高興爲任何投入,想法或成熟的方法我可以嘗試獲得類似於上述示例的結果。謝謝!
像你一樣需要多邊形鑲嵌,而不是填充。 –