【发布时间】:2013-02-15 17:44:37
【问题描述】:
我有两条共享一个端点的贝塞尔曲线。这些曲线中的每一个在左右两侧都有一个“延伸”,类似于道路的边缘。扩展由近似贝塞尔曲线的线段组成。
我想找到这些路径与贝塞尔曲线的共享端点最近的交点。
Here is a diagram I've drawn of the problem
每条线路径都有超过 100 个顶点,因此与每条线相交并保持最近的交点可能会变得非常慢,因为这必须实时运行。
在检查相交点之前,我已经对线条进行了边界球相交测试以加快速度,但它仍然不够快。我的下一个方法是使用某种四叉树结构。
我查看了Bentley-Ottmann algorithm,但它似乎可以处理在一组线中查找所有交叉点,这不是我需要的。我还查看了 Bezier 曲线相交算法,但它们似乎需要细分为线段,而我已经有了。
对于这个问题是否有任何有用的算法,或者关于如何优化它的任何想法?
【问题讨论】:
-
为什么是最近的交点而不是唯一的交点? A 和 B 是否有可能在多个交叉点相遇?
标签: algorithm geometry intersection bezier line-segment