In this paper, we revisit the point-in-polyhedron problem. After reviewing previous work, we develop further insight into the problem. We then claim that, for a given testing point and a three-dimensional polyhedron, a single determining triangle can be found which suffices to determine whether the point is inside or outside the polyhedron. This work can be considered to be an extension and implementation of Horn's work, which inspired us to propose a theorem for obtaining determining triangles. Building upon this theorem, algorithms are then presented, implemented, and tested. The results show that although our code has the same asymptotic time efficiency as commonly used octree-based ray crossing methods, in practice it is usually several times and sometimes more than ten times faster, while other costs such as preprocessing time and memory requirements remain the same. The ideas proposed in this paper are simple and general. They thus extend naturally to multi-material models, i.e., polyhedrons subdivided into smaller regions by internal boundaries.
['Jianfei Liu', 'Chen Y', 'José M. Maisog', 'George Luta']
A new point containment test algorithm based on preprocessing and determining triangles