fractal { // Set region margins and declare state vector as [x,n] where x and n are built-in variables orbit [<-3.0,-3.0>,<3.0,3.0>] [x,n] { // Iterate for n from 0 to 200 stopping when abs(im(x)) > 100 loop [0, 200] (abs(im(x)) > 100) { // Precalculate values xr = re(x); xi = im(x); wr = re(w); wi = im(w); ta = cos(xr); tb = sin(xr); tc = exp(+xi); td = exp(-xi); te = 0.5 * ta * (tc + td); tf = 0.5 * tb * (tc - td); zr = wr * te + wi * tf; zi = wi * te - wr * tf; // Set x to complex number zr + zi i x = <zr,zi>; } } // Set background color to alpha=1, red=1, green=1, blue=1 color [(1,0,0,0)] { // Create palette with 200 colors and name gradient palette gradient { [#FFFF0000 > #FFFFFFFF, 10]; [#FFFFFFFF > #FFFFFFFF, 190]; } // Apply rule when n > 0 and set opacity to 1.0 rule (n > 0) [1] { // Set color to element n - 1 of gradient (gradient has 200 colors starting from index 0) gradient[n - 1] } } }