Constrained Delaunay Tetrahedrization: A Robust and Practical Approach

Lorenzo Diazzi,Daniele Panozzo,Amir Vaxman,Marco Attene
DOI: https://doi.org/10.48550/arXiv.2309.09805
2023-09-18
Abstract:We present a numerically robust algorithm for computing the constrained Delaunay tetrahedrization (CDT) of a piecewise-linear complex, which has a 100% success rate on the 4408 valid models in the Thingi10k dataset. We build on the underlying theory of the well-known TetGen software, but use a floating-point implementation based on indirect geometric predicates to implicitly represent Steiner points: this new approach dramatically simplifies the implementation, removing the need for ad-hoc tolerances in geometric operations. Our approach leads to a robust and parameter-free implementation, with an empirically manageable number of added Steiner points. Furthermore, our algorithm addresses a major gap in TetGen's theory which may lead to algorithmic failure on valid models, even when assuming perfect precision in the calculations. Our output tetrahedrization conforms with the input geometry without approximations. We can further round our output to floating-point coordinates for downstream applications, which almost always results in valid floating-point meshes unless the input triangulation is very close to being degenerate.
Computational Geometry
What problem does this paper attempt to address?
This paper attempts to solve two major problems encountered when performing Constrained Delaunay Tetrahedrization (CDT) on Piecewise - Linear Complex (PLC) in three - dimensional space: 1. **Numerical robustness problem**: The existing tetgen software is implemented using floating - point arithmetic, which may lead to the situation where the coordinates of Steiner points are irrational numbers. When these points are rounded to the nearest floating - point representation position, accuracy is lost, which in turn leads to algorithm failure. In addition, tetgen also relies on some implicit but incorrect assumptions, which can cause the algorithm to fail in specific cases (such as the intersection problem that may occur during the cavity expansion process). 2. **Theoretical defect**: The tetgen algorithm has a theoretical defect, that is, it assumes that the tetrahedralizations inside the local cavities are non - intersecting and their boundaries match on the restored faces. However, in some cases, this assumption does not hold and may lead to the intersection of two tetrahedralizations, thus causing the algorithm to fail. To solve these problems, the author proposes a new algorithm, and its main contributions include: - **Avoiding irrational number coordinates**: The new algorithm represents Steiner points by introducing an implicit point type, ensuring that the coordinates of all Steiner points can be expressed by simple combinations of input points, thus avoiding the use of irrational number coordinates. - **Indirect geometric predicates**: Based on the new implementation method of indirect geometric predicates, the algorithm can be implemented on hardware - accelerated floating - point calculations without sacrificing robustness. This method not only improves efficiency but also ensures the correctness of the algorithm. - **Handling the cavity expansion problem**: For the cavity expansion cases that may fail, the new algorithm provides an alternative solution to ensure that the algorithm can be successfully terminated in all cases. Finally, the algorithm can process all 4,408 valid models in the Thingi10k dataset with a 100% success rate, and it takes approximately 5 hours to complete the processing on a standard desktop PC using a single CPU core. In addition, the open - source implementation of this algorithm has also been released, so that more researchers and engineers can use and improve this method.