线扫,交叉点降低点也是一个事件?

时间:2012-03-13 21:34:42

标签: algorithm computational-geometry

您好我正在尝试通过线扫描算法了解查找交叉点。 但是我的书的作者与信息有点不一致,我知道我们将线段的上部点添加为事件,我们将交叉点添加为事件。但是,当我们首先创建事件列表时,在我们移动线之前,我们是否还将段的较低点添加为事件?或者只是事件的上部和交叉点?

1 个答案:

答案 0 :(得分:3)

在算法的开头,您应该将段的两端添加到事件列表中。在事件发生时扫描期间,您将添加另一个事件(相应的段的交集)。

在高点事件中,您要将段添加到扫描线。

在较低点事件中,您要从扫描线中删除分段。

在交叉事件中,您正在更改扫描线中的线段顺序。

当您在扫描线中插入,移除或更改分段顺序时,应检查是否有新的交叉点。