我意识到NumPy通过Matplotlib有一个griddata,但是有一个griddata3(同样有griddata,但更高的维度)?
换句话说,我有(x,y,z,d(x,y,z))其中(x,y,z)形成不规则网格,d(x,y,z)是标量函数三个变量。我需要使用某种插值生成一组新的(xi,yi,zi)点的d(xi,yi,zi),这种插值可以处理原始(x,y,z)数据的不均匀性。 / p>
最终,(xi,yi,zi,d(xi,yi,zi))数据必须以某种方式呈现为表面,但这对以后来说是一个问题。我也没有d(。)函数的分析形式;我只是有数据。
答案 0 :(得分:1)
不确定如何渲染3个变量的标量函数的表面,除非使用cutplanes或类似的东西。 Mayavi(真正VTK为Mayavi提供支持)通过enthought.mayavi.mlab.pipeline.delaunay3d
支持有效的Delaunay三角剖分,griddata3
是delaunay3d
使用的算法的核心。查看他们发布的the 2D example代码,只需添加一个维度(并使用{{1}}代替)。我不知道如何明确获取用于渲染表面的插值,但可能有一种方法可以通过Mayavi对其进行采样,您可以通过文档挖掘或询问其中一个Enthought邮件列表。
或者,NCAR natgrid库中的C函数之一可能有用,即dsgrid3d。有一个部分包装器实现为matplotlib toolkit。
答案 1 :(得分:1)
答案 2 :(得分:0)