我想插入一个 3D 标量函数f(x, y, z)
。我编写了一个 3D 线性插值算法(http://en.wikipedia.org/wiki/Trilinear_interpolation)。这还不错。
但是,我想要更复杂的东西,例如 3D 三次样条。是否有任何开源、易于使用、公开可用的代码用于插值 3D 标量?我更喜欢使用 C,但 Fortran 也可以。我想远离 Matlab。
我在这里看到过类似的问题:
和
第二个可以使用 Matlab,但我不是。
至于第一个,主要的建议是 Shepard 的方法。我很好奇 Shepard 的方法有多准确。例如,在均匀网格的情况下,可以将 Shepard 方法仅应用于附近的网格点,在这种情况下,它是否往往比线性插值或三次样条更准确?我想不是,但不是 100% 确定,如果事实上它不是更好,那么如果有任何这样的代码可用,我宁愿使用类似样条的代码来查找代码。