如何在一组线段中查找闭合循环区域?
问题:查找线段构成的闭合区域(循环)
输入数据
coordinates = [(50.0, 50.0, 100.0, 50.0), (70.0, 50.0, 75.0, 40.0, 80.0, 50.0)]
图形说明
绘制后的图形包含:一条从(50.0, 50.0)到(100.0, 50.0)的水平线段,以及一条从(70.0, 50.0)到(75.0, 40.0)再到(80.0, 50.0)的折线,两者共同形成一个三角形闭合区域。
任务要求
- 找出所有闭合区域(循环)
- 输出格式为
[(线段1), (线段2), ...],每条线段用坐标元组表示
预期结果
[(70.0, 50.0, 75.0, 40.0), (75.0, 40.0, 80.0, 50.0), (80.0, 50.0, 70.0, 50.0)]
遇到的问题
- 尝试使用NetworkX库的
cycle_basic方法,但该方法要求循环的顶点必须与其他循环的顶点直接接触,无法适配我的场景——我的场景中顶点可以落在任意线段的任意位置(即闭合区域的边界可能由原线段的部分片段构成)。
内容的提问来源于stack exchange,提问作者Bobby Lith
相关产品推荐
相关产品推荐

