{"title":"Intersection Searching amid Tetrahedra in Four Dimensions","authors":"Esther Ezra, Micha Sharir","doi":"10.1007/s00454-024-00656-8","DOIUrl":null,"url":null,"abstract":"<p>We develop data structures for intersection queries in four dimensions that involve segments, triangles and tetrahedra. Specifically, we study three main problems: (i) Preprocess a set of <i>n</i> tetrahedra in <span>\\(\\mathbb {R}^4\\)</span> into a data structure for answering segment-intersection queries amid the given tetrahedra (referred to as <i>segment-tetrahedron intersection queries</i>). (ii) Preprocess a set of <i>n</i> triangles in <span>\\(\\mathbb {R}^4\\)</span> into a data structure that supports triangle-intersection queries amid the input triangles (referred to as <i>triangle-triangle intersection queries</i>). (iii) Preprocess a set of <i>n</i> segments in <span>\\(\\mathbb {R}^4\\)</span> into a data structure that supports tetrahedron-intersection queries amid the input segments (referred to as <i>tetrahedron-segment intersection queries</i>). In each problem we want either to detect an intersection, or to count or report all intersections. As far as we can tell, these problems have not been previously studied. For problem (i), we first present a “standard” solution which, for any prespecified value <span>\\(n \\le s \\le n^6\\)</span> of a so-called storage parameter <i>s</i>, yields a data structure with <span>\\(O^*(s)\\)</span> storage and expected preprocessing, which answers an intersection query in <span>\\(O^*(n/s^{1/6})\\)</span> time (here and in what follows, the <span>\\(O^*(\\cdot )\\)</span> notation hides subpolynomial factors). For problems (ii) and (iii), using similar arguments, we present a solution that has the same asymptotic performance bounds. We then improve the solution for problem (i), and present a more intricate data structure that uses <span>\\(O^*(n^{2})\\)</span> storage and expected preprocessing, and answers a segment-tetrahedron intersection query in <span>\\(O^*(n^{1/2})\\)</span> time, improving the <span>\\(O^*(n^{2/3})\\)</span> query time obtained by the standard solution. Using the parametric search technique of Agarwal and Matoušek (SIAM J Comput 22:794–806, 1993), we can obtain data structures with similar performance bounds for the <i>ray-shooting</i> problem amid tetrahedra in <span>\\(\\mathbb {R}^4\\)</span>. Unfortunately, so far we do not know how to obtain a similar improvement for problems (ii) and (iii). Our algorithms are based on a primal-dual technique for range searching with semi-algebraic sets, based on recent advances in this area (Agarwal et al. in SIAM J Comput 50:760–787, 2021. Also in Proceedings of Symposium on Computational Geometry (SoCG) 5:1–5:14, 2019. Also in arXiv:1812.10269; Matoušek and Patáková in Discrete Comput Geom 54:22–41, 2015). As this is a result of independent interest, we spell out the details of this technique. We present several applications of our techniques, including continuous collision detection amid moving tetrahedra in 3-space, an output-sensitive algorithm for constructing the arrangement of <i>n</i> tetrahedra in <span>\\(\\mathbb {R}^4\\)</span>, and an output-sensitive algorithm for constructing the intersection or union of two or several nonconvex polyhedra in <span>\\(\\mathbb {R}^4\\)</span>.</p>","PeriodicalId":0,"journal":{"name":"","volume":null,"pages":null},"PeriodicalIF":0.0,"publicationDate":"2024-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"","FirstCategoryId":"100","ListUrlMain":"https://doi.org/10.1007/s00454-024-00656-8","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
We develop data structures for intersection queries in four dimensions that involve segments, triangles and tetrahedra. Specifically, we study three main problems: (i) Preprocess a set of n tetrahedra in \(\mathbb {R}^4\) into a data structure for answering segment-intersection queries amid the given tetrahedra (referred to as segment-tetrahedron intersection queries). (ii) Preprocess a set of n triangles in \(\mathbb {R}^4\) into a data structure that supports triangle-intersection queries amid the input triangles (referred to as triangle-triangle intersection queries). (iii) Preprocess a set of n segments in \(\mathbb {R}^4\) into a data structure that supports tetrahedron-intersection queries amid the input segments (referred to as tetrahedron-segment intersection queries). In each problem we want either to detect an intersection, or to count or report all intersections. As far as we can tell, these problems have not been previously studied. For problem (i), we first present a “standard” solution which, for any prespecified value \(n \le s \le n^6\) of a so-called storage parameter s, yields a data structure with \(O^*(s)\) storage and expected preprocessing, which answers an intersection query in \(O^*(n/s^{1/6})\) time (here and in what follows, the \(O^*(\cdot )\) notation hides subpolynomial factors). For problems (ii) and (iii), using similar arguments, we present a solution that has the same asymptotic performance bounds. We then improve the solution for problem (i), and present a more intricate data structure that uses \(O^*(n^{2})\) storage and expected preprocessing, and answers a segment-tetrahedron intersection query in \(O^*(n^{1/2})\) time, improving the \(O^*(n^{2/3})\) query time obtained by the standard solution. Using the parametric search technique of Agarwal and Matoušek (SIAM J Comput 22:794–806, 1993), we can obtain data structures with similar performance bounds for the ray-shooting problem amid tetrahedra in \(\mathbb {R}^4\). Unfortunately, so far we do not know how to obtain a similar improvement for problems (ii) and (iii). Our algorithms are based on a primal-dual technique for range searching with semi-algebraic sets, based on recent advances in this area (Agarwal et al. in SIAM J Comput 50:760–787, 2021. Also in Proceedings of Symposium on Computational Geometry (SoCG) 5:1–5:14, 2019. Also in arXiv:1812.10269; Matoušek and Patáková in Discrete Comput Geom 54:22–41, 2015). As this is a result of independent interest, we spell out the details of this technique. We present several applications of our techniques, including continuous collision detection amid moving tetrahedra in 3-space, an output-sensitive algorithm for constructing the arrangement of n tetrahedra in \(\mathbb {R}^4\), and an output-sensitive algorithm for constructing the intersection or union of two or several nonconvex polyhedra in \(\mathbb {R}^4\).