Introduction Terrain Level set and Contour tree Problem Maintaining the contour tree of a terrain under the following operation: ChangeHeight(v, r) : Change.

Slides:



Advertisements
Similar presentations
Graph Algorithms Algorithm Design and Analysis Victor AdamchikCS Spring 2014 Lecture 11Feb 07, 2014Carnegie Mellon University.
Advertisements

Lecture 15. Graph Algorithms
Trees Chapter 11.
Max- coloring in trees SRIRAM V.PEMMARAJU AND RAJIV RAMAN BY JAYATI JENNIFER LAW.
Dynamic Graph Algorithms - I
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
R. Johnsonbaugh Discrete Mathematics 5 th edition, 2001 Chapter 8 Network models.
Advanced Database Discussion B Trees. Motivation for B-Trees So far we have assumed that we can store an entire data structure in main memory What if.
One of the most important problems is Computational Geometry is to find an efficient way to decide, given a subdivision of E n and a point P, in which.
Contour Tree and Small Seed Sets for Isosurface Traversal Marc van Kreveld Rene van Oostrum Chandrajit Bajaj Valerio Pascucci Daniel R. Schikore.
I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis Pankaj K. Agarwal, Lars Arge, Ke Yi Duke University University of Aarhus.
Implementation of Graph Decomposition and Recursive Closures Graph Decomposition and Recursive Closures was published in 2003 by Professor Chen. The project.
CS 206 Introduction to Computer Science II 10 / 31 / 2008 Happy Halloween!!! Instructor: Michael Eckmann.
Lists A list is a finite, ordered sequence of data items. Two Implementations –Arrays –Linked Lists.
Graphs and Trees This handout: Trees Minimum Spanning Tree Problem.
Greedy Algorithms Reading Material: Chapter 8 (Except Section 8.5)
I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis Pankaj K. Agarwal, Lars Arge, and Ke Yi Duke University University of Aarhus.
Greedy Algorithms Like dynamic programming algorithms, greedy algorithms are usually designed to solve optimization problems Unlike dynamic programming.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 11 Instructor: Paul Beame.
CSE 373, Copyright S. Tanimoto, 2002 Up-trees - 1 Up-Trees Review of the UNION-FIND ADT Straight implementation with Up-Trees Path compression Worst-case.
P2P Course, Structured systems 1 Introduction (26/10/05)
Finding a maximum independent set in a sparse random graph Uriel Feige and Eran Ofek.
The Art Gallery Problem
Contour Trees CSE Han-Wei Shen. Level Sets Level set: Level sets is also called Isolines for n=2, isosurface for n=3, or isocontours in general.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
I/O-Efficient Graph Algorithms Norbert Zeh Duke University EEF Summer School on Massive Data Sets Århus, Denmark June 26 – July 1, 2002.
Lecture 81 Data Structures, Algorithms & Complexity Tree Algorithms GRIFFITH COLLEGE DUBLIN.
Heaps, Heapsort, Priority Queues. Sorting So Far Heap: Data structure and associated algorithms, Not garbage collection context.
CSIT 402 Data Structures II
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
I/O-Efficient Batched Union-Find and Its Applications to Terrain Analysis Pankaj K. Agarwal, Lars Arge, Ke Yi Duke University University of Aarhus.
Union-find Algorithm Presented by Michael Cassarino.
1 12/2/2015 MATH 224 – Discrete Mathematics Formally a graph is just a collection of unordered or ordered pairs, where for example, if {a,b} G if a, b.
Minimum Spanning Trees Featuring Disjoint Sets HKOI Training 2006 Liu Chi Man (cx) 25 Mar 2006.
Discrete Mathematics Chapter 5 Trees.
ProblemAssumption and PreliminariesAlgorithm  How does the water flow and depressions fill during non-uniform rain over a terrain?  Can we efficiently.
Trees Dr. Yasir Ali. A graph is called a tree if, and only if, it is circuit-free and connected. A graph is called a forest if, and only if, it is circuit-free.
Graph Theory. undirected graph node: a, b, c, d, e, f edge: (a, b), (a, c), (b, c), (b, e), (c, d), (c, f), (d, e), (d, f), (e, f) subgraph.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
CSE 421 Algorithms Richard Anderson Winter 2009 Lecture 5.
Headlines - Font: Ariel, Size:32, white Breadtext: Font: Ariel, Size: 22, color white This is a table cell with color RGB 96,96,96 Headline Running text.
Graph Connectivity This discussion concerns connected components of a graph. Previously, we discussed depth-first search (DFS) as a means of determining.
Great Theoretical Ideas in Computer Science for Some.
1 Assignment #3 is posted: Due Thursday Nov. 15 at the beginning of class. Make sure you are also working on your projects. Come see me if you are unsure.
COMPSCI 102 Introduction to Discrete Mathematics.
CSE 421 Algorithms Richard Anderson Autumn 2015 Lecture 5.
1 Trees : Part 1 Reading: Section 4.1 Theory and Terminology Preorder, Postorder and Levelorder Traversals.
Relationship between pixels Neighbors of a pixel – 4-neighbors (N,S,W,E pixels) == N 4 (p). A pixel p at coordinates (x,y) has four horizontal and vertical.
Lecture 12 Algorithm Analysis Arne Kutzner Hanyang University / Seoul Korea.
B+-Tree Deletion Underflow conditions B+ tree Deletion Algorithm
Trees.
Minimum Spanning Tree 8/7/2018 4:26 AM
Mean Shift Segmentation
Lecture 12 Algorithm Analysis
Greedy Algorithms / Minimum Spanning Tree Yin Tat Lee
Short paths and spanning trees
The Art Gallery Problem
The Art Gallery Problem
R. Johnsonbaugh Discrete Mathematics 5th edition, 2001
Lecture 12 Algorithm Analysis
Richard Anderson Autumn 2016 Lecture 5
A Introduction to Computing II Lecture 13: Trees
SPQR Tree.
CSE 417: Algorithms and Computational Complexity
Lecture 12 Algorithm Analysis
Graph Theory: Cuts and Connectivity
Chapter 5: Morse functions and function-induced persistence
Richard Anderson Lecture 5 Graph Theory
Richard Anderson Winter 2019 Lecture 5
GRAPH TRAVERSAL.
Presentation transcript:

