Abstract
We design two variants of partition trees, called segment partition trees and interval partition trees, that can be used for storing arbitrarily oriented line segments in the plane in an efficient way. The raw structures use O(n log n) and O(n) storage, respectively, and their construction time is O(n log n). In our applications we augment these structures by certain (simple) auxiliary structures, which may increase the storage and preprocessing time by a polylogarithmic factor. It is shown how to use these structures for solving line segment intersection queries, triangle stabbing queries and ray shooting queries in reasonably efficient ways. If we use the conjugation tree as the underlying partition tree, the query time for all problems is O(nλ), where γ=log2(1+√5)-1≈0.695. The techniques are fairly simple and easy to understand.
Original language | English |
---|---|
Pages (from-to) | 385-403 |
Number of pages | 19 |
Journal | BIT |
Volume | 30 |
Issue number | 3 |
DOIs | |
State | Published - Sep 1990 |
Keywords
- E 2
- F 2.2