从随机点插入到网格

时间:2016-01-04 01:38:49

标签: c# interpolation terrain delaunay kriging

我有一系列坐标代表2D标量场中的数据: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将执行从均匀间隔到均匀间隔的三次样条插值。我找不到任何适用于非均匀间隔数据的内容。

1 个答案:

答案 0 :(得分:0)

您可以将2个三角形设为四边形。 IMO行进立方体算法给出了直线网格。您可以尝试使用Paul Bourke conrec算法。