SVGGeometryElement.getPointAtLength有反函数吗?

时间:2018-11-17 16:32:26

标签: javascript svg

我有沿SVGPath某处的点的坐标。我需要能够找到沿路径到该点的距离,例如,调用getPointAtLength(distance)将返回我的点。

这需要在浏览器中以Javascript运行。

有人知道如何有效地执行此操作吗?或者是否有现有的库可以执行此操作?

我认为我已经设法制定出一种涉及的算法

  • 将路径划分为段
  • 使用每个线段的边界框确定点位于哪个线段上
  • 将分段分为两半以生成两条路径
  • 选中两条路径的边界框以计算出点位于哪条路径上。
  • 重复最后两个步骤,直到我足够接近我的意思为止。

我没有想到比这更好的方法了,但是我希望有人已经解决了这个问题,以避免我重新发明轮子。

如果有帮助,可以使用svg-intersections计算两条路径的交点来计算我的点。实际上,我需要能够从自己的点到路径的末端进行动画处理。

0 个答案:

没有答案