program particle_in_box_animate integer pgopen write(*,*)'What is initial vx?' read(*,*) vx write(*,*)'What is initial vy?' read(*,*) vy x_range = 10.0 y_range = 10.0 x = 5.0 y = 5.0 if( pgopen('/xwin') <= 0 ) stop c call pgenv(0.0,x_range,0.0,y_range,0,-1) call pgenv(-0.15,x_range+0.15,-0.15,y_range+0.15,0,-1) call pgsfs(2) dt = 0.00001 do i =1, 1000000 if(x>x_range) vx = (-1)*vx if(x<0.0) vx = (-1)*vx if(y>y_range) vy = (-1)*vy if(y<0.0) vy = (-1)*vy x = x + vx * dt y = y + vy * dt call pgbbuf call pgsci(0) call pgcirc(x_old,y_old,0.1) call pgsci(1) call pgcirc(x,y,0.1) call pgebuf x_old = x y_old = y enddo call pgclos end