7

有没有办法以几何方式计算一条线和任意图形路径的交点?我知道所有直线和曲线在路径中的位置,如果有帮助的话,我正在使用 HTML5 画布元素。基本上,我可以访问所有画布绘图命令及其参数。例如,如果使用 lineTo、moveTo、arc 调用 API,那么我拥有所有这些信息。对 API 的每次调用都存储在一个数组中。我有路径定义,我只想找出线与路径相交的位置。下图显示了我需要找到的点的示例。

替代文字

谢谢你的帮助!同样,如果可能的话,我宁愿以几何方式而不是基于像素来执行此操作。

4

4 回答 4

8

您可能想看看 Kevin Lindsey 的 Javascript 几何库 - 它可能包含您正在寻找的所有相交算法:http: //www.kevlindev.com/geometry/index.htm

于 2010-06-20T11:19:35.243 回答
0

如果你有一切的方程式,那么你可以做到(理论上)。在实践中,这并不容易(尤其是在一般情况下)。这个讨论对相交线和贝塞尔曲线有一些很好的建议。

于 2010-06-19T23:25:16.637 回答
0

您想将一条线和一条“样条”x(t), y(t) 相交,对于 x(t) 和 y(t),它们最多应该是 4 次多项式。你学会了解方程,但你确实需要知道所有的参数。如果解决方案超出任一范围(线段和样条线段有起点和终点) - 丢弃它。相关问:

样条与直线的交点

于 2010-06-19T23:26:48.867 回答
0

如果不知道您的图形路径是如何定义的,就不可能用具体的算法来回答您的问题。这本书中有一个关于直线段算法的解决方案。

于 2010-06-19T23:22:41.870 回答