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

Abstract

Let T be a set of n flat (planar) semi-algebraic regions in R3 of constant complexity (e.g., triangles, disks), which we call plates. We wish to preprocess 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 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 R3 (arcs, for short), or (ii) the input objects are arcs and the query objects are plates in R3. 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 T is a set of plates and the query objects are algebraic arcs, we obtain a data structure that uses O*(n4/3) storage (where the O*(·) notation hides factors of the form nε, for an arbitrarily small ε>0) and answers an arc-intersection query in O*(n2/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∈ [n4/3, ntq], where tq 3 is the number of real parameters needed to specify a query arc, the query time can be decreased to O*((n/s1/tq)2/31-1/tq) by increasing the storage to O*(s).

0

Turn this paper into a full lesson

ArcXiv compiles a staged curriculum from this paper: 8-12 lessons across beginner → advanced, synthesised section guides, visuals, flashcards, a quiz, exercises, and on-demand deep dives per section. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…