CSE 554 Lecture 5: Contouring (faster). Fall 2014. Review. Iso -contours Points where a function evaluates to be a given value ( iso -value) Smooth thresholded boundaries Contouring methods Primal methods Marching Squares (2D) and Cubes (3D) Placing vertices on grid edges
Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.
CSE 554Lecture 5: Contouring (faster)
Fall 2014
Primal
Dual
1
2
3
2
1
2
3
4
3
2
3
4
5
4
3
O(n)
2
3
4
3
2
O(k)
1
2
3
2
1
O(n+k)
Iso-value = 3.5
Marching Squares O(n+k)
Running time (seconds)
Only visiting each square and checking if it is active (without creating vertices and edges) O(n)
Iso-value
Marching Squares O(n+k)
Running time (seconds)
Quadtree
O(k*Log(n))
Interval tree
O(k+Log(n))
Iso-value
Iso-value not in {min,max}
Iso-value in {min,max}
Iso-value not in {min,max}
Iso-value in {min,max}
Iso-value not in {min,max}
Iso-value in {min,max}
Iso-value not in {min,max}
Iso-value in {min,max}
Iso-value not in {min,max}
Iso-value in {min,max}
{1,5}
1
2
3
Root node
2
3
4
Grid
{1,3}
{2,4}
{2,4}
{3,5}
Level-1 nodes
(leaves)
Quadtree
3
4
5
{1,5}
Root node
{1,3}
{2,4}
Leaf nodes
{2,4}
{3,5}
1
2
3
2
3
4
Grid
3
4
5
// Building a quadtree for a grid whose longest dimension is len
Return buildNode (1, 1, 2^Ceiling[Log[2,len]])
{1,5}
Root node
{1,3}
{2,4}
Leaf nodes
{2,4}
{3,5}
1
2
3
2
3
4
Grid
3
4
5
{1,3}
{2,4}
Leaf nodes
{2,4}
{3,5}
1
2
3
2
3
4
Grid
3
4
5
{1,5}
Root node
iso-value = 2.5
// Contouring using a quadtree whose root node is Root
// for a grid whose longest dimension is len
contourNode (Root, iso, 1, 1, 2^Ceiling[Log[2,len]])
{1,3}
{2,4}
Leaf nodes
{2,4}
{3,5}
1
2
3
2
3
4
Grid
3
4
5
{1,5}
Root node
iso-value = 2.5
Marching Squares O(n+k)
Running time (seconds)
Quadtree
O(k*Log(n))
Iso-value
0
255
Iso-value
AL: d,e,f,g,h,i
DR: i,e,g,h,d,f
AL: a,b,c
DR: c,a,b
AL: j,k,l
DR: l,j,k
δ=7
AL: m
DR: m
Interval tree:
δ=4
δ=10
δ=12
Intervals:
AL: d,e,f,g,h,i
DR: i,e,g,h,d,f
iso-value = 9
AL: a,b,c
DR: c,a,b
AL: j,k,l
DR: l,j,k
δ=7
AL: m
DR: m
Interval tree:
δ=4
δ=10
δ=12
Intervals:
AL: d,e,f,g,h,i
DR: i,e,g,h,d,f
iso-value = 9
AL: a,b,c
DR: c,a,b
AL: j,k,l
DR: l,j,k
δ=7
AL: m
DR: m
Interval tree:
δ=4
δ=10
δ=12
Intervals:
AL: d,e,f,g,h,i
DR: i,e,g,h,d,f
iso-value = 9
AL: a,b,c
DR: c,a,b
AL: j,k,l
DR: l,j,k
δ=7
AL: m
DR: m
Interval tree:
δ=4
δ=10
δ=12
Intervals:
Marching Squares O(n+k)
Running time (seconds)
Quadtree
O(k*Log(n))
Interval tree
O(k+Log(n))
Iso-value
Interval tree:
Intervals:
AL: d,e,f,g,h,i
DR: i,e,g,h,d,f
δ=7
Interval tree:
Intervals:
AL: d,e,f,g,h,i
DR: i,e,g,h,d,f
AL: a,b,c
DR: c,a,b
δ=7
Interval tree:
δ=4
Intervals:
AL: d,e,f,g,h,i
DR: i,e,g,h,d,f
AL: a,b,c
DR: c,a,b
AL: j,k,l
DR: l,j,k
δ=7
Interval tree:
δ=4
δ=10
Intervals:
AL: d,e,f,g,h,i
DR: i,e,g,h,d,f
AL: a,b,c
DR: c,a,b
AL: j,k,l
DR: l,j,k
δ=7
AL: m
DR: m
Interval tree:
δ=4
δ=10
δ=12
Intervals:
Livnat and Hansen
Gregorski et al.