有很多方法可以检查点内的路径,但是我还没有找到任何可以检查圆(整个对象,不是中心点)是否在svg内的算法路径。 如果你想知道为什么我需要这种算法 - 我想用不同半径的圆圈填充空间(http://bl.ocks.org/mbostock/1893974),而那些进入形状的圆圈我想用另一种颜色绘制。结果,我们得到了色盲人的测试图像,如石原的照片。如何检查svg路径内是否有一个svg圈
The expected result like on that picture.
有很多方法可以检查点内的路径,但是我还没有找到任何可以检查圆(整个对象,不是中心点)是否在svg内的算法路径。 如果你想知道为什么我需要这种算法 - 我想用不同半径的圆圈填充空间(http://bl.ocks.org/mbostock/1893974),而那些进入形状的圆圈我想用另一种颜色绘制。结果,我们得到了色盲人的测试图像,如石原的照片。如何检查svg路径内是否有一个svg圈
The expected result like on that picture.
这一个collition检测算法或交集。
步骤1
与cirlcles填充你基础形状
步骤2
创建主形状
步骤3
检测interserct和后面颜色的形状。而隐藏主形状
优点:您可以动态地添加形状,动画或改变它的飞行。
对于实现看here
OP要点**在**路径中,而不是点**相交**路径。 –
Looka此示例:http://bl.ocks.org/mbostock/4218871。即使有相同的颜色:) – Klaujesi
我看到这个例子,但它是所有关于交集,我需要入口 –
距离路径算法有距离(搜索“路径上的最近点”)。您只需检查圆的中心位于路径**和**内,即距离路径的距离大于半径。 –