私はmlab.contour3d
プロットから三角化vtkPolyData
を取得しようとしています。 minimal surfacesを適切に三角測量するのが最も速い方法だと思われるので、私はmayavi
を使用しています。私はvtkPolyData
として必要です。なぜなら、.stlファイルとして保存したいからです。ここでmayavi mlab.contour3dプロットをvtkPolyDataに変換してください
は、私のコードのMWEです:
import numpy as np
from mayavi import mlab
def fun(x, y, z):
return np.cos(x) + np.cos(y) + np.cos(z)
x, y, z = np.mgrid[-1:1:100j, -1:1:100j, -1:1:100j]
contour = mlab.contour3d(x, y, z, fun)
mlab.show()
私はmayavi
から、次に取得することは、すでに三角とVTK
(またはtvtk
)を使用して表示される面であるので、vtkPolyData
を得ることが可能であるべきですそこから。しかし、私がこれまでに見つけた唯一の方法は、mlab.savefig(test.obj)
を使用して.objファイルをエクスポートすることです(これは悪いです。mayavi
のUIが開くたびにファイルを保存するために時間がかかるため)。vtkOBJReader
を使用してファイルを再度インポートすると、 vtkPolyData
したいです。
誰かがこれを行うためのより簡単な方法を知っていますか?
編集:私の問題をもう少し明確にするために、私は視覚化からデータにアクセスできます。 mayavi.tools.pipeline.get_vtk_src()
であるが、それはvtkImageData
の形で来る。誰かがそれをvtkPolyData
に変換する方法を知っていれば、それも解決策になります。