+ lissajous plotter
This commit is contained in:
41
lissajous.f90
Normal file
41
lissajous.f90
Normal 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
|
||||
Reference in New Issue
Block a user