SODA Conference 2024 Conference Paper
Vertical Decomposition in 3D and 4D with Applications to Line Nearest-Neighbor Searching in 3D
- Pankaj K. Agarwal
- Esther Ezra
- Micha Sharir
Vertical decomposition is a widely used general technique for decomposing the cells of arrangements of semi-algebraic sets in ℝ d into constant-complexity subcells. In this paper, we settle in the affirmative a few long-standing open problems involving the vertical decomposition of substructures of arrangements for d = 3, 4: (i) Let S be a collection of n semi-algebraic sets of constant complexity in ℝ 3, and let U ( m ) be an upper bound on the complexity of the union U ( S ‘) of any subset S’ ⊆ S of size at most m. We prove that the complexity of the vertical decomposition of the complement of U ( S ) is O * ( n 2 + U ( n )) (where the O * (·) notation hides subpolynomial factors). We also show that the complexity of the vertical decomposition of the entire arrangement A ( S ) is O*(n 2 + X ), where X is the number of vertices in A ( S ). (ii) Let F be a collection of n trivariate functions whose graphs are semi-algebraic sets of constant complexity. We show that the complexity of the vertical decomposition of the portion of the arrangement A ( F ) in ℝ 4 lying below the lower envelope of F is O *( n 3 ). These results lead to efficient algorithms for a variety of problems involving these decompositions, including algorithms for constructing the decompositions themselves, and for constructing (1/ r )-cuttings of substructures of arrangements of the kinds considered above. One additional algorithm of interest is for output-sensitive point enclosure queries amid semi-algebraic sets in three or four dimensions. In addition, as a main domain of applications, we study various proximity problems involving points and lines in ℝ 3: We first present a linear-size data structure for answering nearest-neighbor queries, with points, amid n lines in ℝ 3 in O *( n 2/3 ) time per query. We also study the converse problem, where we return the nearest neighbor of a query line amid n input points, or lines, in ℝ 3. We obtain a data structure of O *( n 4 ) size that answers a nearest-neighbor query in O (log n ) time. * Work by Pankaj Agarwal has been partially supported by NSF grants IIS-18-14493, CCF-20-07556, and CCF-22-23870. Work by Esther Ezra has been partially supported by Israel Science Foundation Grant 800/22, and also by US-Israel Binational Science Foundation under Grant 2022131. Work by Micha Sharir has been partially supported by Israel Science Foundation Grant 260/18.