program circ_breathe_n_waltz integer pgopen if( pgopen('/xwin') <= 0 ) stop xmin=-2.0 xmax= 2.0 ymin=-2.0 ymax= 2.0 call pgenv(xmin,xmax,ymin,ymax,1,-1) x=0.0 y=0.0 dtheta = 2*3.14159/36000 theta = 0.0 rold = 1.0 c define initial x_old like r_old XOLD = X YOLD = y call pgsfs(2) do i=1,500000 theta = theta + dtheta r = 1.0 + 0.25*sin(theta) X = 0.7*COS(THETA) Y = 0.7*SIN(THETA) call pgbbuf call pgsci(0) c call pgcirc(x,y,rold) call pgcirc(XOLD,YOLD,rold) call pgsci(1) call pgcirc(x,y,r) call pgebuf rold = r XOLD = X YOLD = Y end do call pgclos end