diff --git a/.gitignore b/.gitignore index b89aea2..19d285e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ !picz/*.png spirale +starfield diff --git a/Makefile b/Makefile index 1a2d8c5..69fbd92 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,11 @@ genplotting.o: genplotting.f90 Makefile # ----------------------------------------------- +starfield: starfield.f90 Makefile genplotting.o + gfortran -Wall $< genplotting.o -o $@ + +# ----------------------------------------------- + spirale: spirale.f90 Makefile genplotting.o gfortran -Wall $< genplotting.o -o $@ diff --git a/starfield.f90 b/starfield.f90 new file mode 100644 index 0000000..f83388d --- /dev/null +++ b/starfield.f90 @@ -0,0 +1,47 @@ +program starfield + use genplotting + implicit none + + write (0, '(A)') "----[ genplotting starfield ]----" + + call genp_init (0, 'starfield.scratch') + call do_starfield (105) + call genp_end (0) + +contains +! --------------------------------------------------------- +subroutine plot_a_star(at_x, at_y, sz, col) + real, intent(in) :: at_x, at_y, sz + integer, intent(in) :: col + integer :: idx + real :: rad, xv, yv + + write(0, '("plot a star ", 2F8.3)') at_x, at_y + call genp_set_offset(at_x, at_y) + + do idx=0, 360, 30 + rad = 0.04 + (real(idx) * (3.14159 / 180)) + xv = sz * sin(rad) ; yv = sz * cos(rad) + call genp_move(0.0, 0.0) + call genp_draw(xv, yv, col) + enddo + +end subroutine +! --------------------------------------------------------- +subroutine do_starfield (nbstar) + integer, intent(in) :: nbstar + + integer idx, color + real px, py, sz + + do idx=0, nbstar + px = (rand(0) * 10.00) - 5.00 + py = (rand(0) * 10.00) - 5.00 + sz = (rand(0) * 0.16) + 0.19 + color = 1 + mod(idx, 7) + call plot_a_star(px, py, sz, color) + end do +end subroutine +! --------------------------------------------------------- +! --------------------------------------------------------- +end program