Research Papers

Monotone Descent Path Queries on Dynamic Terrains

[+] Author and Article Information
Xiangzhi Wei

Department of IELM,
Hong Kong University of Science and Technology,
Clear Water Bay, Kowloon,
Hong Kong, China
e-mail: xiangzhi.science@gmail.com

Ajay Joneja

Department of IELM,
Hong Kong University of Science and Technology,
Clear Water Bay, Kowloon,
Hong Kong, China
e-mail: joneja@ust.hk

Yaobin Tian

School of Mechanical,
Electronic and Control Engineering,
Beijing Jiaotong University Shangyuancun,
Xizhimenwai, Haidian District,
Beijing 100044, China
e-mail: 07121772@bjtu.edu.cn

Yan-An Yao

School of Mechanical,
Electronic and Control Engineering,
Beijing Jiaotong University Shangyuancun,
Xizhimenwai, Haidian District,
Beijing 100044, China
e-mail: yayao@bjtu.edu.cn

1Corresponding author.

Contributed by the Computers and Information Division of ASME for publication in the JOURNAL OF COMPUTING AND INFORMATION SCIENCE IN ENGINNERING. Manuscript received December 28, 2012; final manuscript received September 3, 2013; published online January 29, 2014. Editor: Bahram Ravani.

J. Comput. Inf. Sci. Eng 14(1), 011008 (Jan 29, 2014) (18 pages) Paper No: JCISE-12-1240; doi: 10.1115/1.4025780 History: Received December 28, 2012; Revised September 03, 2013

Monotone paths are useful in many engineering design applications. In this paper, we address the problem of answering monotone descent path queries on terrains that are continually changing. A terrain can be represented by a unique contour tree. Such a contour tree belongs to a class of graphs called arbitrarily directed trees (ADTs). Let T be an ADT with n nodes. In this paper, we present a new linear time preprocessing algorithm for decomposing a static ADT T into a forest F, with which we can answer lowest common descendent (LCA) queries in O(1) time. This is useful in answering monotone path queries on the corresponding terrain. We show how to maintain this data structure, and thereby answer LCA queries efficiently, for dynamic ADTs. We also show how to maintain the data structure of dynamic terrains, while simultaneously maintaining the corresponding contour tree. This allows us to efficiently answer monotone path queries between any two points on dynamic terrains.

Copyright © 2014 by ASME
Your Session has timed out. Please sign back in to continue.


