该算法 FindIntersections(S) 是一种平面扫描算法,旨在找到平面上一组线段 S 中所有交点。它是计算几何中的一个基本算法。以下是详细说明:

输入: 平面上的一组线段 S

输出: 交点集。对于每个交点,算法还会识别包含它的线段。

1. 初始化:

2. 主循环:

HandleEventPoint(p) 内部:

事件点 p 有三种可能的情况:

  1. p 是线段的下端点:
  2. p 是线段的上端点:
  3. p 是一个交点:

关键思想及其工作原理: