Python 找出线路中是否存在回路(互连)

Python 找出线路中是否存在回路(互连),python,math,multidimensional-array,coordinates,coordinate-systems,Python,Math,Multidimensional Array,Coordinates,Coordinate Systems,我有一组二维坐标。它可以是正的,负的,也可以是分数。所以要点是 50.2345,-23.452 1.345,-14.206 诸如此类。现在我的问题是,如果我将这些坐标绘制在一个图形上,如何确定这条线是相交形成一个循环,还是保持为一条锯齿形线(不相交)。这可以通过嵌套的FOR循环计算 假设我有5点: [0,0],[1,1],[2,1],[2,0],[0,1] 这给了我们4条边,最后一条边将与第一条边重叠。边([0,0],[1,1])将与边([2,0],[0,1])相交 在每条边(线段)上迭代,并

我有一组二维坐标。它可以是正的,负的,也可以是分数。所以要点是

50.2345,-23.452
1.345,-14.206

诸如此类。现在我的问题是,如果我将这些坐标绘制在一个图形上,如何确定这条线是相交形成一个循环,还是保持为一条锯齿形线(不相交)。

这可以通过嵌套的FOR循环计算

假设我有5点: [0,0],[1,1],[2,1],[2,0],[0,1]

这给了我们4条边,最后一条边将与第一条边重叠。边([0,0],[1,1])将与边([2,0],[0,1])相交

在每条边(线段)上迭代,并测试与所有其他线段的交点

伪代码:

 for(edge1 in edges)
 {   
     for(edge2 in edges)
     {
        if ( testIntersect(edge1,edge2) ) return true;
     }
 }
 return false;

这可以使用嵌套的FOR循环进行计算

假设我有5点: [0,0],[1,1],[2,1],[2,0],[0,1]

这给了我们4条边,最后一条边将与第一条边重叠。边([0,0],[1,1])将与边([2,0],[0,1])相交

在每条边(线段)上迭代,并测试与所有其他线段的交点

伪代码:

 for(edge1 in edges)
 {   
     for(edge2 in edges)
     {
        if ( testIntersect(edge1,edge2) ) return true;
     }
 }
 return false;

python如何允许我们创建边?所有这些都是物理二维坐标,对吗?你有什么可以共享的资源吗?“边缘”只是一条连接两点的线。我也听过“线段”这个词,但很少听到。所有直线均由其端点[x1,y1]、[x2,y2]定义。我明白了。我试图找到一种用python定义线段的方法,并实际应用这个概念。看起来我必须为这两条线建立一个方程式,并检查它们是否相交。。我想没有库可以实现这一点。直线交点是一个基本的等式,制作一个函数来获取4个点并返回true或FALSE是很简单的。python如何允许我们创建边?所有这些都是物理二维坐标,对吗?你有什么可以共享的资源吗?“边缘”只是一条连接两点的线。我也听过“线段”这个词,但很少听到。所有直线均由其端点[x1,y1]、[x2,y2]定义。我明白了。我试图找到一种用python定义线段的方法,并实际应用这个概念。看起来我必须为这两条线建立一个方程式,并检查它们是否相交。。我想没有库可以实现这一点。直线交点是一个基本方程,制作一个函数,取4个点并返回真或假是很简单的