2016-06-12 98 views
1

有很多方法可以檢查點內的路徑,但是我還沒有找到任何可以檢查圓(整個對象,不是中心點)是否在svg內的算法路徑。 如果你想知道爲什麼我需要這種算法 - 我想用不同半徑的圓圈填充空間(http://bl.ocks.org/mbostock/1893974),而那些進入形狀的圓圈我想用另一種顏色繪製。結果,我們得到了色盲人的測試圖像,如石原的照片。如何檢查svg路徑內是否有一個svg圈

The expected result like on that picture.

+0

Looka此示例:http://bl.ocks.org/mbostock/4218871。即使有相同的顏色:) – Klaujesi

+0

我看到這個例子,但它是所有關於交集,我需要入口 –

+0

距離路徑算法有距離(搜索「路徑上的最近點」)。您只需檢查圓的中心位於路徑**和**內,即距離路徑的距離大於半徑。 –

回答

1

這一個collition檢測算法或交集。

步驟1

與cirlcles填充你基礎形狀

enter image description here

步驟2

創建主形狀

enter image description here

步驟3

檢測interserct和後面顏色的形狀。而隱藏主形狀

enter image description hereenter image description here

優點:您可以動態地添加形狀,動畫或改變它的飛行。

對於實現看here

+0

OP要點**在**路徑中,而不是點**相交**路徑。 –