(* * LANGUAGE : ANS Forth * PROJECT : Forth Environments * DESCRIPTION : Julia Fractal of z^2+c; Monte Carlo approach * CATEGORY : Graphic example * AUTHOR : Marcel Hendrix * LAST CHANGE : April 8, 1994, Marcel Hendrix *) NEEDS -miscutil NEEDS -graphics REVISION -juliaf5 "ÄÄÄ Julia Fractal z^2+c Version 1.01 ÄÄÄ" PRIVATES DOC (* Julia Fractal described by mu*z+(1-mu)*z^2 with given eigenvalue. *) ENDDOC 0.33e FVALUE Aa -0.22e FVALUE Bb Red VALUE pcol PRIVATE -- Parameters 1.03e FVALUE Rr PI 8e F* 5e F/ FVALUE Phi 1.2e FVALUE Del : COMPUTE 1 LOCAL Kk 0e FLOCAL Rr TEXTMODE? DUP >R IF GRAPHICS ENDIF GCLEAR PUT! -2e -1.5e 2e 1.5e 0 0 Xmax Ymax SET-GWINDOW 0.5e TO PenX 0.44e TO PenY BEGIN Kk #10000 < WHILE PenX Aa F- F2/ ( x1) PenY Bb F- F2/ ( y1) F2DUP FSQR FSWAP FSQR F+ FSQRT TO Rr FOVER Rr F+ FSQRT TO PenX Rr FROT F- FSQRT TO PenY F0< IF PenY FNEGATE TO PenY ENDIF 2 CHOOSE IF PenX FNEGATE TO PenX PenY FNEGATE TO PenY ENDIF Kk #32 > IF pcol PLOT-POINT ENDIF 1 +TO Kk REPEAT R> IF TEXT ENDIF ; : COMPUTING 0.33e TO Aa -0.22e TO Bb BEGIN 1 FCHOOSE 0.5e F- 0.1e F* +TO Aa 1 FCHOOSE 0.5e F- 0.1e F* +TO Bb white CHOOSE TO pcol COMPUTE EKEY? UNTIL ; :ABOUT CR ." Type COMPUTE or COMPUTING for a Julia fractal." CR ." -1.754878e TO Aa 0e TO Bb COMPUTE " CR ." -1.543689e TO Aa 0e TO Bb COMPUTE " CR ." 5e 4e F/ TO Aa 0e TO Bb COMPUTE " CR ." -1e TO Aa 0e TO Bb COMPUTE " CR ." -0.75e TO Aa 0e TO Bb COMPUTE " CR ." 0.25e TO Aa 0e TO Bb COMPUTE " CR ." 0.3e TO Aa 0e TO Bb COMPUTE " CR ." -0.122561e TO Aa 0.744862e TO Bb COMPUTE " CR ." -0.101096e TO Aa 0.956287e TO Bb COMPUTE " CR ." 0.11e TO Aa 0.67e TO Bb COMPUTE " CR ." 0.25e TO Aa 0.25e TO Bb COMPUTE " CR ." -0.318472e TO Aa 0.041257e TO Bb COMPUTE " ; .ABOUT -juliaf5 CR DEPRIVE (* End of Source *)