我试图动画的顶点环在流体中的演变。这些数据只是一个数组,其中包含粒子的x,y,z信息,然后这些粒子就形成了环。为了使它们形象化,我使用mayavi并在每个时间点绘制当前位置。当尝试将所有位置动画化为“电影”时,就会出现问题。我只是用mlab.point3D点在阵列中循环,使每个环都有自己的颜色,如下面的示例所示:
N = 0
for i in range(0,N_rings):
fig = mlab.points3d(res_alpha[0,N:N + ring[i].N_p - 1,0,0], res_alpha[0,N:N + ring[i].N_p - 1,1,0], res_alpha[0,N:N + ring[i].N_p - 1,2,0], scale_factor=0.1, color = ring[i].color)
N = N + ring[i].N_p
如何在动画功能中执行相同的操作? 我试着用图mlab\ U源设置好了,但我没用。我想它想一次得到所有的信息,但我怎么保持颜色呢?有什么建议吗?你知道吗
编辑: 我想说得更清楚一点,这是我的意思的一个可行的例子
import numpy as np
from mayavi import mlab
pointsx = [5,5,5]
pointsy = [0,5,10]
z = np.linspace(0, 10, 3)
y = np.linspace(0, 10, 100)
xv, pointsz = np.meshgrid(z, y)
colors = [(1,0,0),(0,1,0),(0,0,1)]
N = 0
"""
N = 0
for i in range(0,3):
mlab.points3d(pointsx[N], pointsy[N], pointsz[0], scale_factor=0.1, color = colors[i])
N = N + 1"""
fig = mlab.points3d(pointsx, pointsy, pointsz[0], scale_factor=0.1, color = (1,0,0))
mlab.axes(extent=[0,10,0,10,0,10])
@mlab.animate(delay=1000, ui=True)
def anim():
for i in range(0,100):
fig.mlab_source.set(x=pointsx, y=pointsy, z=pointsz[i])
yield
anim()
mlab.show()
它使三个点在一个方向上移动。我怎样才能使它们有不同的颜色?注释掉的代码块是我用来制作不同颜色的单个绘图的,但在动画中不起作用。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