Intersection Queries for Flat Semi-Algebraic Objects in Three Dimensions and Related Problems
Pankaj K. Agarwal, Boris Aronov, Esther Ezra, Matthew J. Katz, Micha Sharir
TL;DR
This work advances intersection queries among flat semi-algebraic objects in $\mathbb{R}^3$ by blending polynomial partitioning with cylindrical algebraic decomposition (CAD) to drastically reduce reduced parametric dimensions. The authors design a spectrum of data structures that trade storage for query time across three main settings: arc queries amid plates, plate queries amid arcs, and plate–plate interactions (including triangles), achieving bounds like $O^*(n^{4/3})$ storage with $O^*(n^{2/3})$ query time for arc queries amid plates, and near-linear storage with sublinear query times for triangle–arc and arc–triangle cases. A key technical contribution is the use of CAD to encode wide-plate interactions, enabling semi-algebraic predicate queries in a reduced-dimensional space and yielding space/time improvements that are largely independent of the exact boundary complexity of the objects. The results provide a versatile, modular framework that unifies range-searching techniques with real-algebraic geometry to yield practical, scalable intersection-searching structures with broad applicability in robotics, CAD, and graphics. The paper also outlines multiple open questions and future directions for extending these CAD-based reductions to more general non-flat objects and higher-dimensional settings.
Abstract
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 $γ$, which is also a plate, we can quickly answer various intersection queries, such as detecting whether $γ$ intersects any plate of $\mathcal{T}$, reporting all the plates intersected by $γ$, 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 factors of the form $n^ε$, for an arbitrarily small $ε>0$) 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. We generalize and slightly improve this result: 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)$.
