6,306 research outputs found

    On Ray Shooting for Triangles in 3-Space and Related Problems

    Get PDF
    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 R3R^3, (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 R3R^3, 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 nn triangles in R3R^3 into a data structure for answering ray shooting queries amid the given triangles, which uses O(n3/2+ε)O(n^{3/2+\varepsilon}) storage and preprocessing, and answers a query in O(n1/2+ε)O(n^{1/2+\varepsilon}) time, for any ε>0\varepsilon>0. This is a significant improvement over known results, obtained more than 25 years ago, in which, with this amount of storage, the query time bound is roughly n5/8n^{5/8}. The algorithms for the other problems have similar performance bounds, with similar improvements over previous results. We also derive a nontrivial improved tradeoff between storage and query time. Using it, we obtain algorithms that answer mm queries on nn objects in max{O(m2/3n5/6+ε+n1+ε),  O(m5/6+εn2/3+m1+ε)} \max \left\{ O(m^{2/3}n^{5/6+\varepsilon} + n^{1+\varepsilon}),\; O(m^{5/6+\varepsilon}n^{2/3} + m^{1+\varepsilon}) \right\} time, for any ε>0\varepsilon>0, again an improvement over the earlier bounds.Comment: 33 pages, 7 figure

    Distance-Sensitive Planar Point Location

    Get PDF
    Let S\mathcal{S} be a connected planar polygonal subdivision with nn edges that we want to preprocess for point-location queries, and where we are given the probability γi\gamma_i that the query point lies in a polygon PiP_i of S\mathcal{S}. We show how to preprocess S\mathcal{S} such that the query time for a point~pPip\in P_i depends on~γi\gamma_i and, in addition, on the distance from pp to the boundary of~PiP_i---the further away from the boundary, the faster the query. More precisely, we show that a point-location query can be answered in time O(min(logn,1+logarea(Pi)γiΔp2))O\left(\min \left(\log n, 1 + \log \frac{\mathrm{area}(P_i)}{\gamma_i \Delta_{p}^2}\right)\right), where Δp\Delta_{p} is the shortest Euclidean distance of the query point~pp to the boundary of PiP_i. Our structure uses O(n)O(n) space and O(nlogn)O(n \log n) preprocessing time. It is based on a decomposition of the regions of S\mathcal{S} into convex quadrilaterals and triangles with the following property: for any point pPip\in P_i, the quadrilateral or triangle containing~pp has area Ω(Δp2)\Omega(\Delta_{p}^2). For the special case where S\mathcal{S} is a subdivision of the unit square and γi=area(Pi)\gamma_i=\mathrm{area}(P_i), we present a simpler solution that achieves a query time of O(min(logn,log1Δp2))O\left(\min \left(\log n, \log \frac{1}{\Delta_{p}^2}\right)\right). The latter solution can be extended to convex subdivisions in three dimensions

    Weak Visibility Queries of Line Segments in Simple Polygons

    Full text link
    Given a simple polygon P in the plane, we present new algorithms and data structures for computing the weak visibility polygon from any query line segment in P. We build a data structure in O(n) time and O(n) space that can compute the visibility polygon for any query line segment s in O(k log n) time, where k is the size of the visibility polygon of s and n is the number of vertices of P. Alternatively, we build a data structure in O(n^3) time and O(n^3) space that can compute the visibility polygon for any query line segment in O(k + log n) time.Comment: 16 pages, 9 figures. A preliminary version of this paper appeared in ISAAC 2012 and we have improved results in this full versio

    A technique for adding range restrictions to generalized searching problems

    Get PDF
    In a generalized searching problem, a set SS of nn colored geometric objects has to be stored in a data structure, such that for any given query object qq, the distinct colors of the objects of SS intersected by qq can be reported efficiently. In this paper, a general technique is presented for adding a range restriction to such a problem. The technique is applied to the problem of querying a set of colored points (resp.\ fat triangles) with a fat triangle (resp.\ point). For both problems, a data structure is obtained having size O(n1+ϵ)O(n^{1+\epsilon}) and query time O((logn)2+C)O((\log n)^2 + C). Here, CC denotes the number of colors reported by the query, and ϵ\epsilon is an arbitrarily small positive constant
    corecore