0

3D スカラー フィールドのスライスをプロットする必要があります。たとえば、次の形式のファイルがあります。

x1、y1、z1、f1
x2、y2、z2、f2
...

ここで、fs はスカラーで、x、y、z は座標です (z は最速の座標です)。この 3D データと平面の間の交点を取得し、それらを matplotlib にフィードしたいと考えています。しかし、最初にデータを補間する必要があります...その方法を教えてください。おそらく、主題に関するいくつかのリンクがあります。

どんな提案でも大歓迎です!

ありがとう

4

1 に答える 1

0

補間には、scipy.interpolate の griddata を使用します。

グリッドデータ

このページには非常に優れた例があり、関数のシグネチャは実際のデータに非常に近いものです。

データを補間したい平面上のポイントをどうにかして定義する必要があります。平面を表す x,y->z 形式の関数がある場合、np.mgrid を使用できます。

x_values, y_values = np.mgrid[xmin:xmax:100j, ymin:ymax:100j] z_values = plane_function(x_values, y_values)

これらを griddata の入力として使用します。

それにもかかわらず、これらのような場合には、おそらく VTK (または Python、TVTK およびMayaVi2の場合) がより適切なオプションです。3D データ用に最適化されたアルゴリズムがあり、ボリューム データをドラッグできるインタラクティブな切断面を提供できます。私は自分のプログラムPyLocatorで VTK を使用しています。これは (とりわけ) まさにこれを行います。

于 2013-01-03T09:41:19.013 に答える