2014-05-23 154 views
1

我想打包一個帶有相同大小的子圓的圓,以便最大化子圓的數量或最小化子圓之間的空間。理想情況下,該算法應該能夠參數化所需的子圓圈的最大/最小數量或子圓圈之間的最小/最大間距?在圓圈內打圈的算法?

這是一個很好的研究問題或這是一個變種尤其是。在計算幾何或佈局算法?如果是的話,什麼是一些很好的算法來攻擊這個問題

+0

我不確定我是否理解這些限制。如果內圈可以是任意大小,並且目標是儘可能多地包裝,我會從零開始。如果問題是「大圓圈的哪一部分可以打包?」有一個知道的解決方案:.906隨着內圈的大小接近零。你能澄清大小限制嗎? – Andreas

+0

沒有有效的算法存在。這是非常平凡的問題。看[這裏](http://en.wikipedia.org/wiki/Circle_packing_in_a_circle) –

回答

2

沒有通用的解決方案,但對於多達N = 2000個子圓圈的問題,從數值方法can be found here獲得最知名的包裝。包裝值的ASCII文件可以自由下載以供應用使用。這是一個正在進行的搜索,因此檢查更新可能是您想要編碼的內容。

還要注意的是,隱藏在頁面底部的a little form會將數據應用於最大程度地減少給定大小的圓和子圓的浪費問題。