+ lissajous plotter

This commit is contained in:
Tonton Th
2026-05-01 01:10:00 +02:00
parent 03b26558ee
commit 62012286ff
3 changed files with 53 additions and 0 deletions

41
lissajous.f90 Normal file
View File

@@ -0,0 +1,41 @@
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