0

我正在尝试使用 Mayavi 的流函数准确地可视化一些 CFD 数据。我有六个 100x100x100 阵列(X、Y、Z、U、V、W),与被分析粒子的位置和速度有关。这些是使用 numpy.meshgrid 从单列数组创建的。

当我输入三个数组(例如 U、V 和 W)时,绘图效果很好,但在这种情况下,可视化缺少其余数据。在此处输入图像描述

当我输入所有六个数组时,3D 图显示为一条直线。

在此处输入图像描述

我的问题是:如何输入所有六个数组并获得工作流图?更具体地说,有人可以解释以下内容,摘自Flow 文档吗?

“假设箭头的位置是 (u, v, w) 数组中对应点的索引。”

4

1 回答 1

0

Flow 文档内容如下:

x、y 和 z 数组应该是由 numpy.mgrid 生成的......

因此,为了使用六个输入数组使用 Flow 函数成功绘图,必须使用创建前三个numpy.mgrid

X、Y 和 Z 已经指定为一维数组,我的代码如下所示:

Xgrid, Ygrid, Zgrid = np.mgrid[X[1]:X[-1]:50j,Y[1]:Y[-1]:50j,Z[1]:Z[-1]:50j]

注意:numpy.mgrid不同于numpy.meshgrid.

于 2013-11-11T08:43:32.267 回答