Files
GenPlotting90/lissajous.f90
2026-05-01 01:10:00 +02:00

42 lines
841 B
Fortran

program sinwaves
use genplotting
implicit none
integer foo, c
real phase
call genp_init (0, 'WS/lissajous.scratch')
do foo=1, 22
phase = real(foo) * 0.314159
c = 3 + mod(foo, 2)
call do_lissajous (2000, 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*7 + 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