Abstract
Given a collection of points in the plane, pick an arbitrary horizontal segment and move it vertically until it hits one of the points (if at all). This form ofsegment-dragging is a common operation in computer graphics and motion-planning, it can also serve as a building block for multidimensional data structures. This note describes a new approach to segment-dragging which yields a simple and efficient solution. The data structure requiresO(n) storage andO(n logn) preprocessing time, and each query can be answered inO(logn) time, wheren is the number of points in the collection. The method is best understood as the end result of a sequence of transformations applied to a simple but inefficient starting solution.
Similar content being viewed by others
References
J. L. Bentley, Multidimensional divide and conquer,Comm. ACM,23 (1980), 214–229.
B. Chazelle, A functional approach to data structures and its use in multidimensional searching,SIAM J. Comput. (1987) (in press). Preliminary version in theProceedings of the 26th Annual IEEE Symposium on Foundations of Computer Science, 1985, pp. 165–174.
H. Edelsbrunner, M. H. Overmars, and R. Seidel, Some methods of computational geometry applied to computer graphics,Comput. Vision Graphics Image Process.,28 (1984), 92–108.
H. N. Gabow, J. L. Bentley and R. E. Tarjan, Scaling and related techniques for geometry problems,Proceedings of the 16th Annual ACM Symposium on Theory of Computing, 1984, pp. 135–143.
J. S. B. Mitchell, Private communication, 1986.
Author information
Authors and Affiliations
Additional information
Communicated by C. K. Wong.
This work was started while the author was a visiting professor at Ecole Normale Supérieure, Paris, France.
Rights and permissions
About this article
Cite this article
Chazelle, B. An algorithm for segment-dragging and its implementation. Algorithmica 3, 205–221 (1988). https://doi.org/10.1007/BF01762115
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01762115