an out-of-core algorithm for isosurface topology simplification zoë wood hughes hoppe mathieu...
Post on 21-Dec-2015
213 views
TRANSCRIPT
![Page 1: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/1.jpg)
An Out-of-core Algorithm for Isosurface Topology
Simplification
Zoë WoodHughes Hoppe
Mathieu DesbrunPeter Schröder
![Page 2: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/2.jpg)
Problem
Discretelyrepresented
surface
Reconstructionas “isosurface”f (x, y, z) = 0
NOISY
NEARLYINVISIBLEHANDLES
Bad for simplification,parameterization, etc.
![Page 3: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/3.jpg)
Buddha Handle
![Page 4: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/4.jpg)
The Challenge
Handles we want Handles we don’t want
SEPARATE
from
![Page 5: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/5.jpg)
Solution Attempt
1. Find all handles
2. Calculate their sizes
3. Remove the “small enough” ones
![Page 6: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/6.jpg)
The Input
Isosurfacecomputation
Volumetricdata
in slices
Isosurfaceas
polygon mesh
![Page 7: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/7.jpg)
Finding Handles
IsosurfaceReeb graph
Handles Cycles in Reeb graph
![Page 8: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/8.jpg)
Reeb Graphs
Contours
Ribbons(parts of polygon mesh
inside slice)
{Slice
Height functionf(x, y, z)
CONNECTEDCOMPONENTS
![Page 9: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/9.jpg)
Constructing Reeb Graphs
REEB GRAPHA node for each contourA node for each ribbon
An edge between each ribbon and its contours
![Page 10: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/10.jpg)
Finding Cycles in Reeb Graphs
When adding ribbon r:For each pair of contours (c1, c2) adjacent to r
Report (c2, r) + (r, c1) + (shortest path c1 → c2) as cycle
Intra-Ribbon HandlesFor each i: if Euler characteristic of slice i ≠ # cycles in Reeb graph,
then slice i – 1 had a handle in it
![Page 11: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/11.jpg)
Measuring Handle Size
Fill in handle? Or pinch it open?
Both contract loop to a point!
1. Find Reeb loop2. Find cross loop3. Size = length of smaller loop
Non-separating
![Page 12: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/12.jpg)
Removing Handles
Use the same loop we used tomeasure handle size!
Before removingcross loop
After removingcross loop
![Page 13: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/13.jpg)
ResultsStill hard to tell which handlesare “small enough”.
Dragon has one handle of length 46,causing this method to fail.
Handles inside handles slow downthis method (Reeb graphs arerecomputed locally to check for this).
Uncontrollable jumps in loop sizesafter a collapse.
Also, very inefficient if orientationof surface is bad.
![Page 14: An Out-of-core Algorithm for Isosurface Topology Simplification Zoë Wood Hughes Hoppe Mathieu Desbrun Peter Schröder](https://reader030.vdocuments.us/reader030/viewer/2022032704/56649d5f5503460f94a3f7a7/html5/thumbnails/14.jpg)
ConclusionPROBLEM
Removing undesired handles
SOLUTION ATTEMPT
1. Find handles2. Calculate their sizes3. Remove small enough ones
RESULTS
Doesn’t work if there is even onelarge extraneous handle
Can be very inefficient
FUTURE DIRECTIONS
1. Reeb graphs for arbitrary meshes,avoiding self-intersections
2. Smoothing after removing largehandles
3. New ways of measuring handlesize
4. Varying isosurface handleremoval: preprocess volume[Zomorodian 2001]