回 帖 发 新 帖 刷新版面

主题:请教一下,空间插值的问题,谢谢!

大家好!
    这段时间在写程序,碰到空间插值问题。
比如有个八节点六面体单元,每个节点都有值。那么这个单元内部的点的值应该怎么算呢?
我想了很久,刚才还在家里写程序,在空间插值方面卡住了,就跑到单位来查资料,查了快两个小时,还没有找到办法解决。
我本来想用线性插值的,发觉不行。现在不知道应该用什么插值,请指点一下,谢谢!

回复列表 (共18个回复)

沙发

在書中查找:二十點六面體。看看吧,其實就是線性*線性,變成了二次插值:)

板凳


空间插值有很多模型方法,不知道哪一种适合你。
Inverse Distance to a Power(反距离加权插值法) 
Kriging(克里金插值法)
Minimum Curvature(最小曲率)
Modified Shepard's Method(改进谢别德法)
Natural Neighbor(自然邻点插值法)
Nearest Neighbor(最近邻点插值法)
Polynomial Regression(多元回归法)
Radial Basis (径向基函数法)
Triangulation with Linear Interpolation(线性插值三角网法) 
Moving Average(移动平均法) 
Local Polynomial(局部多项式法)

3 楼

昨晚来单位上网查资料查到了一些插值方法,不过都讲的很笼统。当时搜到了一个k-nearest neighbor插值代码,是用VC编的,我就没有再细看了。
回家后想了半天,想出了一个插值方式,插值方式思路如下:
先将点投影到单元的xy平面,然后再将投影点 映射到平面的四条边上,将这四个点的值求出(这四个点值是根据线性插值求出的),然后再求出这个投影点在这四个点中的线性插值。这样一来,投影点就有x和y方向两个值。这就要考虑点在x方向值的比例和在y方向值的比例。我当时这样处理:根据投影点到x轴的距离和投影点到y轴的距离比例确定。
按照上述的插值方法,我写程序代码写到凌晨3点。当时觉得这个插值方式有问题,但又实在想不出什么好的。以致于3点多后躺在床上一直想着插值问题。早晨7点多醒过来,满脑子都是插值。到9点多,突然想到一种方式:将单元剖分成多个小单元方法。这种插值方法如下:
先将单元的xy平面剖分成1000×1000的网格,然后找出点的xy坐标所在的网格,然后再根据这个网格进行线性插值。
我觉得这样平面的插值方式应该还算合理,不知道各位有什么看法。请教一下各位,谢谢!

4 楼


越看越糊涂了,z是坐标x,y的函数z=f(x,y)?知道了一系列x,y坐标上的z值,然后插值法求这一系列点内部的其他点的z值?

5 楼


另外,把你的问题描述清楚,比描述你几点干什么,几点又干了什么会有效得多!至少你要让人家了解你在干什么?背景知识是什么?气象研究?地理研究?

6 楼

不好意思,我没有说清楚。我详细说一下我的问题。
有个空间模型,里面有很多六面体单元,单元上的每个节点都值。我现在想求出这个模型中任意一点的值。
我刚才所说的插值方式,在z方向上都是线性变化的;我主要考虑进行平面插值。
我刚才说的1000×1000,也是在xy平面上进行插值。我的xy平面插值方式如下:

先将点所在的单元剖分成1000×1000的网格,然后找出点所在的网格,然后再根据这个网格进行线性插值。
我这样说,不知道有没有说清楚。我的意思是:有一个平面长方形单元,四个节点都有值。我再将这个单元剖分成1000×1000的网格,然后根据点所在的网格,求出这个网格的四个节点值,然后再取平均值。
这样可以吗?

7 楼


意思就是知道了一个平面长方形单元四个节点的值,用插值法求这个长方形内部任意一点的值?

8 楼

是的,就是这个意思。

9 楼

我也想学一下反距离加权插值法、克里金插值法、自然邻点插值法、最近邻点插值法等空间插值方式。
不知道有没有这些插值方式的代码或详细介绍。
我以前的专业是地质工程,现在的工作背景主要搞地下水方面的,插值对我的工作挺有用的。

10 楼

简单的两句话描述的问题,为啥说的这么复杂?就是一个二维插值问题,现在关键就是用什么方法插值的问题了o∩_∩o

我来回复

您尚未登录,请登录后再回复。点此登录或注册