作业

from matplotlib import pylab
%pylab
%matplotlib notebook
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import matplotlib.animation as animation
from matplotlib.patches import Circle, Rectangle
import matplotlib.lines as mlines
import matplotlib.image as mpimg
fig=plt.figure(figsize=(5,5))
ax=fig.add_subplot(111)
shapes=[]
cc={'a':{'x':0.1,'y':0.2,'r':0.01}}
def setup():
    shapes.clear()
    
    return shapes

def update(frame_index):
    shapes.clear()
    ax.clear()
    r = Rectangle( (0.2,0.2),0.2 ,0.2, 0.3 )
    ax.add_patch(r)
    shapes.append(r)
    e = Rectangle( (0.6,0.2),0.2 ,0.2, 0.3 )
    ax.add_patch(e)
    shapes.append(e)
    
    t = Rectangle( (0.8,0.6),0.2 ,0.2, 0.3 )
    ax.add_patch(t)
    shapes.append(t)
    x = Rectangle( (0.4,0.6),0.2 ,0.2, 0.3 )
    ax.add_patch(x)
    shapes.append(x)
    o = Rectangle( (0,0.6),0.2 ,0.2, 0.3 )
    ax.add_patch(o)
    shapes.append(o)
    l = Rectangle( (0,2,0.8),0.2 ,0.2, 0.3 )
    ax.add_patch(l)
    shapes.append(l)
    if cc['a']['x']<=0.9 and cc['a']['y']<=0.11:
        cc['a']['x']+=0.01
    if cc['a']['x']>=0.9 and cc['a']['y']<=0.9:
        cc['a']['y']+=0.01       
    if cc['a']['y']>=0.9 and cc['a']['x']>=0.1:
        cc['a']['x']+=-0.01
    if cc['a']['x']<=0.11 and cc['a']['y']<=0.92:
        cc['a']['y']+=-0.01
    cx=cc['a']
    c=Circle((cx['x'],cx['y']),radius=cx['r'],facecolor='r',edgecolor='r')
    ax.add_patch(c)
    shapes.append(c)
    
    return shapes


ani = animation.FuncAnimation(fig,update,interval=1,init_func=setup,frames=2000,blit=True)
plt.show()

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值