program fly_drag_anim real m,k 1000 write(*,*)'k=?' read(*,*)k write(*,*)'m=?' read(*,*)m write(*,*)'vx?' read(*,*)vx write(*,*)'vy?' read(*,*)vy idummy=pgopen('/xwin') call pgenv(0.0,10.0,0.0,10.0,1,0) dt=0.00001 y=1.0 x=0.0 ax=0 ay=-9.8 r=0.2 xold=x yold=y do while (y>0) v=sqrt(vx**2+vy**2) Fd=(-1)*k*v Fdx=Fd*(vx/v) Fdy=Fd*(vy/v) ax=Fdx/m ay=-9.8+Fdy/m vx=vx+ax*dt vy=vy+ay*dt x=x+vx*dt y=y+vy*dt call pgbbuf call pgsci(0) call pgcirc(xold,yold,r) call pgsci(1) call pgcirc(x,y,r) call pgebuf xold=x yold=y end do write(*,*) 'distance=',x,' hight=',y 2000 write(*,*)'again?(1=Yes,0=No)' read(*,*)j if(j==1)goto 1000 if(j.ne.0)goto 2000 c call pgclos end