Presentation is loading. Please wait.

Presentation is loading. Please wait.

. Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge ThomasMolhave Thomas Molhave Bardia Sadri.

Similar presentations


Presentation on theme: ". Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge ThomasMolhave Thomas Molhave Bardia Sadri."— Presentation transcript:

1 . Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge ThomasMolhave Thomas Molhave Bardia Sadri

2 The TerraStream Modules

3 What is a Terrain

4 Representation: Triangulated Irregular Network (TIN)

5 Level Sets, Contours, and Contour Maps

6 Computing Contours Maps

7 Answering Contour Queries Preprocess Terrain  into a data structure Given h, compute contour at height h.

8 Contour Maps

9 Usage of contour lines (also called iso-contours, isogons, etc) goes back to at least 17 th century Philosophical Transactions of Royal Society of London, 1779

10 Find a seed point on each contour and traverse the triangulation to trace each contour Use a simple data structure to compute seed points Query time: O(log N + T) T: #contour edges Contour map: O(Nlog N +T) T: #contour map edges For massive terrains I/O efficiency is bad: O(N+T) instead of O((N+T)/B) Internal Memory Algorithm

11 I/O-Efficient Algorithms Answering a contour query: Preprocessing O(Nlog B N), Space: O(N/B) blocks Query: O(log B N+T/B)

12 Our results Computing contour maps: O(Sort(N)+T/B) I/Os Answering contour queries Preprocessing Time: O(Sort(N)) I/Os Space: O(N/B) disk blocks Query : O(log B N+T/B)[][][][] Ordering Theorem: C-ordering Ordering Theorem: A total ordering, called C-ordering, of triangles can be computed in O(Sort(N)) I/Os s.t. the subsequence of triangles intersecting a contour appears along the contour and contours in a level set are broken in nested order. Individual contours can be retrieved in O(T/B)I/Os from this ordering

13 The Algorithm 1. 1.Sort the vertices in the order of increasing height. 2. 2.Compute the C-ordering of the triangles 3. 3.Determine the rank of each triangle in C-ordreing. 4. 4.Scan the triangles in the order of increasing height of their lowest vertices: 5. 5.If a triangle intersects some level-set of interest add it to a buffer-tree using its rank for the key. 6. 6.When the scan line reaches a height of interest, 1. 1.flush the buffer tree 2. 2. use the stack-based algorithm to extract individual contours. 7. 7.Delete any triangle that does not intersect the next level-set. Use persistent buffer trees to store C-ordering at all heights!

14 Computing the C-Ordering

15 Height Graph

16 Critical Points maximum saddle minimum regular

17 Simple Terrains

18 Positive and Negative Saddles

19 Positive and Negative Cut-Trees

20 Simplifying Terrains by Surgery

21 What does simplification do to contours? [][][][]

22 Extensions (We believe) Our approach extends to higher genus 2- manifolds, i.e., contour queries in a fixed direction

23 Future Directions Computing iso-surface maps or answering iso-surface queries in the I/O model Preprocess a given 2-manifold M, represented as a triangulation, in a linear-size data structure so that For a query plane h, report the contours of M∩h quickly Time: O(n 2/3 +T) in RAM Model

24 Idea: grow contours contiguously but in parallel


Download ppt ". Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge ThomasMolhave Thomas Molhave Bardia Sadri."

Similar presentations


Ads by Google