Combine gradient with non linear function

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]
		}
	}
}

Mandelbrot set combining a gradient with a non linear function


Follow NextFractal on Facebook