我有一系列坐标表示二维标量字段中的数据:x[i]、y[i]、F[i]。但是,x[i] 和 y[i] 不在直线网格上,它们是“随机”放置的。我想对 f[i] 进行插值,这样我就可以在 x、y 中位置的直线网格上估计它的值。
这个问题应该是地形的相同高度插值(参见http://www.cs.uu.nl/geobook/interpolation.pdf)。例如,如果有一个地形的高度图,它不一定是在直线网格上测量的。但是,许多地图更喜欢直线网格上的高度。因此,必须将数据内插到直线网格中。
我使用 Matlab,它有一个griddata命令,可以对直线网格执行插值。该方法使用 Delaunay 三角剖分和一些未描述的插值。我可以猜到它是如何工作的,但在我看来,这种类型的代码应该已经由其他人编写了。
请参阅: http ://www.mathworks.com/help/matlab/ref/griddata.html ?refresh=true 以获取有关 griddata 如何从“分散”数据产生直线插值的参考。
我想将代码集成到 C# 应用程序中,因此我正在寻找要合并的库或源代码。ALGLIB 将执行从均匀间隔到均匀间隔的三次样条插值。我找不到任何适用于非均匀间隔数据的东西。