2015-05-15 51 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/