2017-01-13 25 views
0

私はロボットのリンクをアニメーション化しようとしています。 FuncAnimationはanimate関数を呼び出すことはありません。printステートメントは決して実行されません。どんな助けでも大歓迎です。 マイコード:matplotlib funcAnimationが渡された関数を呼び出さない

joints = np.array([robot_kinematics.getJoints(a[0]) for a in path]) 
# this is [5x9x3] 

fig = plt.figure() 
ax  = fig.add_subplot(111, projection='3d') 
colors = 'brgymcwkk' 
lines = [ax.plot([], [], [])[0] for i,c in enumerate(colors)] 
pt  = ax.plot([], [], [])[0] 


def animate(i,lines,pts): 
    print ('called') 
    for j,line in enumerate(lines): 
     line.set_data(joints[i,j,0:2]) 
     line.set_3d_properties(joints[i,j,2]) 
    pts.set_data(joints[i,:,0:2]) 
    pts.set_3d_properties(joints[i,:,2]) 

    return lines,pts 

a = animation.FuncAnimation(fig, animate, 25, fargs=(lines,pt),interval=50, blit=False)  
plt.show() 
+1

[MCVE]を提供できますか? – ImportanceOfBeingErnest

答えて

0

FuncAnimationによって作成されたオブジェクトが明らかにグローバル変数に割り当てる必要があります。ローカル変数に割り当てられている場合、ここで行ったように、何も起こりません。

関連する問題