home *** CD-ROM | disk | FTP | other *** search
- comment {
-
- Special calculation formulas developed by Kerry Mitchell
-
- Note! These are experimental, beta tests, highly specialized,
- or worse. Not for the faint of heart or new to UF. In general,
- there's little to no support or documentation. In short, you're
- on your own.
-
- Have fun! :-)
- }
-
-
- aug01-transcendental-mandelbrot2 {
- complex c;
- parameter complex manparam;
- parameter int functype;
- bool done;
- real r;
- parameter real bailout;
-
- void init(void)
- {
- c=pixel;
- if ((cabs(manparam)==0.0))
- {
- if ((functype==1))
- {// exp(z)*c
- z=0;
- }
- else if ((functype==2))
- {// sin(z)+c
- z=c+1;
- }
- else if ((functype==3))
- {// sin(z)*c
- z=c;
- }
- else if ((functype==4))
- {// cos(z)+c
- z=c+1;
- }
- else if ((functype==5))
- {// cos(z)*c
- z=c;
- }
- else if ((functype==6))
- {// tan(z)+c
- z=c+(0,1);
- }
- else if ((functype==7))
- {// tan(z)*c
- z=c*(0,1);
- }
- else
- {
- // exp(z)+c
- z=c;
- }
- }
- else
- {
-
- z=manparam;
- }
- done=false;
- r=0.0;
- }
- void loop(void)
- {
- if ((functype==1))
- {// exp(z)*c
- z=exp(z)*c;
- r=real(z);
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==2))
- {// sin(z)+c
- z=sin(z)+c;
- r=abs(imag(z));
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==3))
- {// sin(z)*c
- z=sin(z)*c;
- r=abs(imag(z));
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==4))
- {// cos(z)+c
- z=cos(z)+c;
- r=abs(imag(z));
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==5))
- {// cos(z)*c
- z=cos(z)*c;
- r=abs(imag(z));
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==6))
- {// tan(z)+c
- z=tan(z)+c;
- r=cabs(z);
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==7))
- {// tan(z)*c
- z=tan(z)*c;
- r=cabs(z);
- if ((r>bailout))
- {
- done=true;
- }
- }
- else
- {
- // exp(z)+c
- z=exp(z)+c;
- r=real(z);
- if ((r>bailout))
- {
- done=true;
- }
- }
- }
- bool bailout(void)
- {
- return(done==false);
- }
- void description(void)
- {
- this.title="Transcendental Mandelbrot2";
- this.maxiter=100;
- this.center=(0,0);
- this.magn=0.25;
- this.periodicity=0;
- this.method="multipass";
-
- manparam.caption="initial z";
- manparam.default=(0,0);
- manparam.hint="Use (0,0) for critical point.";
-
-
- bailout.caption="bailout";
- bailout.default=16.0;
- bailout.min=0.0;
-
-
- functype.caption="function type";
- functype.default=0;
- functype.enum="exp(z)+c\nexp(z)*c\nsin(z)+c\nsin(z)*c\ncos(z)+c\ncos(z)*c\ntan(z)+c\ntan(z)*c";
-
-
-
-
-
-
- }
- }
-
-
- aug01-transcendental-julia2 {
- complex c;
- parameter complex julparam;
- bool done;
- real r;
- parameter int functype;
- parameter real bailout;
-
- void init(void)
- {
- z=pixel;
- c=julparam;
- done=false;
- r=0.0;
- }
- void loop(void)
- {
- if ((functype==1))
- {// exp(z)*c
- z=exp(z)*c;
- r=real(z);
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==2))
- {// sin(z)+c
- z=sin(z)+c;
- r=abs(imag(z));
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==3))
- {// sin(z)*c
- z=sin(z)*c;
- r=abs(imag(z));
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==4))
- {// cos(z)+c
- z=cos(z)+c;
- r=abs(imag(z));
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==5))
- {// cos(z)*c
- z=cos(z)*c;
- r=abs(imag(z));
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==6))
- {// tan(z)+c
- z=tan(z)+c;
- r=cabs(z);
- if ((r>bailout))
- {
- done=true;
- }
- }
- else if ((functype==7))
- {// tan(z)*c
- z=tan(z)*c;
- r=cabs(z);
- if ((r>bailout))
- {
- done=true;
- }
- }
- else
- {
- // exp(z)+c
- z=exp(z)+c;
- r=real(z);
- if ((r>bailout))
- {
- done=true;
- }
- }
- }
- bool bailout(void)
- {
- return(done==false);
- }
- void description(void)
- {
- this.title="Transcendental Julia2";
- this.maxiter=100;
- this.center=(0,0);
- this.magn=0.25;
- this.periodicity=0;
- this.method="multipass";
-
- julparam.caption="Julia parameter";
- julparam.default=(1,1);
-
-
- bailout.caption="bailout";
- bailout.default=16.0;
- bailout.min=0.0;
-
-
- functype.caption="function type";
- functype.default=0;
- functype.enum="exp(z)+c\nexp(z)*c\nsin(z)+c\nsin(z)*c\ncos(z)+c\ncos(z)*c\ntan(z)+c\ntan(z)*c";
-
-
-
-
-
- }
- }
-
-
-