www.pudn.com > Tierazon-v29.zip > rsxcolor.c


///////////////////////////////////////////////// 
// rsxcolor.c 
///////////////////////////////////////////////// 
// 
// By: stephen c. ferguson 
// http://home1.gte.net/itriazon/ 
// email: itriazon@gte.net 
// 
///////////////////////////////////////////////////// 
/////////////////////////////////////////////////////////////// 
 
#define STRICT 
#define WIN32_LEAN_AND_MEAN 
#include  
#include  
#include "rsx_file.h" 
 
void Generalized_Coloring_Method1() 
{	 
	/* 
	if (px == 1 && py == 1) 
	{ 
		sprintf(cstr, "step 2, x = %f, y=%f, i = %d, rj = %f, gj = %f", 
			x, y, i, rj, gj); 
		MessageBox(NULL, cstr, "bug", MB_OK); 
	} 
	*/ 
   
	temp = fabs(sin(x * x * 100))* 
         fabs(sin(y * y * 100))* 
            100*dFactor_2; 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method2() 
{ 
  temp = fabs(sin(xsav * 50))* 
         fabs(sin(ysav * 50))*100*dFactor_2; 
	rj+=temp; 
	gj+=temp; 
	bj+=(rj+gj)/2; 
 
} 
 
void Generalized_Coloring_Method3() 
{ 
  //temp = fabs(sin(1 + __real__ z * __real__ z * 100))* 
    //     fabs(sin(1 + __imag__ z * __imag__ z * 100))* 
      //      100*dFactor_2; 
 
	//if (magnitude_z() < bailout) 
	//temp = 1/atan(fabs(xsav/ysav))*10*dFactor; 
		 
	temp = atan(1/fabs(xsav/ysav)) 
			-atan(1/fabs(ysav/xsav))*100*dFactor_2; 
		 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method4() 
{ 
	//z.set_real(x); 
	//z.set_imag(y); 
 
	//__real__ z = xsav; 
	//__imag__ z = ysav; 
 
	xsav_ = x; 
	ysav_ = y; 
 
	//temp = atan(fabs(xsav/ysav)) 
		//		-atan(fabs(ysav/xsav))*10*dFactor; 
 
	//if (magnitude_z() < bailout) 
	temp = atan(1/fabs(xsav_/ysav_)) 
			-atan(1/fabs(ysav_/xsav_))*100*dFactor_2; 
		 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method5() 
{ 
	dzx = fabs(xsav); 
	dzy = fabs(ysav); 
 
	//dzx_save = fabs(__real__ c); 
	//dzy_save = fabs(__imag__ c); 
 
	//temp = atan(fabs(dzx/dzy)) 
		//		-atan(fabs(dzy/dzx))*10*dFactor; 
	 
	//if (magnitude_z() < bailout) 
		temp = atan(1/fabs(dzx/dzy)) 
					+atan(1/fabs(dzy/dzx))*100*dFactor_2;		 
	 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
	 
} 
 
void Generalized_Coloring_Method6() 
{ 
	dzx = fabs(xsav); 
	dzy = fabs(ysav); 
 
	//dzx_save = fabs(__real__ c); 
	//dzy_save = fabs(__imag__ c); 
 
	temp = atan(fabs(dzx/dzy))*10*dFactor; 
	 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method7() 
{ 
	dzx = fabs(xsav); 
	dzy = fabs(ysav); 
 
	dzx_save = fabs(x); 
	dzy_save = fabs(y); 
 
	if (xsav * ysav > 0) 
		temp = sin(fabs(dzx*dzy*100+dzx_save*dzy_save*10))*100*dFactor_2; 
	else 
		temp = cos(fabs(dzx*dzy*100+dzx_save*dzy_save*10))*100*dFactor_2; 
		 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
} 
 
void Generalized_Coloring_Method8() 
{ 
	dzx = fabs(xsav); 
	dzy = fabs(ysav); 
 
	temp = 0; 
	if (dzx < dStrands || dzy < dStrands)  
	{ 
		if (dzx < dStrands) 
			temp =  (1 - dzx/dStrands)*100*dFactor_2; 
 
		if (dzy < dStrands) 
			temp += (1 - dzy/dStrands)*100*dFactor_2; 
 
		rj+=temp; 
		gj+=temp; 
		bj+=temp; 
	} 
} 
 
void Generalized_Coloring_Method9() 
{ 
	dzx = fabs(xsav); 
	dzy = fabs(ysav); 
 
	if (dzy > dzx) 
		temp = sin(fabs(dzx*dzx*60))*100*dFactor_2; 
	else 
		temp = sin(fabs(dzy*dzy*60))*100*dFactor_2; 
	 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method10() 
{ 
	dzx = fabs(xsav); 
	dzy = fabs(ysav); 
 
	dzx_save = fabs(x); 
	dzy_save = fabs(y); 
 
	temp=magnitude_z()*cos(fabs(dzx*dzx/dzy*dzy))*1000*dFactor_2; 
	 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method11() 
{ 
	dzx = fabs(xsav); 
	dzy = fabs(ysav); 
 
	dzx_save = fabs(x); 
	dzy_save = fabs(y); 
 
	temp=sin(fabs(dzx*dzx/dzx_save*dzx_save- 
		dzy*dzy/dzy_save*dzy_save)*10)*100*dFactor_2; 
	 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method12() 
{ 
	dzx = fabs(xsav); 
	dzy = fabs(ysav); 
 
	dzx_save = fabs(x); 
	dzy_save = fabs(y); 
 
	temp=cos(fabs(dzx*dzy/dzx_save*dzy_save)*10)*100*dFactor_2; 
	 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method13() 
{ 
	//if (magnitude_c() < bailout) 
		 
	temp = (atan(1/fabs(x/y)) 
				-atan(1/fabs(y/x)))*100*dFactor_2; 
	//else 
		//temp = 0; 
		 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
 
} 
 
void Generalized_Coloring_Method14() 
{ 
	//z.set_real(x); 
	//z.set_imag(y); 
 
	xsav_ = x; 
	ysav_ = y; 
 
	temp = 0; 
	//if (magnitude_z() < bailout) 
 
	temp = atan(fabs(xsav_/ysav_))*200*dFactor_2; 
		 
	rj+=temp; 
	gj+=temp; 
	bj+=temp; 
		 
} 
 
void Generalized_Coloring_Method15() 
{	 
	temp = atan(fabs(x/y)) * 
				 atan(fabs(xsav/ysav)); 
 
	rj+=(temp*200*dFactor_2); 
	gj+=(temp*200*dFactor_2); 
	bj+=(temp*200*dFactor_2); 
 
} 
 
void Generalized_Coloring_Method19() 
{ 
	//c.set_real(x); 
	//c.set_imag(y); 
	//xsav_ = x; 
	//ysav_ = y; 
 
	// magnitude 
	x_size = 4 / (double) maxit; 
	y_size = 4 / (double) maxit; 
		 
	rj += (((fabs(x / x_size) +  
		            fabs(y / y_size)))*dFactor_2); 
	gj += (((fabs(x / x_size) +  
		            fabs(y / y_size)))*dFactor_2); 
	bj += (((fabs(x / x_size) +  
		            fabs(y / y_size)))*dFactor_2); 
		 
} 
 
void Generalized_Coloring_Method20() 
{ 
	//c.set_real(x); 
	//c.set_imag(y); 
 
	//__real__ c = xsav; 
	//__imag__ c = ysav; 
 
	__real__ c = x; 
	__imag__ c = y; 
 
	// Circles 
	x_size = 4 / (double) maxit; 
	y_size = 4 / (double) maxit; 
	 
	__real__ c = (fabs(__real__ c / x_size)); 
	__imag__ c = (fabs(__imag__ c / y_size));	 
//	z = c; 
	 
	xsav_ = (fabs(xsav / x_size)); 
	ysav_ = (fabs(ysav / y_size));	 
	//z = c; 
		 
	rj += ((sqrt(xsav_*xsav_+ysav_*ysav_))*dFactor); 
	rj += ((sqrt(__real__ c*__real__ c+__imag__ c*__imag__ c))*dFactor_2); 
		 
	gj += ((sqrt(xsav_*xsav_+ysav_*ysav_))*dFactor); 
	gj += ((sqrt(__real__ c*__real__ c+__imag__ c*__imag__ c))*dFactor_2); 
 
	bj += ((sqrt(xsav_*xsav_+ysav_*ysav_))*dFactor); 
	bj += ((sqrt(__real__ c*__real__ c+__imag__ c*__imag__ c))*dFactor_2); 
 
} 
 
void Generalized_Coloring_Method21() 
{ 
	//c.set_real(x); 
	//c.set_imag(y); 
 
	//__real__ c = xsav; 
	//__imag__ c = ysav; 
 
	__real__ c = x; 
	__imag__ c = y; 
 
	// Radial 
	deg = x_y_to_degrees(__real__ c, __imag__ c); 
 
	temp = ((double) maxit)/180; 
 
	rj += (temp * deg * dFactor_2); 
	gj += (temp * deg * dFactor_2); 
	bj += (temp * deg * dFactor_2); 
		 
} 
 
void Generalized_Coloring_Method22() 
{ 
	//c.set_real(x); 
	//c.set_imag(y); 
 
	//__real__ c = xsav; 
	//__imag__ c = ysav; 
 
	__real__ c = x; 
	__imag__ c = y; 
 
	// magnitude 
	x_size = 4 / (double) maxit; 
	y_size = 4 / (double) maxit; 
	 
	rj += (((fabs(__real__ c / x_size) +  
		            fabs(__imag__ c / y_size))))*dFactor_2; 
 
	gj += (((fabs(__real__ c / x_size) +  
		            fabs(__imag__ c / y_size))))*dFactor_2; 
 
	bj += (((fabs(__real__ c / x_size) +  
		            fabs(__imag__ c / y_size))))*dFactor_2; 
 
} 
 
void Generalized_Coloring_Method23() 
{ 
	/* 
	// Generalized Coloring Method	 
	rj = (50*dFactor_2*(xsav*ysav)*(double)nRed+(double)nRedStart+ 
		rj*(double)nRed+(double)nRedStart); 
	gj = (50*dFactor_2*(xsav*xsav)*(double)nGrn+(double)nGrnStart+ 
		gj*(double)nGrn+(double)nGrnStart); 
	bj = (50*dFactor_2*(ysav*ysav)*(double)nBlu+(double)nBluStart+ 
		bj*(double)nBlu+(double)nBluStart); 
	*/ 
 
	// Generalized Coloring Method	 
	rj += 500*dFactor_2*(xsav*ysav); 
	gj += 500*dFactor_2*(xsav*xsav); 
	bj += 500*dFactor_2*(ysav*ysav); 
   
} 
 
void Generalized_Coloring_Method24() 
{ 
  //wsprintf (cstr, "step 1"); 
	//MessageBox(NULL, cstr, "Debug", MB_OK); 
 
	__real__ z = xsav; 
	__imag__ z = ysav; 
 
	__real__ c = x; 
	__imag__ c = y; 
 
  //wsprintf (cstr, "step 2"); 
	//MessageBox(NULL, cstr, "Debug", MB_OK); 
 
	//rj += 500*dFactor_2*fabs(sum_sqrs_z()-sum_sqrs_c()); 
	//gj += 500*dFactor_2*fabs(xsav*xsav*2-sum_sqrs_c()); 
	//bj += 500*dFactor_2*fabs(ysav*ysav*2-sum_sqrs_c()); 
 
	gj = (50*dFactor_2*fabs(xsav*xsav*2- 
		sum_sqrs_c())*(double)nGrn+(double)nGrnStart+ 
		gj*(double)nGrn+(double)nGrnStart); 
	bj = (50*dFactor_2*fabs(ysav*ysav*2- 
		sum_sqrs_c())*(double)nBlu+(double)nBluStart+ 
		bj*(double)nBlu+(double)nBluStart); 
	rj = (50*dFactor_2*fabs(sum_sqrs_z()- 
		sum_sqrs_c())*(double)nRed+(double)nRedStart+ 
		rj*(double)nRed+(double)nRedStart); 
 
 
} 
 
void Generalized_Coloring_Method25() 
{ 
	__real__ c = x; 
	__imag__ c = y; 
 
	rj += 2000*dFactor_2*fabs(ysav*__imag__ c); 
	gj += 2000*dFactor_2*fabs(xsav*__real__ c); 
	bj += 2000*dFactor_2*fabs(xsav*ysav); 
} 
 
void Generalized_Coloring_Method26() 
{ 
	__real__ c = x; 
	__imag__ c = y; 
 
	rj += 200*dFactor_2*(xsav*ysav-sum_sqrs_c()); 
	gj += 200*dFactor_2*(xsav*xsav-sum_sqrs_c()); 
	bj += 200*dFactor_2*(ysav*ysav-sum_sqrs_c()); 
} 
 
void Generalized_Coloring_Method27() 
{ 
	// Generalized Coloring Method	 
	rj += 2000*dFactor_2*xsav*ysav; 
	gj += 2000*dFactor_2*xsav*xsav; 
	bj += 2000*dFactor_2*ysav*ysav; 
} 
 
void Generalized_Coloring_Method28() 
{ 
	__real__ z = xsav; 
	__imag__ z = ysav; 
 
	__real__ c = x; 
	__imag__ c = y; 
 
	rj += 200*dFactor_2*fabs(sum_sqrs_z()-sum_sqrs_c()); 
	gj += 200*dFactor_2*fabs(xsav*xsav*2-sum_sqrs_c()); 
	bj += 200*dFactor_2*fabs(ysav*ysav*2-sum_sqrs_c()); 
} 
 
void Generalized_Coloring_Method29() 
{ 
	rj += rj*(double)nRed*dFactor_2*10; 
	gj += gj*(double)nGrn*dFactor_2*10; 
	bj += bj*(double)nBlu*dFactor_2*10; 
 
} 
 
void Generalized_Coloring_Method30() 
{ 
	gj += sin(rj)*10*dFactor_2; 
	rj += sin(gj)*10*dFactor_2; 
	bj += sin(bj)*10*dFactor_2; 
} 
 
void Generalized_Coloring_Method31() 
{ 
	// Generalized Coloring Method	 
	bj += 2000*dFactor_2*fabs(xsav*ysav); 
	gj += 2000*dFactor_2*fabs(xsav*xsav); 
	rj += 2000*dFactor_2*fabs(ysav*ysav); 
} 
 
void Generalized_Coloring_Method32() 
{ 
	// Generalized Coloring Method	 
	bj += 2000*dFactor_2*fabs(xsav*ysav); 
	rj += 2000*dFactor_2*fabs(xsav*xsav); 
	gj += 2000*dFactor_2*fabs(ysav*ysav); 
} 
 
void Generalized_Coloring_Method33() 
{ 
	// Generalized Coloring Method	 
	rj += 1000*dFactor_2*fabs(xsav*ysav); 
	gj += 1000*dFactor_2*fabs(xsav*xsav); 
	bj += 1000*dFactor_2*fabs(ysav*ysav); 
} 
 
void Generalized_Coloring_Method34() 
{ 
	rj += sin(rj)*dFactor_2*10; 
	gj += cos(gj)*dFactor_2*10; 
	bj += cos(bj)*dFactor_2*10; 
				 
} 
 
void Generalized_Coloring_Method35() 
{ 
	rj += sin(rj*rj)*dFactor_2*10; 
	gj += sin(gj*gj)*dFactor_2*10; 
	bj += sin(bj*bj)*dFactor_2*10; 
} 
 
void Generalized_Coloring_Method36() 
{ 
	__real__ z = xsav; 
	__imag__ z = ysav; 
	 
	rj += 2000*dFactor_2*(cos(fabs(xsav*xsav))); 
	gj += 2000*dFactor_2*(cos(fabs(xsav*ysav))); 
	bj += 2000*dFactor_2*(cos(sum_sqrs_z()));						 
} 
 
void Generalized_Coloring_Method37() 
{ 
	__real__ z = xsav; 
	__imag__ z = ysav; 
 
	rj += 2000*dFactor_2*(cos(sum_sqrs_z())); 
	gj += 2000*dFactor_2*(sin(fabs(xsav*ysav))); 
	bj += 2000*dFactor_2*(cos(fabs(ysav*xsav))); 
} 
 
void Generalized_Coloring_Method38() 
{ 
	rj += 500*dFactor_2*(fabs(atan(xsav/ysav))); 
	gj += 500*dFactor_2*(fabs(atan(xsav/ysav))); 
	bj += 500*dFactor_2*(fabs(atan(ysav/xsav)));					 
} 
 
void Generalized_Coloring_Method39() 
{ 
	rj += 500*dFactor_2*(fabs(xsav*xsav)); 
	gj += 500*dFactor_2*(fabs(xsav*xsav)); 
	bj += 500*dFactor_2*(fabs(ysav*ysav)); 
					 
} 
 
/////////////////////////////////////////////// 
/////////////////////////////////////////////// 
 
double x_y_to_degrees(double x_, double y_) 
{ 
	double a; 
 
	if (x_ >= 0 && y_ >= 0) 
		a = atan(y_/x_);				// Q0 
	else 
	if (x_ < 0 && y_ >= 0) 
		a = atan(y_/x_)+pi;			// Q1 
	else 
	if (x_ < 0 && y_ < 0)		 
		a = atan(y_/x_)+pi;			// Q3 
	else 
		a = atan(y_/x_)+2*pi;		// Q4 
 
	return a*rad; 
}