Let $\mathcal{T}$ be a set of $n$ flat (planar) semi-algebraic regions in $\mathbb{R}^3$ of constant complexity (e.g., triangles, disks), which we call plates. We wish to preprocess $\mathcal{T}$ into a data structure so that for a query object $\gamma$, which is also a plate, we can quickly answer various intersection queries, such as detecting whether $\gamma$ intersects any plate of $\mathcal{T}$, reporting all the plates intersected by $\gamma$, or counting them. We also consider two simpler cases of this general setting: (i) the input objects are plates and the query objects are constant-degree parametrized algebraic arcs in $\mathbb{R}^3$ (arcs, for short), or (ii) the input objects are arcs and the query objects are plates in $\mathbb{R}^3$. Besides being interesting in their own right, the data structures for these two special cases form the building blocks for handling the general case. By combining the polynomial-partitioning technique with additional tools from real algebraic geometry, we present many different data structures for intersection queries, which also provide trade-offs between their size and query time. The performance of these data structures depends on the complexity of the input and query objects. For example, if $\mathcal{T}$ is a set of plates and the query objects are algebraic arcs, we obtain a data structure that uses $O^*(n^{4/3})$ storage (where the $O^*(\cdot)$ notation hides subpolynomial factors) and answers an arc-intersection query in $O^*(n^{2/3})$ time. Alternatively, for a parameter $s\in [n^{4/3}, n^t]$ where $t\ge 3$ is the number of real parameters needed to specify a query arc, the query time can be decreased to $O^*((n^t/s)^{\tfrac{2}{3(t-1)}})$ by increasing the storage to $O^*(s)$.
翻译:设 $\mathcal{T}$ 为 $\mathbb{R}^3$ 中 $n$ 个具有常复杂度的平坦(平面)半代数区域(如三角形、圆盘)的集合,我们称其为平板。我们需要对 $\mathcal{T}$ 进行预处理,构建一种数据结构,使得对于同样是平板的查询对象 $\gamma$,能够快速回答各类相交查询,例如检测 $\gamma$ 是否与 $\mathcal{T}$ 中的任一平板相交、报告所有与 $\gamma$ 相交的平板,或统计其数量。我们还考虑该一般设置的两种简化情形:(i) 输入对象为平板,查询对象为 $\mathbb{R}^3$ 中常参数化代数弧(简称弧);或 (ii) 输入对象为弧,查询对象为 $\mathbb{R}^3$ 中的平板。这两种特殊情形的数据结构自身具有研究价值,且构成处理一般情形的基础模块。通过将多项式划分技术与实代数几何的附加工具相结合,我们提出了多种适用于相交查询的数据结构,这些结构在存储空间与查询时间之间提供了折衷方案。这些数据结构的性能取决于输入和查询对象的复杂度。例如,若 $\mathcal{T}$ 为平板集合,查询对象为代数弧,我们得到一种使用 $O^*(n^{4/3})$ 存储空间的数据结构(其中 $O^*(\cdot)$ 记号隐藏了次多项式因子),可在 $O^*(n^{2/3})$ 时间内回答弧相交查询。另外,对于参数 $s\in [n^{4/3}, n^t]$,其中 $t\ge 3$ 为指定查询弧所需的实参数个数,通过将存储空间增至 $O^*(s)$,可将查询时间降低至 $O^*((n^t/s)^{\tfrac{2}{3(t-1)}})$ 。