I've been using the orbital color scheme since I discovered how to implement it in ChaosPro, and it's pretty nice. I decided to mess around today, and changed the values I picked out of the iterations.
First, I'm using what I call a "complex triplex" formula type. It runs quite a bit faster than the trig versions, and I just threw in some further optimizations that shaved an extra second off of a small (444x444) zoomed in 10 iteration z^9 bulb.
I was using the values r (the magnitude of x,y and z at the end of an iteration), x, y, and z to assign colors. Well, I decided to simply take the components of the 2 complex numbers after I take them to the nth power, and ended up with a similar, but slightly more interesting color scheme (will put code after image):
z^3:

z^7 4d:

z^9:

r1=sqrt(sqr(sy)+sqr(sz));
// this series for n=11, 13,15,16,17 shaves a bit of time off of calculations (halves time used)
//I just found out that ChaosPro's compiler automatically does this for
// certain powers: 2-10,12,14 so I rewrote the script to cover the powers (up to 17)
// that it didn't aut0matically do it for
if (n==11) {
r3=sqr(sqr(sqr(r1)))*sqr(r1)*r1;
} else if (n==13) {
r3=sqr(sqr(sqr(r1)))*sqr(sqr(r1))*r1;
} else if (n==15) {
r3=sqr(sqr(sqr(r1)))*sqr(sqr(r1))*sqr(r1)*r1;
} else if (n==16) {
r3=sqr(sqr(sqr(sqr(r1))));
} else if (n==17) {
r3=sqr(sqr(sqr(sqr(r1))))*r1;
} else {
r3=r1^n;
}
r3=r3^(-1); // instead of dividing by r3 below, I avoid division by zero errors by taking it to the -1 power here
victor=complex(sx,r1);
bravo=complex(sy,sz);
if (n==11) {
victor=sqr(sqr(sqr(victor)))*sqr(victor)*victor;
} else if (n==13) {
victor=sqr(sqr(sqr(victor)))*sqr(sqr(victor))*victor;
} else if (n==15) {
victor=sqr(sqr(sqr(victor)))*sqr(sqr(victor))*sqr(victor)*victor;
} else if (n==16) {
victor=sqr(sqr(sqr(sqr(victor))));
} else if (n==17) {
victor=sqr(sqr(sqr(sqr(victor))))*victor;
} else {
victor=victor^n;
}
if (n==11) {
bravo=sqr(sqr(sqr(bravo)))*sqr(bravo)*bravo;
} else if (n==13) {
bravo=sqr(sqr(sqr(bravo)))*sqr(sqr(bravo))*bravo;
} else if (n==15) {
bravo=sqr(sqr(sqr(bravo)))*sqr(sqr(bravo))*sqr(bravo)*bravo;
} else if (n==16) {
bravo=sqr(sqr(sqr(sqr(bravo))));
} else if (n==17) {
bravo=sqr(sqr(sqr(sqr(bravo))))*bravo;
} else {
bravo=bravo^n;
}
nx=part_r(victor);
ny=part_i(victor)*part_r(bravo)*r3; // this is the part I would have divided by r3, it's better to multiply and never
nz=part_i(victor)*part_i(bravo)*r3; // get a division by zero error...
if (juliaMode) {
sx=nx+cr;
sy=ny+ci;
sz=nz+cj;
} else {
sx=nx+(pixelr);
if (absmode) {
sy=ny+(pixeli);
} else {
sy=ny+abs(pixeli);
}
sz=nz+(pixelj);
}
if (rXmodeb) {
z=quaternion(real(bravo),imag(bravo),real(victor),imag(victor)); // this is the new method, using components
// before all math is applied to them (the addition of pixel components, plus multiplication by r3)
} else if (rXmodec) {
z=quaternion(sx,sy,sz,0);
r=cabs(z);
z=quaternion(r,sx,sy,sz); // normal orbital coloring method
} else {
z=quaternion(sx,sy,sz,0); // my initial mistake
}
bail=abs(sx)+abs(sy)+abs(sz);