简单多边形弱可见性与最短路径算法解析
1. 弱可见性多边形相关概念与推论
弱可见性和最短路径在多边形分析中有着重要的应用。首先,我们有关于弱可见性多边形的一些关键推论。
- 每个弱可见性多边形 $P$ 最多有两个不相交的 $C$ - 多边形。
- 如果多边形 $P$ 有三个或更多相互不相交的 $C$ - 多边形,那么 $P$ 不是弱可见性多边形。
这些推论为后续计算弱可见性多边形提供了重要的理论基础。
2. 扫描边界的 $O(n \log n)$ 算法
此算法用于计算简单多边形 $P$ 从内部线段 $pq$ 的弱可见性多边形 $V(pq)$。
2.1 预处理步骤
- 找到 $\overrightarrow{qp}$ 与 $bd(P)$ 交点中离 $p$ 最近的点 $u$,$u$ 位于边 $v_iv_{i + 1}$ 上;同理,找到 $\overrightarrow{pq}$ 与 $bd(P)$ 交点中离 $q$ 最近的点 $w$,$w$ 位于边 $v_kv_{k + 1}$ 上。
- 沿 $uw$ 将 $P$ 切割成两个多边形 $P_1=(v_i, u, p, q, w, v_{k + 1}, \cdots, v_{i - 1}, v_i)$ 和 $P_2=(v_{i + 1}, \cdots, v_k, w, q, p, u, v_{i + 1})$。此时,$V(pq)$ 是 $P_1$ 和 $P_2$ 从 $pq$ 的弱可见性多边形的并集。
- 为简化问题,假设 $pq$ 是给定多边形 $P$ 的凸边,顶点按逆时针顺序标记为 $v_1, v
超级会员免费看
订阅专栏 解锁全文
14

被折叠的 条评论
为什么被折叠?



