At 00:19 24/05/2002, Morgan L. Owens wrote:
4movable{
Oh, that's right; the current (developer) version has 5 user pars. 5movable{ d21=d12=cabs(p1-p2) d31=d13=cabs(p1-p3) d41=d14=cabs(p1-p4) d51=d15=cabs(p1-p5) d32=d23=cabs(p2-p3) d42=d24=cabs(p2-p4) d52=d25=cabs(p2-p5) d43=d34=cabs(p3-p4) d53=d35=cabs(p3-p5) d54=d45=cabs(p4-p5) r1=d12 r2=d21 r3=d31 r4=d41 r5=d51 r1=(d13<r1)*d13+(d13>=r1)*r1 r2=(d23<r2)*d23+(d23>=r2)*r2 r3=(d32<r3)*d32+(d32>=r3)*r3 r4=(d42<r4)*d42+(d42>=r4)*r4 r5=(d52<r5)*d52+(d52>=r5)*r5 r1=(d14<r1)*d14+(d14>=r1)*r1 r2=(d24<r2)*d24+(d24>=r2)*r2 r3=(d34<r3)*d34+(d34>=r3)*r3 r4=(d43<r4)*d43+(d43>=r4)*r4 r5=(d53<r5)*d53+(d53>=r5)*r5 r1=(d15<r1)*d15+(d15>=r1)*r1 r2=(d25<r2)*d25+(d25>=r2)*r2 r3=(d35<r3)*d35+(d35>=r3)*r3 r4=(d45<r4)*d45+(d45>=r4)*r4 r5=(d54<r5)*d54+(d54>=r5)*r5 r1=r1/2 r2=r2/2 r3=r3/2 r4=r4/2 r5=r5/2 d21=d12=d12-r1-r2 d31=d13=d13-r1-r3 d41=d14=d14-r1-r4 d51=d15=d15-r1-r5 d32=d23=d23-r2-r3 d42=d24=d24-r2-r4 d52=d25=d25-r2-r5 d43=d34=d34-r3-r4 d53=d35=d35-r3-r5 d54=d45=d45-r4-r5 g1=(d12*d13*d14*d15>0) g2=(d21*d23*d24*d25>0) g3=(d31*d32*d34*d35>0) g4=(d41*d42*d43*d45>0) g5=(d51*d52*d53*d54>0) if(g1) ma=1,da1=0,da2=d12,da3=d13,da4=d14,da5=d15 elseif(g2) ma=2,da1=d21,da2=0,da3=d23,da4=d24,da5=d25 elseif(g3) ma=3,da1=d31,da2=d32,da3=0,da4=d34,da5=d35 elseif(g4) ma=4,da1=d41,da2=d42,da3=d43,da4=0,da5=d45 elseif(g5) ma=5,da1=d51,da2=d52,da3=d53,da5=d54,da5=0 else ma=0 endif if(g1 && ma!=1) mb=1,db1=0,db2=d12,db3=db3,db4=d14,db5=d15 elseif(g2 && ma!=2) mb=2,db1=d21,db2=0,db3=d23,db4=d24,db5=d25 elseif(g3 && ma!=3) mb=3,db1=d31,db2=d32,db3=0,db4=d34,db5=d35 elseif(g4 && ma!=4) mb=4,db1=d41,db2=d42,db3=d43,db4=0,db5=d45 elseif(g5 && ma!=5) mb=5,db1=d51,db2=d52,db3=d53,db4=d54,db5=0 else mb=0 endif if(ma!=0) if(mb==0) if(ma==1) d=da2 d=(da3<d)*da3+(da3>=d)*d d=(da4<d)*da4+(da4>=d)*d d=(da5<d)*da5+(da5>=d)*d r1=r1+d elseif(ma==2) d=da1 d=(da3<d)*da3+(da3>=d)*d d=(da4<d)*da4+(da4>=d)*d d=(da5<d)*da4+(da5>=d)*d r2=r2+d elseif(ma==3) d=da1 d=(da2<d)*da2+(da2>=d)*d d=(da4<d)*da4+(da4>=d)*d d=(da5<d)*da5+(da5>=d)*d r3=r3+d elseif(ma==4) d=da1 d=(da2<d)*da2+(da2>=d)*d d=(da3<d)*da3+(da3>=d)*d d=(da5<d)*da5+(da5>=d)*d r4=r4+d elseif(ma==5) d=da1 d=(da2<d)*da2+(da2>=d)*d d=(da3<d)*da3+(da3>=d)*d d=(da4<d)*da4+(da4>=d)*d r5=r5+d endif else if((ma==1 && mb==2)||(ma==2 && mb==1)) dab=d12 elseif((ma==1 && mb==3)||(ma==3 && mb==1)) dab=d13 elseif((ma==1 && mb==4)||(ma==4 && mb==1)) dab=d14 elseif((ma==1 && mb==5)||(ma==5 && mb==1)) dab=d15 elseif((ma==2 && mb==3)||(ma==3 && mb==2)) dab=d23 elseif((ma==2 && mb==4)||(ma==4 && mb==2)) dab=d24 elseif((ma==2 && mb==5)||(ma==5 && mb==2)) dab=d25 elseif((ma==3 && mb==4)||(ma==4 && mb==3)) dab=d34 elseif((ma==3 && mb==5)||(ma==5 && mb==3)) dab=d35 elseif((ma==4 && mb==5)||(ma==5 && mb==4)) dab=d45 endif da=db=dab/2 if(ma!=1) da=(da1<da)*da1+(da1>=da)*da endif if(ma!=2) da=(da2<db)*da2+(da2>=da)*da endif if(ma!=3) da=(da3<da)*da3+(da3>=da)*da endif if(ma!=4) da=(da4<da)*da4+(da4>=da)*da endif if(ma!=5) da=(da5<da)*da5+(da5>=da)*da endif if(mb!=1) db=(db1<db)*db1+(db1>=db)*db endif if(mb!=2) db=(db2<db)*db2+(db2>=db)*db endif if(mb!=3) db=(db3<db)*db3+(db3>=db)*db endif if(mb!=4) db=(db4<db)*db4+(db4>=db)*db endif if(mb!=5) db=(db5<db)*db5+(db5>=db)*db endif if(ma==1) r1=r1+da elseif(ma==2) r2=r2+da elseif(ma==3) r3=r3+da elseif(ma==4) r4=r4+da elseif(ma==5) r5=r5+da endif if(mb==1) r1=r1+db elseif(mb==2) r2=r2+db elseif(mb==3) r3=r3+db elseif(mb==4) r4=r4+db elseif(mb==5) r5=r5+db endif endif endif rr1=sqr(r1) rr2=sqr(r2) rr3=sqr(r3) rr4=sqr(r4) rr5=sqr(r5) z=pixel: inside=0 if(|z-p1|<rr1) z=r1*conj(r1/(z-p1))+p1 inside=1 elseif(|z-p2|<rr2) z=r2*conj(r2/(z-p2))+p2 inside=1 elseif(|z-p3|<rr3) z=r3*conj(r3/(z-p3))+p3 inside=1 elseif(|z-p4|<rr4) z=r4*conj(r4/(z-p4))+p4 inside=1 elseif(|z-p5|<rr5) z=r5*conj(r5/(z-p5))+p5 inside=1 endif inside}