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. 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. This result is significant since the exponents do not depend on the specific shape of the input and query objects. For a parameter $s\in [n^{4/3}, n^{t_Q}]$ where $t_Q\ge 3$ is the number of real parameters needed to specify a query arc, the query time can be decreased to $O^*((n/s^{1/t_Q})^{\tfrac{2}{3}(1-1/t_Q)})$ 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_Q}]$,其中 $t_Q\ge 3$ 是定义查询弧所需的实数参数个数,通过将存储空间增加至 $O^*(s)$,查询时间可降至 $O^*((n/s^{1/t_Q})^{\tfrac{2}{3}(1-1/t_Q)})$。