我正在尝试使用Mayavi可视化3D图形。
在程序运行期间,图形中的一些节点或边变得不可用,我希望动态地显示它们在可视化场景中变得不可访问。我如何才能做到这一点?
我仍然是python的新手,但是似乎Mayavi场景一旦显示就不能通过程序进行更改。
发布于 2016-05-03 08:07:04
它可以通过许多方式进行更改。您可以添加和删除元素,更改背景和前景颜色,以及动画效果。例如(来自此link):
from __future__ import absolute_import, division, print_function
from mayavi import mlab
import numpy as np
import math
alpha = np.linspace(0, 2*math.pi, 100)
xs = np.cos(alpha)
ys = np.sin(alpha)
zs = np.zeros_like(xs)
mlab.points3d(0,0,0)
plt = mlab.points3d(xs[:1], ys[:1], zs[:1])
@mlab.animate(delay=100)
def anim():
f = mlab.gcf()
while True:
for (x, y, z) in zip(xs, ys, zs):
print('Updating scene...')
plt.mlab_source.set(x=x, y=y, z=z)
yield
anim()
mlab.show()
,将返回一个动画,其中两个球体存在,其中一个球体的位置每一步都会发生变化:
从我的角度来看,Mayavi文档并不是很出色,但您可以从示例和章节中获得一些信息。例如remove an object from Mayavi pipeline。
https://stackoverflow.com/questions/36997651
复制