Affiliation:
1. Aarhus University, Aarhus, Denmark
2. Duke University Durham NC, USA
Abstract
An important problem in terrain analysis is modeling how water flows across a terrain creating floods by forming channels and filling depressions. In this article, we study a number of
flow-query
-related problems: Given a terrain Σ, represented as a triangulated
xy
-monotone surface with
n
vertices, and a rain distribution
R
that may vary over time, determine how much water is flowing over a given vertex or edge as a function of time. We develop internal-memory as well as I/O-efficient algorithms for flow queries. This article contains four main algorithmic results:
(i) An internal-memory algorithm for answering
terrain-flow
queries: Preprocess Σ into a linear-size data structure so given a rain distribution
R
, the flow-rate functions of all vertices and edges of Σ can be reported quickly.
(ii) I/O-efficient algorithms for answering terrain-flow queries.
(iii) An internal-memory algorithm for answering
vertex-flow
queries: Preprocess Σ into a linear-size data structure so given a rain distribution
R
, the flow-rate function of a vertex under the single-flow direction (SFD) model can be computed quickly.
(iv) An efficient algorithm that, given a path
𝖯
in Σ and flow rate along
𝖯
, computes the two-dimensional channel along which water flows.
Additionally, we implement a version of the terrain-flow query and 2D channel algorithms and examine a number of queries on real terrains.
Publisher
Association for Computing Machinery (ACM)
Subject
Discrete Mathematics and Combinatorics,Geometry and Topology,Computer Science Applications,Modeling and Simulation,Information Systems,Signal Processing