program sinwaves use genplotting implicit none integer foo, c real phase call genp_init (0, 'WS/lissajous.scratch') do foo=1, 20 phase = real(foo) * 0.314159 c = 3 + mod(foo, 2) call do_lissajous (400, phase, c) enddo call genp_end (0) contains ! --------------------------------------------------------- subroutine do_lissajous (nbpass, phy, col) integer, intent(in) :: nbpass, col real, intent(in) :: phy integer :: idx real :: ridx, x, y do idx=0, nbpass ridx = 6.28318 * (real(idx) / real(nbpass)) x = sin(ridx + phy) y = cos(ridx*3) if (idx .eq. 0) then call genp_move(x, y) else call genp_draw(x, y, col) endif enddo end subroutine ! --------------------------------------------------------- end program