# 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 (%) |
---|---|---|---|

16^{2} | 0.56 | 5.27 | 0.66 |

32^{2} | 0.52 | 3.00 | 0.20 |

64^{2} | 0.52 | 1.75 | 0.08 |

128^{2} | 0.54 | 1.26 | 0.04 |

256^{2} | 0.59 | 1.21 | 0.03 |

512^{2} | 0.80 | 1.03 | 0.02 |

1024^{2} | 1.64 | 1.01 | 0.02 |

Exact distance | 3.47 | 1.01 | 0.02 |