Math 两条曲线的交点

Math 两条曲线的交点,math,graphics,draw,curve,Math,Graphics,Draw,Curve,我需要得到两条曲线的交点。我面临的问题可以用以下方式表述: 给定两条曲线C1和C2,由直线连接的N1和N2点定义,获得C1和C2的所有交点。两条曲线不相交 我尝试了几种方法,但到目前为止似乎都不管用。猜猜看?由于曲线由线段组成,我建议使用空间树(例如a)仅检查彼此接近的线段。这将使算法的复杂度从O(N1 N2)降低到O(N log N)(其中N=N1+N2),前提是非常接近的交点数量很小 除此之外,您可以在中找到交点。最简单的方法是测试所有线段对,每个曲线一对。如果这太慢了,试试一棵长条树。下面

我需要得到两条曲线的交点。我面临的问题可以用以下方式表述:

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


我尝试了几种方法,但到目前为止似乎都不管用。猜猜看?

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


除此之外,您可以在中找到交点。

最简单的方法是测试所有线段对,每个曲线一对。如果这太慢了,试试一棵长条树。下面的论文可以在网站上找到

Ballard,D.H.(1981),《带状树:树木的层次表示》 ACM的通信曲线,v.24 n.5310-321


这似乎更像是一个数学问题,而不是一个编程问题,因此将脱离主题。如果这是一个编程问题,请告诉我们你有什么语言和代码。另外,如果这是家庭作业,请给它贴上这样的标签。@ewok算法问题在这里得到支持,有很多比这更数学的问题。@ewok:作为一个物理系学生,我可能会说编程就是数学。。。这是一个数值算法,因此可以将其视为一个编程问题。这不是家庭作业,但为了避免更多的评论,我添加了标签。另外,我想说编程是数学的一个子集,而不是和数学一样。如果这与一个需要用代码实现的算法有关,那么这很好,但是如果它只是“解决这个问题的数学方法是什么”,那么我认为它属于。否则,为什么有两个不同的网站?四叉树是一个很好的提示;直线可以在任何地方截取,这里我们讨论的是线段。