【发布时间】:2016-04-07 14:57:03
【问题描述】:
我有一系列坐标表示二维标量字段中的数据: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 将执行从均匀间隔到均匀间隔的三次样条插值。我找不到任何适用于非均匀间隔数据的东西。
【问题讨论】:
标签: c# interpolation terrain delaunay kriging