Fast and Exact Fiber Surfaces for Tetrahedral Meshes
Pavol Klacansky (SCI, Leeds), Julien Tierny (CNRS), Hamish Carr (Leeds), and Zhao Geng (Leeds)
Isosurface and Fiber Surface
Terminology
- 2D
- Fiber is a point.
- Fiber surface is a curve.
- 3D
- Fiber is a line.
- Fiber surface is a surface.
Fiber and Fiber Surface
For given isovalue we get level set, and if we pick two isovalues (point in range), the intersection of the corresponding level sets is a fiber.
Furthermore, we can pick a connected set of points in range, constructing a connected set of fibers in domain - fiber surface.
Approximation using Marching Cubes
We note that the original paper presented accurate algorithm for tet-meshes (albeit not the gray cases) for base fiber surface extraction. However it was limited to lines.
Marching cubes is already inaccurate even for an isosurfaces.
Motivation
We focus on tetrahedral mesh, for trilinear refer to Kui's talk.
FSCP Bends
New Algorithm: Base Fiber Surface
New Algorithm: Fiber Clipping
Six Fiber Clipping Cases
Fiber Surface Example
Acceleration
- Domain or range space
- Output sensitive
Instead of subdividing the domain, we can think of each cell's prejection in the range. One approach could be to take min-max of both field and think of it as a point in 4D. Instead, we think of it as a bounding box on the range and use a variant of interval tree (BVH).
We allow to tweak arity and number of cells per leaf. Both are trade-off between speed, construction time, and memory usage. We choose 8-nary tree (AVX) with 8 tets per leaf.
Results
Data set | #tets | #segments | Preprocessing (s) | Extraction (s) | |||||
---|---|---|---|---|---|---|---|---|---|
Octree | BVH | Original* | Regular | Octree | BVH | ||||
Tooth | 7.6M | 4 | 4.93 | 1.36 | 2.08 | 0.79 | 0.25 | 0.16 | |
Ethanediol | 8.7M | 4 | 4.60 | 1.55 | 2.16 | 0.78 | 0.02 | 0.01 | |
Combustion | 18.7M | 4 | 12.48 | 4.17 | 4.47 | 1.89 | 0.30 | 0.17 | |
Engine | 35.4M | 11 | 17.05 | 6.86 | 13.12 | 9.12 | 0.79 | 0.37 | |
Enzo | 82.9M | 8 | 39.05 | 16.45 | 24.55 | 17.26 | 2.39 | 1.90 |
Interactive Application
Furthermore, we use glClipPlane for clipping using t line parameter (which is anyway needed for fiber texturing).
Summary (klacansky.com/fsvis16)
- Accurate algorithm for tetrahedral meshes
- Arbitrary topology FSCP and parameter free
- Acceleration in domain or range
- EPSRC grant EP/J013072/1 (Leeds)
- LABEX Cal-simlab ANR-11-LABX-0037-01 and DGA DT-SCAT-DA-IDFFD1300034MNRBC (UMPC)
- University of Utah's SCI Institute
Questions
Quantitative Comparison
Raster Resolution | Time (s) | Hausdorff Distance (%) | Average Distance (%) |
---|---|---|---|
162 | 0.56 | 5.27 | 0.66 |
322 | 0.52 | 3.00 | 0.20 |
642 | 0.52 | 1.75 | 0.08 |
1282 | 0.54 | 1.26 | 0.04 |
2562 | 0.59 | 1.21 | 0.03 |
5122 | 0.80 | 1.03 | 0.02 |
10242 | 1.64 | 1.01 | 0.02 |
Exact distance | 3.47 | 1.01 | 0.02 |