Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C语言中的三维数据插值#_C#_Interpolation - Fatal编程技术网

C# C语言中的三维数据插值#

C# C语言中的三维数据插值#,c#,interpolation,C#,Interpolation,我正在寻找一个简单的C函数来插值我的3D数据。 已经给出了一个包含大约100-150个数据集和3个双值的列表 -25.000000 -0.770568 2.444945 -20.000000 -0.726583 2.467809 -15.000000 -0.723274 2.484167 -10.000000 -0.723114 2.506445 and so on... 由这些值创建的图表通常如下所示,我不确定这是否算作分散的或仍然是网格化的数据 最后,我想交出两个

我正在寻找一个简单的C函数来插值我的3D数据。 已经给出了一个包含大约100-150个数据集和3个双值的列表

-25.000000  -0.770568   2.444945
-20.000000  -0.726583   2.467809
-15.000000  -0.723274   2.484167
-10.000000  -0.723114   2.506445
and so on...
由这些值创建的图表通常如下所示,我不确定这是否算作分散的或仍然是网格化的数据

最后,我想交出两个双数值,然后从插值函数中得到第三个。它不应该使曲面变平,它仍然应该通过所有给定的数据点

由于我没有时间研究所有可能的算法,也没有数学背景,我有点被各种可能的方法所淹没了:克里格法、德洛尼三角剖分法、NURBs以及更多

除此之外,我在网上找到的大多数解决方案要么是针对另一种语言的,要么是过时的,要么是按时间收费的(例如ilnumerics,仍然不确定他们是否有解决方案)

在matlab中,存在一个griddata函数,它正好可以实现这一点(据我所知,它基于克里格算法),但在这种情况下,C#对我来说是强制性的


感谢您的帮助,欢迎您提出批评和建议。

您可能会从Unity3dphew那里窃取逻辑,这对我来说似乎是在未知领域更深入地挖掘……好吧,经过大量研究之后,我似乎应该使用克里格法(例如Ilnumerics已经测试过的实现)或Delauney三角测量法。人们时不时地推荐NURBs,但仍然不知道如何为我的任务实现这样的解决方案。你是如何解决这个问题的?我也有同样的问题。谢谢