2022-02-16 00:18:35 +01:00
|
|
|
!
|
|
|
|
! this is the main programm
|
|
|
|
!
|
|
|
|
!-----------------------------------------------------
|
|
|
|
|
|
|
|
program pickover
|
|
|
|
|
|
|
|
use spitpgm
|
2022-03-08 10:36:32 +01:00
|
|
|
use points3d
|
2022-02-16 00:18:35 +01:00
|
|
|
use fraktals
|
|
|
|
|
|
|
|
implicit none
|
|
|
|
|
2022-03-08 10:36:32 +01:00
|
|
|
integer, dimension(800, 600) :: picz
|
|
|
|
integer :: argc
|
|
|
|
character(200) :: filename
|
|
|
|
double precision, dimension(4) :: coefs
|
|
|
|
type(t_point3d), dimension(:), allocatable :: points
|
2022-02-16 00:18:35 +01:00
|
|
|
|
2022-03-08 10:36:32 +01:00
|
|
|
integer :: nbr_points
|
|
|
|
integer :: errcode
|
2022-02-16 00:18:35 +01:00
|
|
|
argc = IARGC()
|
|
|
|
if (1 .NE. argc) then
|
|
|
|
STOP ": PICKOVER NEED A FILENAME !"
|
|
|
|
endif
|
|
|
|
|
|
|
|
call getarg(1, filename)
|
2022-03-08 10:36:32 +01:00
|
|
|
write (0, "(A)") " *** Pickover -> "//trim(filename)
|
|
|
|
|
|
|
|
nbr_points = 999999
|
|
|
|
allocate(points(nbr_points), stat=errcode)
|
|
|
|
if (0 .NE. errcode) then
|
|
|
|
STOP " : NO ENOUGH MEMORY"
|
|
|
|
endif
|
|
|
|
|
|
|
|
coefs(1) = 2.24 ; coefs(2) = 0.43
|
|
|
|
coefs(3) = -0.65 ; coefs(4) = -2.43
|
2022-02-16 00:18:35 +01:00
|
|
|
|
|
|
|
|
2022-03-08 10:36:32 +01:00
|
|
|
call compute_pickover(points, coefs)
|
|
|
|
call list_points3d(points, 2, 32000)
|
2022-02-16 00:18:35 +01:00
|
|
|
|
|
|
|
end program
|
|
|
|
|
|
|
|
!-----------------------------------------------------
|