3d 三维标量场与平面的交点

3d 三维标量场与平面的交点,3d,plot,intersection,plane,3d,Plot,Intersection,Plane,我需要绘制三维标量场的切片。例如,我有一个格式为: x1, y1, z1, f1 x2, y2, z2, f2 ... x1,y1,z1,f1 x2,y2,z2,f2 ... 其中fs是标量,x,y,z是坐标(z是最快的坐标)。我想得到这个3D数据和某个平面之间的交点,然后将它们提供给matplotlib。但首先我需要插入数据。。。你能告诉我怎么做吗?可能有一些关于这个主题的链接 如有任何建议,将不胜感激 感谢对于插值,请使用scipy.interpolate中的griddata: 此页面提

我需要绘制三维标量场的切片。例如,我有一个格式为:

x1, y1, z1, f1 x2, y2, z2, f2 ... x1,y1,z1,f1 x2,y2,z2,f2 ... 其中fs是标量,x,y,z是坐标(z是最快的坐标)。我想得到这个3D数据和某个平面之间的交点,然后将它们提供给matplotlib。但首先我需要插入数据。。。你能告诉我怎么做吗?可能有一些关于这个主题的链接

如有任何建议,将不胜感激


感谢

对于插值,请使用scipy.interpolate中的griddata:

此页面提供了一个非常好的示例,函数的签名非常接近您的数据

您仍然必须以某种方式定义平面上要插值数据的点。如果有一个形式为x,y->z的函数来描述平面,则可以使用np.mgrid:

x_值,y_值=np.mgrid[xmin:xmax:100j,ymin:ymax:100j] z_值=平面函数(x_值,y_值)

并将其用作griddata的输入


然而,对于这样的情况,VTK(或Python、TVTK和)可能是更好的选择。具有针对三维数据的优化算法,并可提供可在体积数据中拖动的交互式剖切面。我在程序中使用VTK,它(除其他外)正是这样做的。

您的输入点在常规网格中吗?是的,点在常规网格中