fractal { // Set region margins to left=-3.0, bottom=-1.5, right=0.0, top=1.5 // Declare state vector as [x,n] where x and n are built-in variables orbit [<-3.0,-1.5>,<0.0,1.5>] [x,n] { // Iterate for n from 0 to 200 stopping when mod2(x) > 40 loop [0, 200] (mod2(x) > 40) { // Declare orbit equation where x is a state variable and w is current point of region x = x * x + w; } } // Set background color to alpha=1, red=0, green=0, blue=0 color [(1,0,0,0)] { // Create palette with 200 colors and name gradient palette gradient { // Create 100 interpolated colors from FFFFFFFF to FF000000 [#FFFFFFFF > #FF000000, 100]; // Create 100 interpolated colors from FF000000 to FFFFFFFF [#FF000000 > #FFFFFFFF, 100]; } // Initialize variables p and m init { // Create variable p limited to interval [-1,+1] p = sin(mod(x) * 0.22 / pi); // Create variable m limited to interval [0,200] m = 200 * ((1 + p) / 2); } // Apply rule when n > 0 and set opacity to 1.0 rule (n > 0) [1.0] { // Set color to element m - 1 (gradient has 200 colors starting from index 0) gradient[m - 1] } } }