Exact and parallel intersection of 3D triangular meshes

Viana Gomes de Magalhães, Salles
Thumbnail Image
Other Contributors
Franklin, W. Randolph
Carothers, Christopher D.
Cutler, Barbara M.
Radke, Richard J., 1974-
Issue Date
Computer science
Terms of Use
Attribution-NonCommercial-NoDerivs 3.0 United States
This electronic version is a licensed copy owned by Rensselaer Polytechnic Institute, Troy, NY. Copyright of original work retained by author.
Full Citation
Finally, we developed 3D-EPUG-Overlay, an algorithm for exactly computing the intersection of pairs of 3D meshes. 3D-EPUG-Overlay employs all the techniques mentioned above to ensure its correctness and efficiency. Experiments showed that it was up to 101 times faster than the algorithm available in LibiGL (the state of art algorithm for exact mesh intersection) and, also, it had a performance that was comparable to a parallel inexact algorithm that was specifically developed to be very fast. Besides being fast, 3D-EPUG-Overlay was more memory efficient than the other evaluated methods. Furthermore, in all test cases the result obtained by 3D-EPUG-Overlay matched the reference solution.
The key to obtain robustness and performance is a combination of 5 separate techniques:
- Multiple precision rational numbers, to exactly represent the coordinates of the objects and completely eliminate roundoff errors during the computations.
This thesis presents an exact parallel algorithm for computing the intersection between two 3D triangular meshes, as used in CAD/CAM (Computer Aided Design/Computer Aided Manufacturing), CFD (Computational Fluid Dynamics), GIS (Geographical Information Science) and additive manufacturing (also known as 3D Printing). Geometric software packages occasionally fail to compute the correct result because of the algorithm implementation complexity (that usually needs to handle several special cases) and of precision problems caused by floating point arithmetic. A failure in an intersection computation algorithm may propagate to any software using the algorithm as a subroutine. As datasets get bigger (and the chances of failure in an inexact algorithm increase), exact algorithms become even more important.
- Simulation of Simplicity, a symbolic perturbation technique, to ensure that all geometric degeneracies (special cases) are properly handled.
- Simple data representations and local information, to simplify the correct processing of the data and make the algorithm more parallelizable.
- A uniform grid, to efficiently index the data, and accelerate some of the steps of the algorithm such as testing pairs of triangles for intersection or locating points in the mesh.
- Parallel programming, to accelerate the intersection process and explore better the ubiquitous parallel computing capability of current hardware.
To evaluate our ideas, we have developed and implemented EPUG-Overlay (Exact Parallel Uniform Grid Overlay), an exact and efficient algorithm for overlaying 2D maps. EPUG-Overlay applies all the techniques mentioned above and, as a result, it was not only exact but also very efficient. Indeed, it was able to compute the intersection of a map containing 32 million edges with another map having 21 million edges in 264 elapsed seconds using 16 threads with dual 8-core processors. By comparison, GRASS (a Geographic Information System) took 5,300 seconds to perform the same computation, partly because it is only single-threaded.
We have also developed PinMesh (Point In Mesh), an exact and efficient method for locating points in 3D meshes. The point location problem is an important step we intend to use for computing the intersection of 3D meshes. PinMesh was carefully implemented to always handle point location queries correctly. The use of efficient data structures associated with parallel programming made PinMesh very fast. According to our experiments, PinMesh was up to 27 times faster than the RCT (Relative Closest Triangle) 3D point location algorithm (that was, to the best of our knowledge, the fastest point location algorithm available).
All the software developed for this thesis is freely available for other researchers to use and extend.
While other methods for exactly intersecting meshes exist, their performance makes them non-suitable for applications where the fast processing of big geometric models is important (such as interactive CAD systems).
December 2017
School of Science
Dept. of Computer Science
Rensselaer Polytechnic Institute, Troy, NY
Rensselaer Theses and Dissertations Online Collection
CC BY-NC-ND. Users may download and share copies with attribution in accordance with a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 License. No commercial use or derivatives are permitted without the explicit approval of the author.