我想插入3D標量函數f(x, y, z)
。我編寫了一個3D線性插值算法(http://en.wikipedia.org/wiki/Trilinear_interpolation)。這並沒有那麼糟糕。C(或Fortran)中的3D插值方法以及與Shepard方法的比較
但是,我想要更復雜的東西,例如,三維立方樣條。是否有任何開源,易於使用的公開可用的代碼來插入3D標量?我寧願使用C,但Fortran也可以。我想遠離Matlab。
我也有類似的問題在這裏問:
Interpolating a scalar field in a 3D space
和
What are some good libraries for 3D interpolation?
第二個是確定用Matlab,這我不是。
至於第一個,主要建議是謝潑德的方法。我很好奇Shepard的方法有多精確。例如,在均勻網格的情況下,可以將Shepard方法僅應用於附近的網格點,在這種情況下,它是否比線性插值或三次樣條更精確?我想不是,但不是100%確定的,如果事實上它不是更好,那麼如果有任何這樣的代碼可用,我寧願使用樣條線來查找代碼。
爲什麼你不想使用matlab? – DSF
我將需要一個大型項目的插值算法,如果所有項目都是用Matlab編碼的話,我相信它會太慢。 – db1234
您能否描述您的輸入和輸出網格:均勻/不均勻,多大? – denis