亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么嘗試使用 Line3D 對象時 matplotlib 3d 動畫不起作用

為什么嘗試使用 Line3D 對象時 matplotlib 3d 動畫不起作用

慕田峪4524236 2023-10-26 14:20:45
我有這個代碼:import matplotlib.pyplot as plt import mpl_toolkits.mplot3d.axes3d as plt3dimport mpl_toolkits.mplot3d.art3d as artplt3dimport matplotlib.animation as animationimport numpy as npimport math def animateBeta():    def translate(segment_, xTr_, yTr_, zTr_):        translationMatrix = np.array([            [1, 0, xTr_],            [0, 1, yTr_],            [0, 0, zTr_]        ])        return np.matmul(translationMatrix, segment_)    def rotate(vec_, xRotate_, yRotate_, zRotate_):        xMat = np.array([            [1,0,0],            [0,math.cos(xRotate_), -math.sin(xRotate_)],            [0, math.sin(xRotate_), math.cos(xRotate_)]        ])        yMat = np.array([            [math.cos(yRotate_), 0, math.sin(yRotate_)],            [0, 1, 0],            [-math.sin(yRotate_), 0, math.cos(yRotate_)]        ])        zMat = np.array([            [math.cos(zRotate_), -math.sin(zRotate_), 0],            [math.sin(zRotate_), math.cos(zRotate_), 0],            [0, 0, 1]        ])        rotationMatrix = np.matmul(zMat, np.matmul(yMat, xMat))        return np.matmul(rotationMatrix, vec_)    segment = [        [0,0],        [0,0],        [1, -1]    ]    fig = plt.figure()    ax = plt3d.Axes3D(fig)    line, = ax.plot(segment[0], segment[1], zs=segment[2], color = 'b')    artplt3d.line_2d_to_3d(line)    print(line.__class__)    def animate(i):        s0 = [0,0,1]        s1 = [0,0,-1]        s1 = translate(rotate(translate(s1, -s0[0], -s0[1], -s0[2]), -i*(math.pi/180),0,-i*(math.pi/180)), s0[0], s0[1], s0[2])        segment = np.concatenate((np.reshape(s0, (3,-1)),np.reshape(s1, (3,-1))), axis=1)當使用注釋data = ax.plot(segment[0], segment[1], segment[2], color = 'b')行而不是以下兩行時,它可以工作(但我試圖這樣做,以便在頂部繪制新行時不會繪制先前的行)。如果您按原樣使用代碼,則動畫看起來很奇怪。我有一個理論并line_2d_to_3d沒有按預期發揮作用,但我不確定。
查看完整描述

1 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

好吧,我使用的是 ax.plot 而不是plot3D,我的印象是使用 ax.plot 時繪圖更正確



查看完整回答
反對 回復 2023-10-26
  • 1 回答
  • 0 關注
  • 151 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號