2015-05-15 89 views
0

閉合表面我有大組的3D點(200K),該模型,我與PLOT3D格式繪製的對象()的。雖然該程序不會崩潰並仍在運行,但它的運行速度很慢。是否有任何內置的方式可以呈現僅可見的點?或者更好的是,在外部點上創建一個表面?瑪雅從3D點

我已閱讀,加快它的一個方法是建立一個單一的VTK對象與它所有的點,而不是每點一個對象。

x,y,z,_,s = zip(*voxels) 

print len(x) # 180k 
points3d(x, y, z,s,scale_factor=0.8) 
show() 
+0

你可以給你的電流源代碼的例子嗎? – jrsm

+0

我把我認爲是相關的 – chris

回答

0

嗯,這可能是一個解決方案,這取決於你的數據是什麼樣子。
你可以計算出你的觀點的複雜船體設置即:

import numpy as np 

from mayavi import mlab 
from scipy.spatial import ConvexHull 

x = np.random.rand(200000) 
y = np.random.rand(200000) 
z = np.random.rand(200000) 
points = np.column_stack((x, y, z)) 

ch = ConvexHull(points) 
hull_ids = ch.vertices 

mlab.points3d(x[hull_ids], y[hull_ids], z[hull_ids]) 
mlab.show() 

另一種方法是,計算使用德勞內功能的字母形狀。這是很好的解釋在這裏例如: http://sgillies.net/blog/1155/the-fading-shape-of-alpha/