假设我们将点定义为三个浮点数的元组,而四面体定义为四个点的元组。
假设我们有一个四面体和一个点,我们可以按照 如何检查点是否在四面体中描述的解决方案来确定该点是否属于四面体? 那里的关键思想是确定该点是否在四面体的四个侧面的内侧。
我的问题。给定一个点和 N 个四面体,其中 N 约为 700 万,我需要确定该点在哪个四面体中。我们将关心重复测试的性能,有大量的分数。
附加信息:
可以使用上面提到的方法对这些四面体进行一一检查。但考虑到我有大量的四面体,这可能太慢了。
问题设置中有一个特定的点。这些四面体是从用于解决医学成像问题的 FEM(有限元方法)问题中获得的(它们构成了患者的大脑)。也许 FEM 本身与这个问题无关,但我们可以利用这些四面体彼此相邻并且在这些四面体模拟的空间中没有“洞”这一事实。
除了相邻的边界外,四面体没有交点。所以,这个问题应该有一个唯一的解决方案,除非在边界处,在这种情况下,可以让任何一个相交的四面体来回答我的问题。
没有在输入上给出四面体的特定顺序。四面体的形状是否规则并没有规定。
关于有效解决问题的任何想法?Python 是解决这个问题的首选。
谢谢!