. Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge...

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

Transcript of . Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge...

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

.Computing Contour Maps & Computing Contour Maps & Answering Contour QueriesAnswering Contour Queries

Pankaj K. AgarwalPankaj K. Agarwal

Joint work with

Lars ArgeLars ArgeThomasThomas MolhaveMolhaveBardia SadriBardia Sadri

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

The TerraStream ModulesThe TerraStream Modules

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

What is a TerrainWhat is a Terrain

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

Representation: Triangulated Irregular Network Representation: Triangulated Irregular Network (TIN)(TIN)

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

Level Sets, Contours, and Contour MapsLevel Sets, Contours, and Contour Maps

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

Computing Contours MapsComputing Contours Maps

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

Answering Contour QueriesAnswering Contour Queries

Preprocess Terrain into a data structure

Given h, compute contour at height h.

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

Contour MapsContour Maps

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

Contour MapsContour Maps

• Usage of contour lines (also called iso-contours, isogons, etc) goes back to at least 17th century

Philosophical Transactions of Royal Society of London, 1779

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

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 edgesFor massive terrains

I/O efficiency is bad: O(N+T) instead of O((N+T)/B)

Internal Memory AlgorithmInternal Memory Algorithm

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

I/O-Efficient AlgorithmsI/O-Efficient Algorithms

Answering a contour query:

Preprocessing O(NlogBN), Space: O(N/B) blocks Query: O(logBN+T/B)

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

Our resultsOur 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(logBN+T/B)

[[ ]][[ ]] [[ ]][[ ]]

Ordering Theorem:Ordering Theorem: A total ordering, called C-orderingC-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

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

The AlgorithmThe Algorithm

1. Sort the vertices in the order of increasing height.2. Compute the C-ordering of the triangles3. Determine the rank of each triangle in C-ordreing.4. Scan the triangles in the order of increasing height of

their lowest vertices:5. If a triangle intersects some level-set of interest add it

to a buffer-tree using its rank for the key.6. When the scan line reaches a height of interest,

1.flush the buffer tree2. use the stack-based algorithm to extract individual contours.

7. Delete any triangle that does not intersect the next level-set.

Use persistent buffer trees to store C-ordering at all heights!

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

Computing the C-Ordering

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

Height GraphHeight Graph

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

Critical PointsCritical Points

maximum

saddle

minimum

regular

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

Simple TerrainsSimple Terrains

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

Positive and Negative SaddlesPositive and Negative Saddles

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

Positive and Negative Cut-TreesPositive and Negative Cut-Trees

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

Simplifying Terrains by SurgerySimplifying Terrains by Surgery

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

What does simplification do to contours?What does simplification do to contours?

[[ ]][[ ]] [[ ]][[ ]]

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

ExtensionsExtensions

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

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

Future DirectionsFuture 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(n2/3+T) in RAM Model

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

Idea: grow contours contiguously but in parallelIdea: grow contours contiguously but in parallel