Given a simple polygon $P$ with $n$ vertices, we consider the problem of constructing a data structure for visibility queries: for any query point $q \in P$, compute the visibility polygon of $q$ in $P$. To obtain $O(\log n + k)$ query time, where $k$ is the size of the visibility polygon of $q$, the previous best result requires $O(n^3)$ space. In this paper, we propose a new data structure that uses $O(n^{2+ε})$ space, for any $ε> 0$, while achieving the same query time. If only $O(n^2)$ space is available, the best known result provides $O(\log^2 n + k)$ query time. We improve this to $O(\log n \log \log n + k)$ time. When restricted to $o(n^2)$ space, the only previously known approach, aside from the $O(n)$-time algorithm that computes the visibility polygon without preprocessing, is an $O(n)$-space data structure that supports $O(k \log n)$-time queries. We construct a data structure using $O(n \log n)$ space that answers visibility queries in $O(n^{1/2+ε} + k)$ time. In addition, for the special case in which $q$ lies on the boundary of $P$, we build a data structure of $O(n \log n)$ space supporting $O(\log^2 n + k)$ query time; alternatively, we achieve $O(\log n + k)$ query time using $O(n^{1+ε})$ space. To achieve our results, we propose a new method for decomposing simple polygons, which may be of independent interest.


翻译:给定一个包含 $n$ 个顶点的简单多边形 $P$,我们研究构建支持可见性查询的数据结构问题:对于任意查询点 $q \in P$,计算 $q$ 在 $P$ 中的可见多边形。为了获得 $O(\log n + k)$ 的查询时间(其中 $k$ 是 $q$ 的可见多边形的大小),先前的最佳结果需要 $O(n^3)$ 的空间。在本文中,我们提出了一种新的数据结构,对于任意 $ε > 0$,使用 $O(n^{2+ε})$ 的空间,同时达到相同的查询时间。如果仅能使用 $O(n^2)$ 空间,目前已知的最佳结果提供 $O(\log^2 n + k)$ 的查询时间。我们将其改进为 $O(\log n \log \log n + k)$ 时间。当限于 $o(n^2)$ 空间时,除了无需预处理即可计算可见多边形的 $O(n)$ 时间算法外,唯一已知的方法是支持 $O(k \log n)$ 时间查询的 $O(n)$ 空间数据结构。我们构建了一个使用 $O(n \log n)$ 空间的数据结构,可在 $O(n^{1/2+ε} + k)$ 时间内回答可见性查询。此外,对于 $q$ 位于 $P$ 边界上的特殊情况,我们构建了一个 $O(n \log n)$ 空间的数据结构,支持 $O(\log^2 n + k)$ 的查询时间;或者,我们使用 $O(n^{1+ε})$ 空间实现了 $O(\log n + k)$ 的查询时间。为了实现我们的结果,我们提出了一种新的简单多边形分解方法,该方法可能具有独立的研究价值。

0
下载
关闭预览

相关内容

【PODS2023】从查询语言的视角看图学习,111页ppt
专知会员服务
26+阅读 · 2023年7月22日
实践教程 | 使用Pytorch从头实现Canny边缘检测
极市平台
10+阅读 · 2022年3月4日
用PyTorch实现各种GANs(附论文和代码地址)
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
18+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Arxiv
0+阅读 · 6月14日
Arxiv
0+阅读 · 5月12日
VIP会员
最新内容
学习数据的几何:形状空间分析数学综述
专知会员服务
6+阅读 · 6月17日
定向能反无人机系统最新发展动态
专知会员服务
7+阅读 · 6月17日
从燃煤战舰到算法战争:水面指挥的永恒要求
专知会员服务
4+阅读 · 6月17日
相关VIP内容
【PODS2023】从查询语言的视角看图学习,111页ppt
专知会员服务
26+阅读 · 2023年7月22日
相关资讯
实践教程 | 使用Pytorch从头实现Canny边缘检测
极市平台
10+阅读 · 2022年3月4日
用PyTorch实现各种GANs(附论文和代码地址)
相关基金
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
1+阅读 · 2015年12月31日
国家自然科学基金
9+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
0+阅读 · 2015年12月31日
国家自然科学基金
2+阅读 · 2014年12月31日
国家自然科学基金
18+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
Top
微信扫码咨询专知VIP会员