Python 熊猫能找到所有连接**点**和don'的线吗;在没有迭代的情况下,是否与给定**线**相交?

Python 熊猫能找到所有连接**点**和don'的线吗;在没有迭代的情况下,是否与给定**线**相交?,python,pandas,intersection,lines,Python,Pandas,Intersection,Lines,给出正确定义的点列表和行列表: 熊猫能否找到所有连接任何一对点的线,并且不经过迭代就不会与任何给定的线相交 正如你在图中看到的,我目前正在着手解决这个问题,但我必须在这个过程中进行迭代,而这种迭代使一切都变得非常缓慢 在图像中,点列表是绘制的彩色点,线列表是烛台。期望的结果是黑线 虽然这个问题的目的是理论上的解决方案,或者概念上的确认(如果可能的话),或者除了迭代之外没有其他方法,但以下是我目前使用的代码,以防它有所帮助: 我不知道熊猫,但我能看到你想做什么,是的,可以做得更快。我将把黑线称为

给出正确定义的点列表和行列表:

熊猫能否找到所有连接任何一对点的线,并且不经过迭代就不会与任何给定的线相交

正如你在图中看到的,我目前正在着手解决这个问题,但我必须在这个过程中进行迭代,而这种迭代使一切都变得非常缓慢

在图像中,点列表是绘制的彩色点,线列表是烛台。期望的结果是黑线

虽然这个问题的目的是理论上的解决方案,或者概念上的确认(如果可能的话),或者除了迭代之外没有其他方法,但以下是我目前使用的代码,以防它有所帮助:

我不知道熊猫,但我能看到你想做什么,是的,可以做得更快。我将把黑线称为射线,因为我希望它会变得清晰;在您的算法中,对于m个点和n条线,您将查找所有m(m-1)/2条光线,然后进行2n次比较以过滤它们:m*(m-1)*n=>输入大小的立方。有一种方法可以使这个二次输入


你所描述的可以通过一种形式来解决(虽然因为它是二维的,所以比较简单):把点想象成光;如果目标不在直线阴影中,则源点只能向目标点投射光线。因此,我们从一个点开始,然后在一系列线和点上向右移动,你可以照亮这些线和点。当我们经过线条时,会有一个不断扩大的阴影区域;但在任何x值下,我们只需要知道阴影边缘的2个梯度,就可以知道y值是否在阴影中。当我们向右通过每条线时,更新阴影的渐变。当我们通过每个点时,我们检查它是否位于阴影之外;如果有,我们有一条射线。对每个点重复这个过程,就完成了。这大致相当于m*(m-1)/2+m*n计算,其缩放效果要好得多。

您要优化的是粘贴箱中的第28行到第34行吗?Pandas本身没有您想要的功能,但是使用Numpy可能是可行的。我想您指的是“30”和“3”,原因是为了避免距离超过27步的线条,以避免额外的计算。谢谢,我将对此进行挖掘和测试,一有结果就会回来,但看起来像是我在寻找的。如果是这样的话,我将发布熊猫版本。我显然缺乏数学方法,而不是熊猫库方法,所以我接受这一点,如前所述,我将在开发它时用熊猫代码进行更新。