NextFractal

Combine gradient with not linear function

In this example you will learn how to create a Mandelbrot set combining a gradient with a not 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]
		}
	}
}

Execute the script above in NextFractal and you will get the image below:

Create your own fractals

Download NextFractal and start creating your own fractal images. NextFractal is free software, available for Mac, Windows and Linux. The latest release of NextFractal and the source code are available on GitHub.

DOWNLOAD