0

我意识到NumPy有一个通过Matplotlib的 griddata ,但是有一个 griddata3 (同样有 griddata,但对于更高维度)?

换句话说,我有 (x,y,z,d(x,y,z)) 其中 (x,y,z) 形成不规则网格,d(x,y,z) 是三个变量的标量函数. 我需要使用某种可以处理原始 (x,y,z) 数据的不均匀性的插值来为一组新的 (xi, yi, zi) 点生成 d(xi, yi, zi)。

最终,(xi, yi, zi, d(xi, yi, zi)) 数据必须以某种方式呈现为表面,但这是以后的问题。我也没有 d(.) 函数的分析形式;我只有它的数据。

4

3 回答 3

1

不确定您打算如何渲染 3 个变量的标量函数的表面,除非可能使用剖切面或类似的东西。Mayavi(实际上是支持 Mayavi 的VTK)通过 支持高效的 Delaunay 三角剖分enthought.mayavi.mlab.pipeline.delaunay3d,这是griddata3. 查看他们发布的 2D 示例delaunay3d代码,只需添加一维(并改用)。我不知道有一种方法可以显式获取用于渲染表面的插值,但可能有一种方法可以通过 Mayavi 对其进行采样,您可以浏览文档或在 Enthought 邮件列表中询问。

或者,NCAR natgrid库中的 C 函数之一可能很有用,即dsgrid3d。有一个部分包装器作为matplotlib 工具包实现。

于 2010-01-03T10:57:03.663 回答
1

SciPy 0.9(目前,第一个测试版已经发布)有一个新的griddata函数,可以处理 N 维数据。

于 2011-01-12T09:28:35.600 回答
0

我不熟悉 griddata3,但您可能想查看meshgrid和这个相关的帖子

于 2009-12-29T05:19:04.150 回答