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
[#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)