fortran66のブログ

fortran について書きます。

昔なつかしいロジスティック関数によるカオス図形。拡大してゆくと、同じような形がどこまでもどこまでも現れます*1

PROGRAM chaos
USE uhoplot 
IMPLICIT NONE
INTEGER, PARAMETER :: nx = 640, ny = 480, niter = 150
INTEGER :: iter, ix, iy
REAL(8), PARAMETER :: rmin = 1.5d0, rmax = 3.0d0, pmin = 0.0d0, pmax = 1.5d0 
REAL(8) :: p, r, x
PRINT *, 'Plot Chaos'
CALL gr_on('Chaos', nx, ny)
DO ix = 0, nx - 1
 x = REAL(ix, KIND = 8)
 r = (rmax - rmin) * x / nx + rmin
 p = 0.3d0 
 DO iter = 1, 50
  p = p + r * p * (1.0d0 - p)
 END DO
 DO iter = 51, niter
  IF (p > pmin .AND. p < pmax) THEN
   iy = INT( ( p - pmin ) * ny / ( pmax - pmin ) )
   CALL gr_dot(ix, iy, irgb(125, 0, 0))
  END IF
  p = p + r * p * (1.0d0 - p)
 END DO
 CALL gr_show()
END DO
CALL gr_off()
STOP
END PROGRAM chaos 


ウィンドウズ用グラフィックモジュールの名前なんですが、uhoplot(うほっプロット)とabe3plot(阿部さんプロット)とどちらがいいですかね?

*1:拡大にあわせて反復回数niterを増やす必要があります。