Abstract
We consider several problems that involve lines in three dimensions, and present improved algorithms for solving them. The problems include (i) ray shooting amid triangles in R3, (ii) reporting intersections between query lines (segments, or rays) and input triangles, as well as approximately counting the number of such intersections, (iii) computing the intersection of two nonconvex polyhedra, (iv) detecting, counting, or reporting intersections in a set of lines in R3, and (v) output-sensitive construction of an arrangement of triangles in three dimensions. Our approach is based on the polynomial partitioning technique. For example, our ray-shooting algorithm processes a set of n triangles in R3 into a data structure for answering ray shooting queries amid the given triangles, which uses O(n3/2+ε) storage and preprocessing, and answers a query in O(n1/2+ε) time, for any ε>0.
| Original language | English |
|---|---|
| Pages (from-to) | 1065-1095 |
| Number of pages | 31 |
| Journal | SIAM Journal on Computing |
| Volume | 51 |
| Issue number | 4 |
| DOIs | |
| State | Published - 2022 |
Keywords
- Polynomial partitioning
- Ray shooting
- Three dimensions
- Tradeoff
All Science Journal Classification (ASJC) codes
- General Computer Science
- General Mathematics