noisepic: first release

This commit is contained in:
tTh 2023-05-07 10:33:43 +02:00
parent 9049534157
commit 5577bd1767
3 changed files with 77 additions and 0 deletions

1
GrafAnim/.gitignore vendored
View File

@ -3,6 +3,7 @@ essai
doubledice doubledice
doublegauss doublegauss
trigofest trigofest
noisepic
*.scratch *.scratch
*.genplot *.genplot

View File

@ -20,6 +20,9 @@ trigofest: trigofest.f90 Makefile vue3axes.o utils_ga.o
gfortran $(GFOPT) $< ../Modules/pixrgb.o ../Modules/spitpgm.o \ gfortran $(GFOPT) $< ../Modules/pixrgb.o ../Modules/spitpgm.o \
utils_ga.o -o $@ utils_ga.o -o $@
noisepic: noisepic.f90 Makefile
gfortran $(GFOPT) $< ../Modules/spitpgm.o -o $@
# ---- modules locaux # ---- modules locaux
usegenplot.o: usegenplot.f90 Makefile usegenplot.o: usegenplot.f90 Makefile

73
GrafAnim/noisepic.f90 Normal file
View File

@ -0,0 +1,73 @@
program noisepic
use spitpgm
implicit none
integer :: numframe = 0
integer :: nbarg
character(len=256) :: arg
nbarg = IARGC()
if (nbarg .GT. 0) then
call GETARG(1, arg)
! write (0, '(A40, A5)') "argument = ", arg
read (arg, *) numframe
endif
call make_noise_pic(numframe)
contains
!-- ------------------------------------------------------------------
subroutine make_noise_pic (value)
integer, intent(in) :: value
integer :: foo
integer, dimension(:,:), allocatable :: pic
character (len=280) :: filename
allocate(pic(320, 240))
pic = 0
call srand(value+34)
foo = irand()
print *, 'val=', value, ' rnd=', foo
call plot_noise_pic(pic, 15000)
write (filename, "(a, i5.5, a)") "", value, ".pgm"
call spit_as_pgm_8(pic, trim(filename))
end subroutine
!-- ------------------------------------------------------------------
subroutine plot_noise_pic(picz, nbre)
integer, dimension(:,:), intent(inout) :: picz
integer, intent(in) :: nbre
integer :: width, height
integer :: quux, ix, iy, iv
width = ubound(picz, 1) ; height = ubound(picz, 2)
! print *, 'sz picz', width, height
do quux=1, nbre
ix = 1 + mod ( irand(), width )
iy = 1 + mod ( irand(), height )
iv = mod ( irand(), 256 )
! print *, ix, iy
picz(ix, iy) = iv
enddo
end subroutine
!-- ------------------------------------------------------------------
end program