. Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge...
-
Upload
leonard-jones -
Category
Documents
-
view
223 -
download
0
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/1.jpg)
.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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/2.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/3.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/4.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/5.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/6.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/7.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/8.jpg)
Contour MapsContour Maps
![Page 9: . Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge ThomasMolhave Thomas Molhave Bardia Sadri.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/9.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/10.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/11.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/12.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/13.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/14.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/15.jpg)
Height GraphHeight Graph
![Page 16: . Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge ThomasMolhave Thomas Molhave Bardia Sadri.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/16.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/17.jpg)
Simple TerrainsSimple Terrains
![Page 18: . Computing Contour Maps & Answering Contour Queries Pankaj K. Agarwal Joint work with Lars Arge ThomasMolhave Thomas Molhave Bardia Sadri.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/18.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/19.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/20.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/21.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/22.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/23.jpg)
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.](https://reader036.fdocuments.net/reader036/viewer/2022062423/56649d1c5503460f949f1893/html5/thumbnails/24.jpg)
Idea: grow contours contiguously but in parallelIdea: grow contours contiguously but in parallel