🤖 AI Summary
This paper addresses intersection queries between planar semi-algebraic regions (e.g., triangles, disks—termed “plaques”) and algebraic arcs or other plaques in ℝ³, supporting existence testing, counting, and full reporting. Methodologically, it pioneers the tight integration of polynomial partitioning with tools from real algebraic geometry to construct a tunable, parameterized geometric data structure enabling continuous trade-offs between storage and query time. For n input plaques and algebraic arc queries, it achieves O*(n⁴⁄³) space and O*(n²⁄³) query time—where the exponents are independent of the specific geometric shapes—and naturally extends to non-planar algebraic surfaces. The key contribution is the first general-purpose intersection query framework for 3D semi-algebraic objects, overcoming fundamental limitations of classical geometric partitioning techniques.
📝 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
(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 factors of the form
(n^{varepsilon})
, for an arbitrarily small
(varepsilon>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
(sin[n^{4/3},n^{t_{q}}])
, where
({t_{q}}geq 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}}})^{ frac{2/3}{1-1/{t_{q}}}}))
by increasing the storage to
(O^{*}(s))
. Our approach can be extended to many additional intersection-searching problems in three dimensions, even when the input or query objects are not flat.