Results 1  10
of
107
An Optimal Algorithm for Approximate Nearest Neighbor Searching in Fixed Dimensions
 ACMSIAM SYMPOSIUM ON DISCRETE ALGORITHMS
, 1994
"... Consider a set S of n data points in real ddimensional space, R d , where distances are measured using any Minkowski metric. In nearest neighbor searching we preprocess S into a data structure, so that given any query point q 2 R d , the closest point of S to q can be reported quickly. Given any po ..."
Abstract

Cited by 786 (31 self)
 Add to MetaCart
Consider a set S of n data points in real ddimensional space, R d , where distances are measured using any Minkowski metric. In nearest neighbor searching we preprocess S into a data structure, so that given any query point q 2 R d , the closest point of S to q can be reported quickly. Given any positive real ffl, a data point p is a (1 + ffl)approximate nearest neighbor of q if its distance from q is within a factor of (1 + ffl) of the distance to the true nearest neighbor. We show that it is possible to preprocess a set of n points in R d in O(dn log n) time and O(dn) space, so that given a query point q 2 R d , and ffl ? 0, a (1 + ffl)approximate nearest neighbor of q can be computed in O(c d;ffl log n) time, where c d;ffl d d1 + 6d=ffle d is a factor depending only on dimension and ffl. In general, we show that given an integer k 1, (1 + ffl)approximations to the k nearest neighbors of q can be computed in additional O(kd log n) time.
A Library for Doing Polyhedral Operations
, 1993
"... Polyhedra are geometric representations of linear systems of equations and inequalities. Since polyhedra are used to represent the iteration domains of nested loop programs, procedures for operating on polyhedra are useful for doing loop transformations and other program restructuring transformatio ..."
Abstract

Cited by 107 (13 self)
 Add to MetaCart
Polyhedra are geometric representations of linear systems of equations and inequalities. Since polyhedra are used to represent the iteration domains of nested loop programs, procedures for operating on polyhedra are useful for doing loop transformations and other program restructuring transformations which are needed in parallelizing compilers. Thus a need for a library of polyhedral operations has recently been recognized in the parallelizing compiler community. Polyhedra are also used in the definition of domains of variables in systems of affine recurrence equations (SARE). Alpha is a language which is based on the SARE formalism in which all variables are declared over finite unions of polyhedra. This report describes a library of polyhedral functions which was developed to support the Alpha language environment, and which is general enough to satisfy the needs of researchers doing parallelizing compilers. This report describes the data structures used to represent domains, gives...
Kinetic Data Structures  A State of the Art Report
, 1998
"... ... In this paper we present a general framework for addressing such problems and the tools for designing and analyzing relevant algorithms, which we call kinetic data structures. We discuss kinetic data structures for a variety of fundamental geometric problems, such as the maintenance of convex hu ..."
Abstract

Cited by 92 (27 self)
 Add to MetaCart
