0
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.

References

Figures

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. 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”

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. 16

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

Tables

Errata

Discussions

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