/* mandelbrot.rr */ load("glib")$ /* ctrl("bigfloat",1); */ #define MAG 50.0 #define abs(x) (x < 0.0? -x : x) def mandel() { glib_open(); for (Ar = 0.0; Ar < 5.0 ; Ar += 1.0/MAG) { for (Ai = 0.0; Ai <5.0; Ai += 1.0/MAG) { X = 0.1 ; Y = 0.1; for (I=0; I<200; I++) { D = X*X*X*X+2*Y*Y*X*X+Y*Y*Y*Y; X2 = ((2.0/3.0)*X*X*X*X*X+(4.0/3.0)*Y*Y*X*X*X-(1.0/3.0)*Ar*X*X +((2.0/3.0)*Y*Y*Y*Y-(2.0/3.0)*Ai*Y)*X+(1.0/3.0)*Ar*Y*Y)/D; Y2 = ((2.0/3.0)*Y*X*X*X*X+((4.0/3.0)*Y*Y*Y-(1.0/3.0)*Ai)*X*X +(2.0/3.0)*Ar*Y*X+(2.0/3.0)*Y*Y*Y*Y*Y+(1.0/3.0)*Ai*Y*Y)/D; if (abs(X2) > 30.0 || abs(Y2) > 30.0) { break; } if (I == 199) { glib_putpixel(Ar*MAG,Ai*MAG); } X = X2; Y = Y2; } } } } print("Type in mandel()")$ end$