Birth of the Sunhttp://www.fractalforums.com/index.php?action=gallery;sa=view;id=16308public override void Init() { base.Init();if(GetString("intern.Formula.TempUpdateVal")!="ffdb515bb997ab4ee422ff2e3c1c9fad"){SetParameterBulk("<Entry Key='Border.Max.x' Value='-0.142337030837344' /><Entry Key='Border.Max.y' Value='-0.621846227377711' /><Entry Key='Border.Max.z' Value='-0.145886679609661' /><Entry Key='Border.Min.x' Value='-0.142341333831193' /><Entry Key='Border.Min.y' Value='-0.621850530371559' /><Entry Key='Border.Min.z' Value='-0.145890982603509' /><Entry Key='Formula.Static.Cycles' Value='275' /><Entry Key='Formula.Static.Formula' Value='-1' /><Entry Key='Formula.Static.jx' Value='0' /><Entry Key='Formula.Static.jy' Value='0' /><Entry Key='Formula.Static.jz' Value='0' /><Entry Key='Formula.Static.jzz' Value='0' /><Entry Key='Formula.Static.MinCycle' Value='0' /><Entry Key='Transformation.Camera.AngleX' Value='10' /><Entry Key='Transformation.Camera.AngleY' Value='0' /><Entry Key='Transformation.Camera.AngleZ' Value='26' /><Entry Key='Transformation.Perspective.Cameraposition' Value='1' /><Entry Key='Transformation.Stereo.Angle' Value='-9' /><Entry Key='Transformation.Stereo.EyeDistance' Value='0.5' /><Entry Key='View.Height' Value='1200' /><Entry Key='View.Perspective' Value='0' /><Entry Key='View.Width' Value='1200' /><Entry Key='intern.Formula.TempUpdateVal' Value='ffdb515bb997ab4ee422ff2e3c1c9fad' />");} additionalPointInfo=new AdditionalPointInfo(); gr1=GetDouble("Formula.Static.Cycles"); int tempGr=(int)gr1; gr1=gr1- tempGr; gr1=1-gr1; gr1*=2.4;}double gr1=0;public override long InSet(double ar, double ai, double aj, double br, double bi, double bj, double bk, long zkl, bool invers) { double aar, aai, aaj; long tw; int n; int pow = 8; double gr =Math.Pow(10,gr1)+1.0; double theta, phi; double r_n = 0; aar = ar * ar; aai = ai * ai; aaj = aj * aj; tw = 0L; double r = Math.Sqrt(aar + aai + aaj); double phi_pow,theta_pow,sin_theta_pow,rn_sin_theta_pow; additionalPointInfo.red=0; additionalPointInfo.green=0; additionalPointInfo.blue=0; for (n = 1; n < zkl; n++) { theta = Math.Atan2(Math.Sqrt(aar + aai), aj); phi = Math.Atan2(ai, ar); r_n = Math.Pow(r, pow); phi_pow=phi*pow; theta_pow=theta*pow; sin_theta_pow=Math.Sin(theta_pow); rn_sin_theta_pow=r_n* sin_theta_pow; ar = rn_sin_theta_pow * Math.Cos(phi_pow)+br; ai = rn_sin_theta_pow * Math.Sin(phi_pow)+bi; aj = r_n * Math.Cos(theta_pow)+bj; aar = ar * ar; aai = ai * ai; aaj = aj * aj; r = Math.Sqrt(aar + aai + aaj);if(n>30 && n<50){ additionalPointInfo.red+=aar/r; additionalPointInfo.green+=aai/r; additionalPointInfo.blue+=aaj/r;} if (r > gr) { tw = n; break; } } if (invers) { if (tw == 0) tw = 1; else tw = 0; } return (tw);}