{"title":"四维空间中四面体的交集搜索","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":"{\"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}","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
摘要
我们为涉及线段、三角形和四面体的四维相交查询开发了数据结构。具体来说,我们研究了三个主要问题:(i) 将 \(\mathbb {R}^4\) 中的一组 n 个四面体预处理成一个数据结构,用于回答给定四面体中的线段-相交查询(称为线段-四面体相交查询)。(ii) 将 \(\mathbb {R}^4\) 中的一组 n 个三角形预处理成一个数据结构,该数据结构支持输入三角形中的三角形交集查询(称为三角形-三角形交集查询)。(iii) 将 \(\mathbb {R}^4\) 中的一组 n 段预处理成一个数据结构,该数据结构支持输入段中的四面体相交查询(称为四面体-段相交查询)。在每个问题中,我们要么想要检测交点,要么想要统计或报告所有交点。据我们所知,这些问题以前从未研究过。对于问题(i),我们首先提出了一个 "标准 "解决方案,对于任何预先指定的所谓存储参数 s 的值(n \le s \le n^6\),都可以得到一个数据结构,该数据结构的值(n \le s \le n^6\)与存储参数(s、产生一个具有 \(O^*(s)\) 存储空间和预期预处理的数据结构,它能在\(O^*(n/s^{1/6})\)时间内回答交集查询(在这里和后面的内容中,\(O^*(\cdot )\)符号隐藏了次多项式因子)。对于问题(ii)和(iii),使用类似的论证,我们提出了一个具有相同渐近性能边界的解决方案。然后,我们改进了问题(i)的解决方案,提出了一种更复杂的数据结构,它使用了 \(O^*(n^{2})\) 存储和预期预处理,并在\(O^*(n^{1/2})\) 时间内回答了线段-四面体交集查询,改进了标准解决方案获得的 \(O^*(n^{2/3})\) 查询时间。利用 Agarwal 和 Matoušek 的参数搜索技术(SIAM J Comput 22:794-806, 1993),我们可以为 \(\mathbb {R}^4\) 中的四面体射线射击问题获得具有类似性能边界的数据结构。遗憾的是,到目前为止我们还不知道如何对问题(ii)和(iii)进行类似的改进。我们的算法基于半代数集范围搜索的初等二元技术,以该领域的最新进展为基础(Agarwal 等人,载于 SIAM J Comput 50:760-787, 2021.另见《计算几何研讨会论文集》(SoCG)5:1-5:14,2019。另见 arXiv:1812.10269; Matoušek 和 Patáková in Discrete Comput Geom 54:22-41, 2015)。由于这是一项具有独立意义的成果,我们详细介绍了这项技术的细节。我们介绍了我们的技术的几种应用,包括三维空间中移动四面体的连续碰撞检测、在 \(\mathbb {R}^4\) 中构建 n 个四面体排列的输出敏感算法,以及在 \(\mathbb {R}^4\) 中构建两个或多个非凸多面体的交集或联合的输出敏感算法。
Intersection Searching amid Tetrahedra in Four Dimensions
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\).