2016-06-12 95 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要点**在**路径中,而不是点**相交**路径。 –