home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / work / txt / Feigenbaum.mod < prev    next >
Text File  |  1993-02-26  |  977b  |  54 lines

  1. |##########|
  2. |#MAGIC   #|BNDLOMCM
  3. |#PROJECT #|"Feigenbaum"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x--x-----x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|x----x----------
  9. |##########|
  10. MODULE Feigenbaum;
  11.  
  12. (* $V- $R- $S- $N- *)
  13.  
  14. FROM GfxScreen IMPORT Screen,OpenScreen,Palette,SetPalette;
  15. FROM GfxDraw   IMPORT SetAPen,Line,Draw,WritePixel;
  16.  
  17. VAR s : Screen;
  18.  
  19. TYPE REAL=LONGREAL;
  20.  
  21. PROCEDURE CalcFix(r : REAL):REAL;
  22. VAR x : REAL;
  23. BEGIN
  24.   (* $W- *)
  25.   WITH INTEGER AS i DO
  26.     x:=0.5;
  27.     FOR i:=1 TO 200 DO
  28.       x:=r*x*(1.-x);
  29.     END;
  30.     RETURN x;
  31.   END;
  32. END CalcFix;
  33.  
  34. PROCEDURE DrawFix(r : REAL;xx : INTEGER);
  35. VAR i : INTEGER;
  36.     x : REAL;
  37. BEGIN
  38.   x:=CalcFix(r);
  39.   FOR i:=1 TO 400 DO
  40.     x:=r*x*(1.-x);
  41.     WritePixel(s,xx,INTEGER(x*256));
  42.   END;
  43. END DrawFix;
  44.  
  45. VAR i : INTEGER;
  46.  
  47. BEGIN
  48.   OpenScreen(s,1,FALSE,FALSE);
  49.   FOR i:=0 TO 319 DO
  50.     DrawFix(REAL(i)*(1.4/320.)+2.6,i);
  51.   END;
  52. END Feigenbaum.
  53.  
  54.