Table of Contents
Fetching ...

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)$.

Intersection Queries for Flat Semi-Algebraic Objects in Three Dimensions and Related Problems

TL;DR

This work advances intersection queries among flat semi-algebraic objects in 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 storage with 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 be a set of flat (planar) semi-algebraic regions in of constant complexity (e.g., triangles, disks), which we call plates. We wish to preprocess 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 , 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 (arcs, for short), or (ii) the input objects are arcs and the query objects are plates in . 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 is a set of plates and the query objects are algebraic arcs, we obtain a data structure that uses storage (where the notation hides factors of the form , for an arbitrarily small ) and answers an arc-intersection query in 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 , where is the number of real parameters needed to specify a query arc, the query time can be decreased to by increasing the storage to .
Paper Structure (51 sections, 36 theorems, 79 equations, 8 figures, 1 table)

This paper contains 51 sections, 36 theorems, 79 equations, 8 figures, 1 table.

Key Result

Theorem 2.1

Let $\mathcal{T}$ be a set of $n$ plates of constant complexity in $\mathbb{R}^3$ in general position, and let $\Gamma$ be a family of parametrized algebraic arcs of constant degree. $\mathcal{T}$ can be preprocessed, in expected time $O^*(n^{4/3})$, into a data structure of size $O^*(n^{4/3})$, so

Figures (8)

  • Figure 1: An illustration of the CAD construction. $C_0$ is a three-dimensional cell of ${\Xi}_3$. For a point $(a_0,b_0,c_0)\in C_0$, its two-dimensional fiber $\Omega(a_0,b_0,c_0)$ is shown. Formally, the purple curve is the $xy$-projection of $Z(F)\cap h(a_0,b_0,c_0)$.
  • Figure 2: The encoding scheme provided by the CAD (the plate depicted in this figure is a triangle). The cell $C$ labels, by an explicit semi-algebraic expression, the highlighted inner pseudo-trapezoidal subcell $\varphi_C$ within the plate $\Delta$. Another inner subcell, with a different label, in a different partition cell $\tau$, is also highlighted.
  • Figure 3: Illustration of the proof of Lemma \ref{['lem:circ-cross']}; (i) $\gamma$ intersects $h_\xi$, (ii) one arc of $\hat{\gamma}\setminus\gamma$ contains both intersection points of $\hat{\gamma}\cap h_\xi$, (iii) each of the arcs of $\hat{\gamma}\setminus\gamma$ contains at most one intersection point of $\hat{\gamma}\cap h_\xi$ and $z_\gamma\in h_\xi^-$, and (iv) $z_\gamma \in h_\xi^+$.
  • Figure 4: An instance where only the second crossing point of $\hat{\gamma}$ with $h_\Delta$ lies in $C$ but this point does not belong to $\gamma$.
  • Figure 5: A two-dimensional rendering of the scenario analyzed in Lemma \ref{['lem:cutcad']}. The red segment $e$ has endpoints in the same three-dimensional cell of $\pi(\Delta)$ and does not cross $\Delta$, whereas each of the green segments $e'$, $e"$ has endpoints in different cells of $\pi(\Delta)$ and crosses $\Delta$.
  • ...and 3 more figures

Theorems & Definitions (39)

  • Theorem 2.1
  • Remark
  • Theorem 2.2
  • Lemma 3.1
  • Lemma 3.2
  • Remark 1
  • Lemma 3.3
  • Lemma 4.1
  • Lemma 4.2
  • Lemma 4.3
  • ...and 29 more