在有限的空間中生成已知數量的非重疊固定半徑圓的最佳方式是什麼?如何在固定區域生成不重疊的圓圈?
0
A
回答
3
用最少的剩餘空間做到這一點的方法是將圓心置於六邊形網格上,就像您製作金字塔金字塔時所獲得的圖案一樣。
2
你可以把屏幕分割爲一個網格,並繪製在每個「方」了一圈:)
3
如果你只是想在一個小範圍內儘可能多的圈,使用hexagonal close packing。
3
見Circle packing theorem在維基百科上
0
這將取決於空間和其他限制的圈子裏,你沒有指定的自然形狀。例如,要在高度爲Y和長度爲X的矩形中生成N個非重疊圓,請將每個圓的直徑設爲X/10 * N或Y/10 * N中的較小者,並讓每個中心間隔一段距離均勻地分佈在劃分矩形的水平線上,跨越其長度的一半。
1
我不認爲你的問題是明確的。對世代有什麼限制?
下面是固定半徑的非重疊的圓隨機收集丟棄算法:
- 維持各界的列表
- 通過
- 生成候選生成隨機中心允許區域
- 測試列表中的每個現有圓以與候選人發生碰撞,並拒絕是否發現任何碰撞。如果全部通過,請將此候選人添加到您的列表中。
- 轉到#1,直到你滿意的數量產生
編輯:閱讀問題更加緊密,半徑指定...
相關問題
- 1. MATLAB:區域重疊的圓圈
- 2. 如何加入重疊圓圈?
- 3. 在MATLAB中刪除重疊的圓圈
- 4. 如何在Google Maps API中將不同的顏色應用於圓圈的重疊區域
- 5. android - 如何定義一個圓圈內的可觸摸區域
- 6. css重疊的圓圈和文本框
- 7. 防止拖動圓圈重疊
- 8. ScrollMagic:當它與固定區域重疊時隱藏內容
- 9. 我如何生成特定給定區域之間不重疊的隨機對象?
- 10. 圓圈圖像疊加
- 11. 如何用盡可能小的圓形區域圍繞文字製作圓圈?
- 12. 我如何圍繞一個固定的圓圈拖動圈 - d3.js
- 13. 如何切斷重疊區域?
- 14. 如何計算重疊區域?
- 15. 如何將圖片拖動到andEngine中的特定圓圈區域
- 16. OpenCV確定相交/重疊區域
- 17. javascript:在陣列中找到重疊的圓圈
- 18. 物理模擬確保圓圈不重疊 - C#XNA 4.0
- 19. 重疊事件區域
- 20. 查找封閉在一個固定大小的圓圈
- 21. 在固定半徑的地圖上畫圓圈
- 22. 在地圖上的小冊子固定大小圓圈
- 23. 如何在WPF中創建一個帶圓圈的圓圈?
- 24. 如何找到圈的重疊
- 25. java圈內圈,如何知道兩圈是否重疊
- 26. 將重疊點分散在一個圓圈中 - R
- 27. Java編碼區圓圈
- 28. 如何在一個圓圈
- 29. 如何使UIButton成爲一個圓圈?
- 30. 找到哪個圓圈區域在db中包含地圖上的特定點
你應該更具體。這個圈子的分佈是一個問題嗎?是否應該覆蓋大部分表面?最簡單的方法是從x = r,y = r開始,對於半徑爲r的圓,並逐行放置它們,直到其中有足夠多的... – 2009-02-06 21:05:00