Files
GenPlotting90/lissajous.f90
2026-05-05 04:17:46 +02:00

42 lines
838 B
Fortran

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