重疊的區域數目我有任務在那裏我有任何數量的圈子。我所知道的一個是它的中心和半徑。現在我需要找到正好是 3圈的重疊區域的數量。我試圖解決它知道當他們的中心之間的距離短於半徑的總和時圓圈重疊,但它讓我無處可去。的正好3個圈
Q
的正好3個圈
-2
A
回答
0
一個掃線算法應該做的工作。
閱讀有關一般here掃線算法,對一個特定的(非常重要)算法here。這個問題的算法的總體結構將類似於Bentley-Ottmann算法的結構。下面是一些細節(不是完整的描述,而是一個草圖;完整的描述
在每個圓上的所有最左邊(最小X)和最右邊(最大X)點,所有這些點的X座標。他們
一個優先級隊列。運行沿X軸的垂直掃描線,線中包含的Y座標的集合點的在那裏它與在當前X座標圈,由Y.
排序相交一旦掃描線打最左邊的圓圈點,將其添加到收藏兩次 - 一次是針對上半圓,一次用於下半圓一旦掃描線擊中最右邊的圓點,刪除相應的集合點。跟蹤兩個連續點之間的每個間隔由圓圈覆蓋的次數。跟蹤這些區域的身份。每當屬於不同圓圈的兩個點彼此相鄰時,計算它們的交點,並將它們插入點隊列。每當掃描線遇到交點時,交換收集中的相應點並調整區域標識和重疊計數。
這很容易通過繪製某些圈子裏的一張紙,不同的着色各個區域,並緩慢移動在繪圖尺,指出它是如何與社交圈和區域相交以可視化的算法。
亦谷「行掃描算法」, 「圓」。
相關問題
- 1. 3個圓圈和響應
- 2. html5 canvas venn 3個圈子
- 3. Openlayers 3繪圖圈
- 4. CAShapeLayer:找到3圈
- 5. ActionScript 3的圈複雜度
- 6. 在ActionScript 3中創建10個圓圈
- 7. LINQ查詢到如下取誰正在正好3個項目
- 8. Qt Quick的2設爲Qml:正好在圈子
- 9. 正則表達式找到一個正好包含3個單詞的行
- 10. 閃光環 - ActionScript 3的網格圈
- 11. Highcharts的3層甜甜圈圖表
- 12. htaccess的友好的URL 3個參數
- 13. __init __()需要正好3個參數(1給出)
- 14. TypeError:__init __()需要正好4個參數(給出3)Point Shapely
- 15. django制裁:TypeError:create_superuser()需要正好4個參數(3給出)
- 16. 友好的URL 3
- 17. ASP.NET MVC 3中的甜甜圈緩存可用3
- 18. ASP.MVC 3 - 好嗎?
- 19. 位圖圈不正確
- 20. 修正D3圓圈動畫
- 21. PHP正則表達式爲3位數字(正好)開始6
- 22. 畫動畫圈中迅速3
- 23. 圓圈圖層不顯示在OpenLayers 3
- 24. 使用正弦和餘弦將圓圈定位在一個圓圈中
- 25. 如何在Swift中繪製一個圓圈3
- 26. 遞歸報告列表的總和,如果它包含正好3個奇數
- 27. 好的TTCN-3資源
- 28. 良好的認證Rails 3
- 29. Rails 3更好的路由
- 30. 正在檢測的隨機圈子
我投票,因爲這是一個基本的幾何形狀,而不是一個編程的問題,關閉了這個問題作爲題外話。 –
按地區分類,你是指連接組件?你會對離散逼近感到滿意還是需要一個確切的結果? –
您是在詢問非重疊區域的數量(數量),還是應該將每個三重界限區域統計爲一個區域(儘管存在重疊)或其他內容?每個這樣的地區的*規模*是相關的嗎? –