from visual import * L=10.0 k=0.5 F=0.5 alpha=2.0/3.0 def force(angle,angvel,t): result=-sin(angle)-k*angvel+F*sin(alpha*t) return result ball=sphere(angle=1.0,angvel=0.0, color=color.red) dt=0.01 t=0 while (1) : rate(300) t=t+dt # leapfrog alg. a1=force(ball.angle,ball.angvel,t) ball.angle=ball.angle+ball.angvel*dt+a1*0.5*dt*dt a2=force(ball.angle,ball.angvel,t) ball.angvel=ball.angvel+(a1+a2)*dt*0.5