de Berg, M., Cheong, O., van Kreveld, M., and Overmars, M., 2008, Computational Geometry: Algorithms and Applications, 3rd ed., Springer-Verlag, Berlin, Germany.
Roy, S., Das, S., and Nandy, S. C., 2007, “Shortest Monotone Descent Path Problem in Polyhedral Terrain,” Comput. Geom.: Theory Appl., 37(2), pp. 115–133. [CrossRef]
Weber, G. H., Dillard, S. E., Carr, H., Pascucci, V., and Hamann, B., 2007, “Topology-Controlled Volume Rendering,” IEEE Trans. Vis. Comput. Graph., 13(2), pp. 330–341. [CrossRef] [PubMed]
Carr, H., Snoeyink, J., and van de Panne, M., 2010, “Flexible Isosurfaces: Simplifying and Displaying Scalar Topology Using the Contour Tree,” Comput. Geom.: Theory Appl., 43(1), pp. 42–58. [CrossRef]
Wei, X., and Joneja, A., 2011, “On Minimum Link Monotone Path Problems,” ASME J. Comput. Inf. Sci. Eng., 11(3), p. 031002. [CrossRef]
Wei, X., Joneja, A., and Mount, D. M., 2012, “Optimal Uniformly Monotone Partitioning of Polygons With Holes,” Comput.-Aided Des., 44, pp. 1235–1252. [CrossRef]
Chiang, Y. J., Lenz, T., Lu, X., and Rote, G., 2005, “Simple and Optimal Output-Sensitive Construction of Contour Trees Using Monotone Paths,” Comput. Geom.: Theory Appl., 30, pp. 165–195. [CrossRef]
Yang, P., and Qian, X., 2008, “Adaptive Slicing of Moving Least Squares Surfaces: Toward Direct Manufacturing of Point Set Surfaces,” ASME J. Comput. Inf. Sci. Eng., 8(13), p. 031003. [CrossRef]
Fayolle, P. A., Pasko, A., Schmitt, B., and Mirenkov, N., 2005, “Constructive Heterogeneous Object Modeling Using Signed Approximate Real Distance Functions,” ASME J. Comput. Inf. Sci. Eng., 6(3), pp. 221–229. [CrossRef]
Singh, P., and Dutta, D., 2001, “Multi-Direction Slicing for Layered Manufacturing,” ASME J. Comput. Inf. Sci. Eng., 1(2), pp. 129–142. [CrossRef]
de Berg, M., and van Kreveld, M. J., 1997, “Trekking in the Alps Without Freezing or Getting Tired,” Algorithmica, 18(3), pp. 306–323. [CrossRef]
van Kreveld, M., van Oostrum, R., Bajaj, C., Pascucci, V., and Schikore, D. R., 1997, “Contour Trees and Small Seed Sets for Isosurface Traversal,” Proceedings of the 13th Annual Symposium on Computational Geometry, pp. 212–220.
Shammaa, H., Suzuki, H., and Ohtake, Y., 2011, “Creeping Contours: A Multilabel Image Segmentation Method for Extracting Boundary Surfaces of Parts in Volumetric Images,” ASME J. Comput. Inf. Sci. Eng., 11(1), p. 011007. [CrossRef]
Sarkar, R., Zhu, X., Gao, J., Guibas, L. J., and Mitchell, J. S. B., 2008, “Isocontour Queries and Gradient Descent With Guaranteed Delivery in Sensor Networks,” Proceedings of the 27th Annual IEEE Conference on Computer Communications, pp. 1175–1183.
Nykänen, M., and Ukkonen, E., 1994, “Finding Lowest Common Ancestors in Arbitrarily Directed Trees,” Inf. Process. Lett., 50(6), pp. 307–310. [CrossRef]
Thorup, M., 2004, “Compact Oracles for Reachability and Approximate Distances in Planar Digraphs,” J. ACM, 51, pp. 993–1024. [CrossRef]
Bender, M. A., Farach-Colton, M., Pemmasani, G., Skiena, S., and Sumazin, P., 2005, “Lowest Common Ancestors in Trees and Directed Acyclic Graphs,” J. Algorithms, 57(2), pp. 75–94. [CrossRef]
Alstrup, S., Gavoille, C., Kaplan, H., and Rauhe, T., 2004, “Nearest Common Ancestors: A Survey and a New Algorithm for a Distributed Environment,” Theory Comput. Syst., 37, pp. 441–456. [CrossRef]
Harel, D., and Tarjan, R., 1984, “Fast Algorithms for Finding Nearest Common Ancestor,” SIAM J. Sci. Comput., 13, pp. 338–355. [CrossRef]
Schieber, B., and Vishkin, U., 1988, “On Finding Lowest Common Ancestors: Simplification and Parallelization,” SIAM J. Sci. Comput., 17, pp. 1253–1262. [CrossRef]
Berkman, O., and Vishkin, U., 1994, “Finding Level Ancestors in Trees,” J. Comput. Syst. Sci., 48, pp. 214–230. [CrossRef]
Bender, M., and Farach-Colton, M., 2000, “The LCA Problem Revisited,” Proceedings of Latin American Theoretical Informatics, pp. 88–94.
Sleator, D. D., and Tarjan, R. E., 1983, “A Data Structure for Dynamic Trees,” J. Comput. Syst. Sci., 26, pp. 362–391. [CrossRef]
Cole, R., and Hariharan, R., 2005, “Dynamic LCA Queries on Trees,” SIAM J. Sci. Comput., 34(4), pp. 894–923. [CrossRef]
Gabow, H. N., 1990, “Data Structure for Weighted Matching and Nearest Common Ancestors With Linking,” Proceedings of the 1st Annual ACM Symposium on Discrete Algorithms, pp. 434–443.
Eckhardt, S., Mühling, A., and Nowak, J., 2007, “Fast Lowest Common Ancestor Computations in Dags,” Proceedings of the 15th Annual European Conference on Algorithms, pp. 705–716.
Rebane, G., and Pearl, J., 1987, “The Recovery of Causal Poly-Trees From Statistical Data,” Proceedings of the 3rd Workshop Uncertainty in Artificial Intelligence, pp. 222–228.
Kim, J. H., and Pearl, J., 1983, “A Computational Model for Causal and Diagnostic Reasoning in Inference Engines,” Proceedings of the 8th International Joint Conference on Artificial Intelligencepp. 190–193.
Lai, K. J., 2008, “Complexity of Union-Split-Find Problems,” M.S. thesis, Massachusetts Institute of Technology, Erik Demaine, Adviser.
Patrascu, M., and Demaine, E. D., 2004, “Lower Bounds for Dynamic Connectivity,” Proceedings of the 36th ACM symposium on Theory of Computing, pp. 546–553.
Carr, H., Snoeyink, J., and Axen, U., 2003, “Computing Contour Trees in all Dimensions,” Comput. Geom.: Theory Appl., 24(2), pp. 75–94. [CrossRef]
Pascucci, V., 2001, “On the Topology of the Level Sets of a Scalar Field,” Proceedings the 13th Canadian Conference on Computational Geometry, pp. 141–144.
Edelsbrunner, H., Harer, J., Mascarenhas, A., Pascucci, V., and Snoeyink, J., 2008, “Time-Varying Reeb Graphs for Continuous Space-Time Data,” Comput. Geom.: Theory Appl., 41(3), pp. 149–166. [CrossRef]
Edelsbrunner, H., and Harer, J., 2002, “Jacobi Sets of Multiple Morse Functions,” Foundations of Computational Mathematics, Cambridge University, Cambridge, UK, pp. 35–57.
Mascarenhaus, A., and Snoeyink, J., 2005, “Implementing Time-Varying Contour Trees,” Proceedings of the 21st Annual Symposium on Computational Geometry, pp. 370–371.
Kirkpatrick, D., 1983, “Optimal Search in Planar Subdivisions,” SIAM J. Sci. Comput., 12(1), pp. 28–35. [CrossRef]


