NextFractal

Use simple orbit trap

In this example you will learn how use a simple orbit trap to alter the iteration loop.

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] {
		// Declare rectangular orbit trap with center in (0,0) and name rectangle
		trap rectangle [<0,0>] {
			MOVETO(<0,0>);
			LINETO(<0,1>);
			LINETO(<1,1>);
			LINETO(<1,0>);
			LINETO(<0,0>);
		}
		// Iterate for n from 0 to 200 stopping when mod2(x) > 4 or x falls inside trap rectangle
		loop [0, 200] (mod2(x) > 4 | rectangle ? x) {
			// 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 {
			[#FFFF0000 > #FFFFFFFF, 10];
			[#FFFFFFFF > #FFFF0000, 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]
		}
	}
}

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