program dragged_fall real xs(4),ys(4),xsold(4),ysold(4),xp(4),yp(4) real xpold(4),ypold(4) xs(1)=0.0 ys(1)=0.1 xs(2)=0.4 ys(2)=0.0 xs(3)=0.0 ys(3)=-0.1 xs(4)=xs(1) ys(4)=ys(1) do i=1,4 xsold(i)=xs(i) ysold(i)=ys(i) enddo x=0.0 y=2.0 xold=x yold=y vx=3.0 vy=0.0 ax=0.0 ay=-9.8 k = 1.0 m = 2.0 if(pgopen('/xwin')<=0)stop call pgenv(0.0,2.0,0.0,2.0,1,0) dt=0.00001 do i=1, 1000000 v = sqrt(vx**2+vy**2) fd = (-1)*k*v ax = (fd/m)*(vx/v) ay = (fd/m)*(vy/v) -9.8 vx = vx + ax*dt vy = vy + ay*dt x = x + vx*dt y = y + vy*dt do j=1,4 xp(j)=xs(j)+x yp(j)=ys(j)+y xpold(j)=xsold(j)+xold ypold(j)=ysold(j)+yold enddo call pgbbuf call pgsci(0) call pgline(4,xpold,ypold) call pgsci(1) call pgline(4,xp,yp) call pgebuf xold=x yold=y enddo call pgclos end