Grahic Jump Location
Fig. 1

Illustration of a terrain, M, and its corresponding contour tree, T: (a) M, with each connected component in a distinct color, (b) T, with each arc shown in the same color as its corresponding connected component on M

Grahic Jump Location
Fig. 2

(a) An ATD T, and (b) its underlying undirected tree Tu

Grahic Jump Location
Fig. 4

The proof of Lemma 2.2: (a) a dipath x → … → twin(r(y))  → … → y exists in T, (b) a dipath x → … → twin(r(x))  → … → y exists in T. Each arbitrarily long dipath is shown as a dashed directed arc in the figure.

Grahic Jump Location
Fig. 5

The proof of Lemma 2.3

Grahic Jump Location
Fig. 6

Illustration of dynamic updates on T: (a) the original ADT T rooted at u, (b) F before any update, (c) updated F after a call to DeleteArc((x, y), F), (d) updated F after a call to InsertInternalNode(w, (x, y), F) on F in (b), (e) updated F after a call to LinkTrees(y, x, (y, x), F) on F in (c), (f) updated F after a call to InsertLeafNode(w, x, (x, w), F) on F in (b).

Grahic Jump Location
Fig. 7

Illustration of LinkTrees: (a) The desired operation on the (current) forest T, linking nodes x and y via an arc (x, y), where x is the root of a tree in T. The bold arrow indicates the linking arc. The corresponding update in F depends on the spins of x and y; (b) both spin(x) and spin(y) are “up”. The dashed arrow indicates the arc between y and P(y), (c) both spin(x) and spin(y) are “down”, (d) spin(x) is “up” and spin(y) is “down”, (e) spin(x) is “down” and spin(y) is “up”. The shaded circles in (c) and (e) indicate the pair of nodes whose roles are swapped.

Grahic Jump Location
Fig. 8.