... In this paper we present a general framework for addressing such problems and the tools for designing and analyzing relevant algorithms, which we call kinetic data structures. We discuss kinetic data structures for a variety of fundamental geometric problems, such as the maintenance of convex hulls, Voronoi and Delaunay diagrams, closest pairs, and intersection and visibility problems. We also briefly address the issues that arise in implementing such structures robustly and efficiently. The resulting techniques satisfy three desirable properties: (1) they exploit the continuity of the motion of the objects to gain efficiency, (2) the number of events processed by the algorithms is close to the minimum necessary in the worst case, and (3) any object may change its `flight plan' at any moment with a low cost update to the simulation data structures. For computer applications dealing with motion in the physical world, kinetic data structures lead to simulation performance unattainable by other means. In addition, they raise fundamentally new combinatorial and algorithmic questions whose study may prove fruitful for other disciplines as well.
On Levels of Detail in Terrains
, 1995
"... In many applications it is important that one can view a scene at different levels of detail. A prime example is flight simulation: a high level of detail is needed when flying low, whereas a low level of detail suffices when flying high. More precisely, one would like to visualize the part of the s ..."
Abstract

Cited by 78 (2 self)
 Add to MetaCart
In many applications it is important that one can view a scene at different levels of detail. A prime example is flight simulation: a high level of detail is needed when flying low, whereas a low level of detail suffices when flying high. More precisely, one would like to visualize the part of the scene that is close at a high level of detail, and the part that is far away at a low level of detail. We propose a hierarchy of detail levels for a polyhedral terrain (or, triangulated irregular network) that allows this: given a view point, it is possible to select the appropriate level of detail for each part of the terrain in such a way that the parts still fit together continuously. The main advantage of our structure is that it uses the Delaunay triangulation at each level, so that triangles with very small angles are avoided. This is the first method that uses the Delaunay triangulation and still allows to combine different levels into a single representation.
The Robot Localization Problem
 Proc. 1st Workshop on Algorithmic Foundations of Robotics
, 1995
"... We consider the following problem: given a simple polygon P and a starshaped polygon V , find a point (or the set of points) in P from which the portion of P that is visible is translationcongruent to V . The problem arises in the localization of robots equipped with a rangefinder and a compass ..."
Abstract

Cited by 57 (4 self)
 Add to MetaCart
We consider the following problem: given a simple polygon P and a starshaped polygon V , find a point (or the set of points) in P from which the portion of P that is visible is translationcongruent to V . The problem arises in the localization of robots equipped with a rangefinder and a compass  P is a map of a known environment, V is the portion visible from the robot's position, and the robot must use this information to determine its position in the map. We give a scheme that preprocesses P so that any subsequent query V is answered in optimal time O(m + log n + A), where m and n are the number of vertices in V and P , and A is the number of points in P that are valid answers (the output size). Our technique uses O(n 5 ) space and preprocessing in the worst case; within certain limits, we can trade off smoothly between the query time and the preprocessing time and space. In the process of solving this problem, we also devise a data structure for outputsensitive determinati...
Geometric Range Searching
, 1994
"... In geometric range searching, algorithmic problems of the following type are considered: Given an npoint set P in the plane, build a data structure so that, given a query triangle R, the number of points of P lying in R can be determined quickly. Problems of this type are of crucial importance in c ..."
Abstract

Cited by 46 (2 self)
 Add to MetaCart
In geometric range searching, algorithmic problems of the following type are considered: Given an npoint set P in the plane, build a data structure so that, given a query triangle R, the number of points of P lying in R can be determined quickly. Problems of this type are of crucial importance in computational geometry, as they can be used as subroutines in many seemingly unrelated algorithms. We present a survey of results and main techniques in this area.
Constructing Levels in Arrangements and Higher Order Voronoi Diagrams
 SIAM J. COMPUT
, 1994
"... We give simple randomized incremental algorithms for computing the klevel in an arrangement of n hyperplanes in two and threedimensional space. The expected running time of our algorithms is O(nk+nff(n) log n) for the planar case, and O(nk 2 +n log 3 n) for the threedimensional case. Both bo ..."
Abstract

Cited by 42 (10 self)
 Add to MetaCart
We give simple randomized incremental algorithms for computing the klevel in an arrangement of n hyperplanes in two and threedimensional space. The expected running time of our algorithms is O(nk+nff(n) log n) for the planar case, and O(nk 2 +n log 3 n) for the threedimensional case. Both bounds are optimal unless k is very small. The algorithm generalizes to computing the klevel in an arrangement of discs or xmonotone Jordan curves in the plane. Our approach can also be used to compute the klevel; this yields a randomized algorithm for computing the orderk Voronoi diagram of n points in the plane in expected time O(k(n \Gamma k) log n + n log 3 n).
Dynamic Ray Shooting and Shortest Paths in Planar Subdivisions via Balanced Geodesic Triangulations
 J. Algorithms
, 1997
"... We give new methods for maintaining a data structure that supports ray shooting and shortest path queries in a dynamicallychanging connected planar subdivision S. Our approach is based on a new dynamic method for maintaining a balanced decomposition of a simple polygon via geodesic triangles. We ma ..."
Abstract

Cited by 39 (4 self)
 Add to MetaCart
We give new methods for maintaining a data structure that supports ray shooting and shortest path queries in a dynamicallychanging connected planar subdivision S. Our approach is based on a new dynamic method for maintaining a balanced decomposition of a simple polygon via geodesic triangles. We maintain such triangulations by viewing their dual trees as balanced trees. We show that rotations in these trees can be implemented via a simple "diagonal swapping" operation performed on the corresponding geodesic triangles, and that edge insertion and deletion can be implemented on these trees using operations akin to the standard split and splice operations. We also maintain a dynamic point location structure on the geodesic triangulation, so that we may implement ray shooting queries by first locating the ray's endpoint and then walking along the ray from geodesic triangle to geodesic triangle until we hit the boundary of some region of S. The shortest path between two points in the same ...
Hierarchical Geometric Approximations
, 1994
"... This dissertation explores some techniques for automatic approximation of geometric objects. My thesis is that using and extending concepts from computational geometry can help us in devising efficient and parallelizable algorithms for automatically constructing useful detail hierarchies for geometr ..."
Abstract

Cited by 36 (4 self)
 Add to MetaCart
This dissertation explores some techniques for automatic approximation of geometric objects. My thesis is that using and extending concepts from computational geometry can help us in devising efficient and parallelizable algorithms for automatically constructing useful detail hierarchies for geometric objects. We have demonstrated this by developing new algorithms for two kinds of geometric approximation problems that have been motivated by a single driving problem  the efficient computation and display of smooth solventaccessible molecular surfaces. The applications of these detail hierarchies are in biochemistry and computer graphics. The smooth solventaccessible surface of a molecule is useful in studying the structure and interactions of proteins, in particular for attacking the proteinsubstrate docking problem. We have developed a parallel lineartime algorithm for computing molecular surfaces. Molecular surfaces are equivalent to the weighted ffhulls. Thus our work is pot...