2
我正在寫一個代碼,通過空間移動的四個字形的可視化。目前mayavi窗口顯示了初始位置,但不會更新到下一個位置。mayavi points3d情節動畫將不會更新下一幀
#Library decleration
import numpy as np
from mayavi.mlab import *
....
#Inputting the intital positions into the storage vector
storage_position[0].append(v_1.theta)
storage_position[1].append(v_1.phi)
#Calculating the rest of the positions using the symmetry given
storage_position = Sym(storage_position)
#Plotting the intitial positions
x_coord = x_trans(storage_position)
y_coord = y_trans(storage_position)
z_coord = z_trans(storage_position)
plt = points3d(x_coord, y_coord, z_coord)
msplt = plt.mlab_source
@mlab.animate(delay=100)
def anim(storage_position, storage_vort, no_vort ,x_coord, y_coord, z_coord):
f = mlab.gcf()
while True:
#for i in range(10):
#Working out the hamiltonian
#Hami(storage_position, storage_vort, 1 - 1, no_vort-1)
transfer_vector = method(storage_position, storage_vort, 1 - 1, no_vort-1)
storage_position[0].append(transfer_vector[0])
storage_position[1].append(transfer_vector[1])
storage_position = Sym(storage_position)
x_coord = x_trans(storage_position)
y_coord = y_trans(storage_position)
z_coord = z_trans(storage_position)
msplt.set(x_coord = x_coord, y_coord = y_coord, z_coord = z_coord)
yield
anim(storage_position, storage_vort, no_vort - 1,x_coord, y_coord, z_coord)
mlab.show()
x_coord等是numpy矢量,它存儲四個字形的x座標。 x_trans等是用每個步驟的新座標更新每個向量的函數。
你能舉一個完整的可執行示例嗎?上面的代碼沒有定義'x_trans'。 –