Fast Tetrahedral Meshing in the Wild

Yixin Hu,Teseo Schneider,Bolun Wang,Denis Zorin,Daniele Panozzo
DOI: https://doi.org/10.1145/3386569.3392385
2020-01-25
Abstract:We propose a new tetrahedral meshing method, fTetWild, to convert triangle soups into high-quality tetrahedral meshes. Our method builds on the TetWild algorithm, replacing the rational triangle insertion with a new incremental approach to construct and optimize the output mesh, interleaving triangle insertion and mesh optimization. Our approach makes it possible to maintain a valid floating-point tetrahedral mesh at all algorithmic stages, eliminating the need for costly constructions with rational numbers used by TetWild, while maintaining full robustness and similar output quality. This allows us to improve on TetWild in two ways. First, our algorithm is significantly faster, with running time comparable to less robust Delaunay-based tetrahedralization algorithms. Second, our algorithm is guaranteed to produce a valid tetrahedral mesh with floating-point vertex coordinates, while TetWild produces a valid mesh with rational coordinates which is not guaranteed to be valid after floating-point conversion. As a trade-off, our algorithm no longer guarantees that all input triangles are present in the output mesh, but in practice, as confirmed by our tests on the Thingi10k dataset, the algorithm always succeeds in inserting all input triangles.
Graphics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: how to efficiently and robustly convert arbitrarily connected triangle soups that may have self - intersections into high - quality tetrahedral meshes. Specifically, the author proposes a new algorithm named fTetWild, aiming to improve the existing TetWild algorithm and solve two main problems in its theoretical and practical applications: 1. **Theoretical problem**: The meshes generated by TetWild use rational coordinates, and these coordinates may lead to invalid tetrahedral meshes when converted to floating - point numbers. Although the probability of this situation occurring is very low, there is still uncertainty. 2. **Practical problem**: The running time of TetWild is relatively long, especially when dealing with large - scale models, and its efficiency is not as good as the Delaunay - based tetrahedralization algorithm. fTetWild solves these problems in the following ways: - **Maintaining floating - point precision**: fTetWild always uses floating - point coordinates to represent vertices, ensuring that the output tetrahedral mesh is valid in any case and avoiding the high computational cost brought by rational number construction. - **Improving running efficiency**: The running time of fTetWild is comparable to that of the Delaunay - based tetrahedralization algorithm, significantly improving the processing speed. - **Robustness**: fTetWild performs well when dealing with imperfect input data (such as self - intersections, small gaps, etc.), and can automatically repair these problems within the user - defined geometric tolerance range. In addition, fTetWild also inherits the advantages of TetWild, that is, it does not need to make strict assumptions on the input mesh (such as closed manifolds, no self - intersections, etc.), and can process a large number of models in batches without adjusting parameters. In summary, the goal of fTetWild is to provide a more efficient and more robust method for generating tetrahedral meshes, which is suitable for processing imperfect 3D geometric data commonly found in the real world.