r1=100 #大圆半径
r2=10 #小圆半径
t=0 #时间变量
circleList=[]
def setup():
size(600,600)
def draw():
global t,circleList
background(200)
translate(width/4,height/2)
noFill()#不给大圆着色
stroke(0)#黑色轮廓
ellipse(0,0,2*r1,2*r1)
#转圈的小圆
fill(255,0,0)#红色
y=r1*sin(t)
x=r1*cos(t)
ellipse(x,y,r2,r2)
circleList.insert(0,y)#在列表的开头插入y
circleList=[y]+circleList[:599]#插500个y
stroke(0,255,0)#绿色
line(x,y,200,y)
fill(0,255,0)
ellipse(200,y,r2,r2)
for i in range(len(circleList)):
ellipse(200+0.5*i,circleList[i],5,5)#i的系数可以改变震动频率
t+=0.05