Introduction Terrain Level set and Contour tree Problem Maintaining the contour tree of a terrain under the following operation: ChangeHeight(v, r) : Change the height of a vertex v in M to r. References [1] H. Carr, J. Snoeyink, and U. Axen. Computing contour trees in all dimensions. Computational Geometry, [2] D. D. Sleator, and R. E. Tarjan. A Data Structure for Dynamic Trees. STOC, [3] P. K. Agarwal, L. Arge, and K. Yi. I/O-efficient batched union-find and its applications to terrain analysis. SoCG, * Non-simple saddle can be split into simple saddles, e.g. [2]. Events ChangeHeight(v,r) operation is processed as a continuous deformation for the terrain over time. During this continuous deformation the combinatorial structure of the contour tree T changes only at discrete time instance, called events. More precisely, a event happens when h(v) = h(u) for a vertex u in M. We characterize the possible events.  Local Event – When v and u are adjacent in M. −Shift event – Change label of node. −Birth/Death event – Create/destroy a pair of nodes.  Interchange Event – When u and v are saddle vertices and they are lying on the same contour. Let α ( β ) be the node in T corresponding to v (u resp.), and let t 0 the moment the event occurs. Let t 0 - (t 0 + ) also be the moment before (after resp.) the event. (Think it as raising α up) −When the two saddles are both merge saddles. (For split, upside down) −When one saddle is merge saddle and the other is split saddle. (mixed) Data Structure For the dynamic contour tree, we maintain two additional data structures called ascent and descent trees. Ascent trees are defined by the vertices of M and a set of oriented edges such that each vertex has an edge pointing to a lower neighbor. Descent trees are defined in the same way but with edges pointing to a higher neighbor. For a vertex v in M, let min v (max v ) be the minimum (maximum) on the root of the descent tree (ascent tree resp.) containing v. Handling Local Event  Update ascent tree and descent tree if any edges in trees are flipped.  Event type can be determined by scanning the neighbor vertices and comparing their height.  Shift event: Simply update the label corresponding node in T. −( α, β ) is always on the path in T between min v and max v.  Birth event: Find the edge ( α, β ) in T that related to the contour containing v, and create new nodes for v and u.  Death event: Remove the node v and u and connect α and β in T. Time complexity All operations for a event can be implemented in O(d + log n) time by Link- Cut tree [3], where d is the maximum degree of v and u. Handling Interchange Event  Non-mixed event: Determine which one of the children of α contains min u (or amin u ** ). Then, the child switches its parent to β and β becomes a child of α.  Mixed event: −To determine whether it is case (a), we check if the lowest common ancestor of min u and amin u is α. If it is the case, the sign change event occurs so just the labels get swapped. −For case (b) (c), we find η by finding the child of α contains min u and change the parent of η to β. Similarly we find the parent of β on the way to max v and make the node v’s parent. Finally, α becomes a parent of β. ** A saddle has two lower components in its neighborhood. amin u is the minimum on the root of the descent tree containing a lower neighbor of u not equal to min u. Maintaining Contour Trees of Dynamic Terrains MADALGO – Center for Massive Data Algorithmics, a Center of the Danish National Research Foundation  Terrain is often represented as a planar triangulation (TIN) M with a continuous height function h : R 2 →R  Vertex Types −Determined by the number of down (or up) components in neighborhood (see fig.). −A non-regular vertex is called a critical vertex  Assume each vertex has unique height and there are only simple saddle (# comp. = 2) * Filled (hollow) vertices are lower (higher) neighbors  l-level set of a terrain is a subset M l of M such that h(v) = l for all v in M l.  A contour C is a connected component in M l  C is red/blue if inside is higher/lower.  Contour tree is a topological abstraction of the terrain. It captures the topological changes of contours in the terrain. −The topological changes occurs only at critical vertices. −Minimum – Create, Maximum – Destroy. −Saddle – Merge or Split. −Call it merge saddle or split saddle −Can be computed in O(n log n) time. [1] Jungwoo Yang Aarhus University Morten Revsbæk Aarhus University