插值3D空间中的标量场

Bre*_*dan 8 python algorithm interpolation

我有一个3D空间(x,y,z),每个点都有一个附加参数(能量),总共给出了4个数据维度.

我想找到一组x,y,z点,它们对应于通过在已知点之间插值找到的等能量表面.

空间网格具有恒定的间距并且完全围绕等能量表面,然而,它不占据立方体空间(网格占据大致圆柱形的空间)

速度并不重要,我可以将这个数字碾压一段时间.虽然我用Python和NumPy进行编码,但我可以在FORTRAN中编写部分代码.如果存在这样的库,我还可以包装现有的C/C++/FORTRAN库以供脚本使用.

到目前为止,我在网上(以及在数字食谱中)找到的所有示例和算法都没有4D数据.

Ree*_*sey 8

这里有很多选择......

为了让你的能量进入你的网格,你需要使用某种形式的插值. Shepard的方法是一种常见且相当简单的实现方法,如果您的数据分布合理,它往往可以很好地工作.

完成后,您需要进行某种形式的等值面生成.

有一些图书馆可以让这很容易.最值得注意的是,VTK包含python包装器,并具有执行这两个步骤所需的所有工具.

有关如何在VTK中完成此操作的详细信息,您可以检查vtkShepardMethodvtkContourFilter.