我想生成這樣的情節,除了有更多的粒子。 Matplotlib可悲地不足。繪製python生成的大量堆積球體 - mayavi? paraview和pyevtk?如何將.npy轉換爲.vtk?
現在我使用Mayavi的在Python 3.5通過jupyter筆記本上運行。因爲我需要繪製5×10^5個球體,所以它不會實用,因爲時間已經是2×10^4個球體的限制因素。
這裏是我的python代碼來產生mayavi情節。我有一個numpy的值數組[a,r,x,y,z]。這與問題的第一個數量無關。
"""VISUALIZATION WITH MAYAVI"""
#I think this is too slow to be practical.
#view particles with mayavi
import mayavi
from mayavi import mlab
%gui qt
def plot_sphere(p): #feed it p and get back a sphere \n",
t1,R,a,b,c = p
[phi,theta] = np.mgrid[0:2*np.pi:12j,0:np.pi:12j] #increase the numbers before j for better resolution but more time
x = R*np.cos(phi)*np.sin(theta) + a
y = R*np.sin(phi)*np.sin(theta) + b
z = R*np.cos(theta) + c
return mlab.mesh(x, y, z)
#run s over all particles and plot it
def view(particles):
for p in particles:
plot_sphere(p)
view(spheres)
此代碼生成曲線是這樣的:
有人告訴我,我應該考慮寫我numpy的陣列使用evtk到.vtk文件,然後在paraview包可視化這些。我下載了paraview並閱讀this,但也許我的版本的python限制了我?首先,安裝pyevtk--好吧: 我試過conda install -c opengeostat pyevtk = 1.0.0,但由於與我的python版本不兼容而失敗。我尋找細節,但找不到任何。
接下來我下載了資源庫[這裏] [https://pypi.python.org/pypi/PyEVTK/1.0.0],然後用pip成功安裝它。
接下來我把evtk.py,vtk.py,hl.py和xml.py,並試圖在存儲庫中的一些例子 - 他們都沒有工作。看起來有一些問題
from .vtk import *
鍵入命令。我試圖用
from evtk import vtk
from vtk import *
替換所有這些在.py文件中,但沒有運氣。長話短說,我無法讓pyevtk工作將我的numpy數組導出爲.vtk文件。我可以在這方面使用一些幫助,或者更好,但我會喜歡不同的選項,以獲得由paraview呈現的我的numpy數組。任何幫助表示讚賞!