可见性与路径查询算法详解
1. 可见性查询算法
1.1 算法步骤
可见性查询算法用于计算查询点 $q$ 在多边形 $P$ 内的可见多边形 $V(q)$,具体步骤如下:
1. 步骤 4a :将查询点 $q$ 转换为对偶平面中的直线 $L(q)$,计算 $L(q)$ 与 $A$ 中边的交点。从这些交点中获取顶点 $P$ 围绕 $q$ 的排序角度顺序。
2. 步骤 4b :令 $T(P)$ 表示 $P$ 及其孔洞的三角剖分的副本。定位包含 $q$ 的 $T(P)$ 三角形,并添加三条对角线将 $q$ 连接到该三角形的顶点。切割被从 $q$ 发出的垂直射线相交的 $T(P)$ 三角形,并通过添加对角线对每个非三角形面进行三角剖分,以获得新的三角剖分 $T_q$。
3. 步骤 4c :使用情况 1 到 4 为 $T_p$ 的边分配方向,形成有向图 $G(T_p)$。
4. 步骤 4d :取 $T(P)$ 的多边形边形成集合 $S_q$。根据 $G(T_p)$ 中的总顺序为 $S_q$ 中的边分配排名。
5. 步骤 4e :构建 $S_q$ 的正交表示,并使用集合合并操作 $find(k)$ 和 $link(k)$ 找到最低段。
6. 步骤 4f :使用最低段及其顺序计算 $V(q)$。
7. 步骤 4g :报告 $V(q)$。
8. 步骤 5 </
超级会员免费看
订阅专栏 解锁全文
1490

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



