找到一个点属于哪个四面体元素

find which tetrahedral element a point belongs to

我有一个 3d 区域的四面体网格。网格由两个扩展名为 .node 和 .ele 的文件定义,其中包含与节点和元素相关的数据(这是 3d Delaunay 四面体化程序 tetgen 的输出文件格式)。 .node 文件的每一行都包含节点编号和该节点的 x、y、z 坐标。 .ele 文件包含与其四个顶点对应的元素编号和节点编号。现在,给定任意点 (x1,y1,z1),确定该点属于哪个元素的最简单算法是什么?

如果您知道四面体面的方向,那么您只需要计算由您的点 p=(x1,y1,z1) 和四面体的每个面形成的四面体的体积。点 p 在四面体内部当且仅当它相对于每个面都是正体积。



来自 Computational Geometry in C 的片段。