检查一组线是否在轮廓中形成闭合对象

时间:2013-01-15 07:57:46

标签: algorithm lines contour

我有一个用户可以在表单上绘制线条的作业。一旦用户创建了一条线,该线就会被推入包含用户先前输入的所有线的列表中。然后将线条绘制到框架上,以便用户可以看到黄色。 我的任务是,当用户尝试使用线条创建连接对象时,该对象必须变为绿色而不是黄色。 所以我有每个线段的两个坐标,我如何确定一组闭合对象是由一组线形成的。我可以遵循任何算法吗? enter image description here

1 个答案:

答案 0 :(得分:2)

对于每个段,找到与其他段(如果存在)的交叉点。当您找到交叉点时,将其与两个相关的段链接。

现在你有了一个“无向图”,交点作为顶点,段作为边。

剩下要做的就是find cycles in your graph。每个周期都是一个封闭的对象。