代码之家  ›  专栏  ›  技术社区  ›  YW P Kwon

如何在Python Mayavi动画可视化中添加/删除3d框?

  •  1
  • YW P Kwon  · 技术社区  · 6 年前

    下面是一个使用 mayavi tvtk

    在时间 t==20 ,我试图添加一个新的绿色框。 visual.box reset_zoom

    如何在不影响相机的情况下随时添加/删除方框? 有没有比使用 ?

    from mayavi import mlab
    from tvtk.tools import visual
    
    fig = mlab.figure(size=(500,500))
    visual.set_viewer(fig)
    
    b1 = visual.box()
    b2 = visual.box(x=4)
    b3 = visual.box(x=-4)
    b1.v = 5.0
    
    mlab.view(azimuth=45, elevation=70, focalpoint=[0, 0, 0], distance=62.0, figure=fig)
    
    @mlab.show
    @mlab.animate(delay=100)
    def anim():
        for i in range(30):
            b1.x = b1.x + b1.v*0.1
            if b1.x > 2.5 or b1.x < -2.5:
                b1.v = -b1.v
    
            if i==20: 
                """ HERE adding a box automatically reset zooming """
                newbox = visual.box(x=2, y=2, z=2, color=(0,1,0))
            yield
    
    anim()
    

    sudden view angle change

    0 回复  |  直到 6 年前
    推荐文章