Illustration of DeleteArc: (a) The tree T rooted at z, (b) the corresponding GRDTs F, (c) the updated F after arc (z, u) is deleted from T (no existing node in F is removed), (d) subsequently deleting arc (x, y) from T requires the deletion of node y′ from F, the swapping of x with x′, and the deletion of x′.

Grahic Jump Location
Fig. 9

A call to GenerateF(Γ, ρ) will cause information of nodes to be modified as illustrated: (a) spin(y) = “up”, all the arcs directed out of x except (x,y) in T are incident to x′; (b) spin(y) = “down”, all the arcs directed out of x except (x,y) in T are incident to x′; (c) the information of the affected nodes in (a); (d) the information of the affected nodes in (b). The bold arrow indicates the inserted arc.

Grahic Jump Location
Fig. 10

The flow of the maintenance system for M and T

Grahic Jump Location
Fig. 11

The elevation view of triangle Δp. a is the highest vertex and c is the lowest vertex in Δv; each dashed line indicates a contour line.

Grahic Jump Location
Fig. 12

Illustration of reconnecting the arcs satisfying SC (shown as dashed). (x1, v) satisfies SC 1, and (u, x2) satisfies SC 2. The colored triangles denote subtrees.

Grahic Jump Location
Fig. 13

Illustration of SC 1: (a) Initial state of M, where h(u) < h(v), the contour passing through u is shown in thicker and lighter lines, (b) cutting M1 with Π(u) and Π(w): w is the vertex immediately higher than u on M1. The closed contour curves are formed by the intersection of Π(u) with M1 (in thicker and lighter lines), and Π(w) with M1 (in thicker and darker lines), respectively.

Grahic Jump Location
Fig. 14

The possible parent–child relationships among the nodes of the dipath x → v → u in T rooted at r: (a) x is P(v), v is P(u); (b) v is P(x), v is P(u); (c) u is P(v), v is P(x). The triangles denote subtrees.

Grahic Jump Location
Fig. 15

Illustration of d ascending past e in the terrain from Fig. 1: (a) the updated terrain M1, (b) the updated contour tree T1, (c) F corresponding to the terrain in Fig. 1 when g is selected as the root, (d) F1.

Grahic Jump Location
Fig. 16

Illustration of an event of type IV: (a) the terrain before the update, (b) the terrain after the update.

Grahic Jump Location
Fig. 17

Illustration of an event of type V: (a) the terrain before the update, (b) the terrain after the update

Grahic Jump Location
Fig. 18

Illustration of an event of type VI: (a) the terrain before the update, (b) the terrain after the update

Grahic Jump Location
Fig. 19

Illustration of locating the connected component containing u, which corresponds to arc (c, d) in T. The dashed line is horizontal, so h(u) = h(p).

Grahic Jump Location
Fig. 20

Illustration of updating of the affected vertices when a saddle point d ascends to cause an event of type I: (a) Before the update, h(d) = 11.0; (b) the vertices in the original strip above d that are below the height of 18.0 are contained in two strips below d, and the two strips are separated by a pair of ridge edges (x, d) and (y, d); (c) after the update, h(d) = 18.0.

Grahic Jump Location
Fig. 21

Illustration of determining vl(v) when u ascends past v: (v, w) is any edge on M, where h(w) < h(v). p is a point on (v, w) infinitesimally lower than u before the update. vl(p) remains unchanged after the update. Each horizontal dashed line indicates the contour line of some saddle point.

Grahic Jump Location
Fig. 22

A subtree in T1 directed out of u. Each rectangular block includes k nodes. The nodes in the left box are marked with “x1”; the children of x2 are marked with “x2”; and the nodes in the right box are marked with “x3”.

Grahic Jump Location
Fig. 23

Illustration of T1(u) and T1(twin(u)) containing the nodes reachable from u in T1: (a) spin(u) = “down”, (b) spin(u) = “up”



Some tools below are only available to our subscribers or users with an online account.

Related Content

Customize your page view by dragging and repositioning the boxes below.

Related Journal Articles
Related eBook Content
Topic Collections

Sorry! You do not have access to this content. For assistance or to subscribe, please contact us:

  • TELEPHONE: 1-800-843-2763 (Toll-free in the USA)
  • EMAIL: asmedigitalcollection@asme.org
Sign In