两条曲线之间的交点

时间:2011-12-06 17:33:14

标签: math graphics draw curve

我需要获得两条曲线的交集。我面临的问题可以通过以下方式说明:

给定由直线连接的N1和N2点定义的两条曲线C1和C2,获得C1与C2的所有交点。两条曲线都不相交。

我尝试了几种方法,但到目前为止似乎都没有。有什么猜测吗?

2 个答案:

答案 0 :(得分:1)

最简单的方法是测试所有段对,每条段对应一段。如果这太慢,请尝试条带树。以下文件可在author's web site找到。

  

Ballard,D。H.(1981),剥离树:层次表示   曲线,ACM通讯,第24节n.5,310-321

答案 1 :(得分:0)

由于曲线由线段组成,我建议使用空间树(例如quadtree)来仅检查彼此接近的线段。这会将算法的复杂性从O(N1 N2)降低到O(N log N)(其中N = N1 + N2),假设非常接近的交叉点的数量很小。

除此之外,你可以在this way找到交叉点。