28、多边形中查询点的可见多边形查询算法解析

多边形中查询点的可见多边形查询算法解析

在计算几何领域,查询多边形内某点的可见多边形是一个重要的问题。本文将详细介绍两种不同情况下的查询算法,分别适用于无洞多边形和有洞多边形。

1. 无洞多边形的可见多边形查询算法

对于无洞的简单多边形,我们可以使用Bose等人提出的算法来查询查询点 $q$ 的可见多边形 $V(q)$。该算法的查询时间复杂度为 $O(\log n + k)$,其中 $k$ 是 $V(q)$ 的顶点数。不过,它需要 $O(n^3 \log n)$ 的预处理时间和 $O(n^3)$ 的空间。

1.1 算法步骤
  • 步骤1:计算顶点的可见多边形 :使用Lee的算法计算多边形 $P$ 中每个顶点 $v_j$ 的可见多边形 $V(v_j)$,并将所有构造边组成集合 $W$。
  • 步骤2:构建平面细分 :使用Edelsbrunner的算法,根据集合 $W$ 中的构造边计算平面细分 $C$。
  • 步骤3:构建定位数据结构 :使用Kirkpatrick的算法,为平面细分 $C$ 构建用于定位查询点的的数据结构。
  • 步骤4:计算可见多边形 :对于平面细分 $C$ 中的每个可见单元 $c_i$,选取一个点 $q_i$,并使用Lee的算法计算 $V(q_i)$。
  • 步骤5:查询处理
    • 步骤5a :定位包含查询点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值