; DAC number ?4. ; A few additions and discards and ?refinements (I hope) ; ;David C. Sights-2C { init: complex z = (0,0) float x = #x float y = #y float h = #height float w = #width float a = #width/2 float b = #height/2 float ratio = #width/#height float ratio2 = #height/#width complex p = #pixel loop: if @Switch == 0 s = 1 else s = -1 endif if @switchIE == 0 si = 1 else si = -1 endif if @switchME == 0 sm = 1 else sm = -1 endif if @switchOE == 0 so = 1 else so = -1 endif if @switchTR == 0 sr = 1 else sr = -1 endif ;------------------------------------------------------------------------------- if @fractate == 0 ;0 - "Basic" if ((w/2)-x)^2+((h/2)-y)^2 < (@radius0-@border0)^2 ;INSIDE CIRCLE... if (x-0.66*@border0)/y > ratio && (w-x-0.66*@border0)/y > ratio \ && (x < w/2-@border0/2 || x > w/2+@border0/2) ;Top z = -s*@shrink10*@inFn0(z)-flip(p)+@shift10 elseif (x+0.66*@border0)/y < ratio && (w-x+0.66*@border0)/y < ratio \ && (x < w/2-@border0/2 || x > w/2+@border0/2) ;Bottom z = -s*@shrink10*@inFn0(z)+flip(p)+@shift10 elseif x/(y-0.66*@border0) < ratio && (w-x)/(y+0.66*@border0) > ratio \ && (y < h/2-@border0/2 || y > h/2+@border0/2) ;Left z = -s*@shrink10*@inFn0(z)+p+@shift10 elseif x/(y+0.66*@border0) > ratio && (w-x)/(y-0.66*@border0) < ratio \ && (y < h/2-@border0/2 || y > h/2+@border0/2) ;Right z = s*@shrink10*@inFn0(z)+p-@shift10 else z = 1.05*ident(z)+p endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius0)^2 ;OUTSIDE CIRCLE... if x > w/2+@border0/2 if y > h/2+@border0/2 ;BottomRight z = s*@shrink20*@outFn0(z)+p+flip(conj(p)-flip(@shift20))-1.25*@shift20 elseif y < h/2-@border0/2 ;TopRight z = s*@shrink20*@outFn0(z)+p-flip(conj(p)+flip(@shift20))-1.25*@shift20 else z = ident(z)+p endif elseif x < w/2-@border0/2 if y < h/2-@border0/2 ;TopLeft z = s*@shrink20*@outFn0(z)-p-flip(conj(p)+flip(@shift20))-1.25*@shift20 elseif y > h/2+@border0/2 ;BottomLeft z = s*@shrink20*@outFn0(z)-p+flip(conj(p)-flip(@shift20))-1.25*@shift20 else z = ident(z)+p endif endif else z = 1.1*ident(z)+p endif ;------------------------------------------------------------------------------- elseif @fractate == 1 ;1 - "x on +" if ((w/2)-x)^2+((h/2)-y)^2 < (@radius1-@border1/2)^2 ;INSIDE CIRCLE... if (x-0.66*@border1)/y > ratio && (w-x-0.66*@border1)/y > ratio \ && (x < w/2-@border1/2 || x > w/2+@border1/2) ;Top z = -s*@shrink11*@inFn1(z)-flip(p)+@shift11 elseif (x+0.66*@border1)/y < ratio && (w-x+0.66*@border1)/y < ratio \ && (x < w/2-@border1/2 || x > w/2+@border1/2) ;Bottom z = -s*@shrink11*@inFn1(z)+flip(p)+@shift11 elseif x/(y-0.66*@border1) < ratio && (w-x)/(y+0.66*@border1) > ratio \ && (y < h/2-@border1/2 || y > h/2+@border1/2) ;Left z = -s*@shrink11*@inFn1(z)+p+@shift11 elseif x/(y+0.66*@border1) > ratio && (w-x)/(y-0.66*@border1) < ratio \ && (y < h/2-@border1/2 || y > h/2+@border1/2) ;Right z = s*@shrink11*@inFn1(z)+p-@shift11 else z = @bordfn(z)+p endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius1+@border1/2)^2 ;OUTSIDE CIRCLE... if x > w/2+@border1/2 if y > h/2+@border1/2 ;BottomRight z = s*@shrink21*@outFn1(z)+p+ratio2*flip(conj(p)-flip(@shift21))-1.25*@shift21 elseif y < h/2-@border1/2 ;TopRight z = s*@shrink21*@outFn1(z)+p-ratio2*flip(conj(p)+flip(@shift21))-1.25*@shift21 else z = @bordfn(z)+p endif elseif x < w/2-@border1/2 if y < h/2-@border1/2 ;TopLeft z = s*@shrink21*@outFn1(z)-p-ratio2*flip(conj(p)+flip(@shift21))-1.25*@shift21 elseif y > h/2+@border1/2 ;BottomLeft z = s*@shrink21*@outFn1(z)-p+ratio2*flip(conj(p)-flip(@shift21))-1.25*@shift21 else z = @bordfn(z)+p endif else z = @bordfn(z)+p endif else z = @bordfn(z)+p endif ;------------------------------------------------------------------------------- elseif @fractate == 2 ;2 - "+ on x" if ((w/2)-x)^2+((h/2)-y)^2 < (@radius2-@border2/2)^2 ;INSIDE CIRCLE... if x > w/2+1 if y > h/2+1 ;BottomRight z = s*@shrink22*@outFn2(z)+p+ratio*flip(conj(p)-flip(@shift22))-1.25*@shift22 elseif y < h/2-1 ;TopRight z = s*@shrink22*@outFn2(z)+p-ratio*flip(conj(p)+flip(@shift22))-1.25*@shift22 endif elseif x < w/2-1 if y < h/2-1 ;TopLeft z = s*@shrink22*@outFn2(z)-p-ratio*flip(conj(p)+flip(@shift22))-1.25*@shift22 elseif y > h/2+1 ;BottomLeft z = s*@shrink22*@outFn2(z)-p+ratio*flip(conj(p)-flip(@shift22))-1.25*@shift22 endif endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius2+@border2/2)^2 ;OUTSIDE CIRCLE.. if (x-3)*y < ratio2*(x-3)^2 && (w-x-3)*(h-y-3) > x*y ;Top z = -s*@shrink12*@inFn2(z)-flip(p)+@shift12 elseif (x+3)*y > ratio2*(x+3)^2 && (w-x+3)*(h-y+3) < x*y ;Bottom z = -s*@shrink12*@inFn2(z)+flip(p)+@shift12 elseif x*(y+2) < ratio2*x^2 && (w-x)*(h-y+2) < x*y ;Right z = s*@shrink12*@inFn2(z)+p-@shift12 elseif x*(y-2) > ratio2*x^2 && (w-x)*(h-y-2) > x*y ;Left z = -s*@shrink12*@inFn2(z)+p+@shift12 endif else z = @bordfn(z)+p endif elseif @fractate == 3 ;3 - "x on x" if ((w/2)-x)^2+((h/2)-y)^2 < (@radius3-@border3/2)^2 ;INSIDE CIRCLE... if (x-3)*y < ratio2*(x-3)^2 && (w-x-3)*(h-y-3) > x*y ;Top z = -s*@shrink23*@inFn3(z)-flip(p)+@shift23 elseif (x+3)*y > ratio2*(x+3)^2 && (w-x+3)*(h-y+3) < x*y ;Bottom z = -s*@shrink23*@inFn3(z)+flip(p)+@shift23 elseif x*(y+2) < ratio2*x^2 && (w-x)*(h-y+2) < x*y ;Right z = s*@shrink23*@inFn3(z)+p-@shift23 elseif x*(y-2) > ratio2*x^2 && (w-x)*(h-y-2) > x*y ;Left z = -s*@shrink23*@inFn3(z)+p+@shift23 endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius3+@border3/2)^2 ;OUTSIDE CIRCLE.. if (x-3)*y < ratio2*(x-3)^2 && (w-x-3)*(h-y-3) > x*y ;Top z = -s*@shrink13*@inFn3(z)-flip(p)+@shift13 elseif (x+3)*y > ratio2*(x+3)^2 && (w-x+3)*(h-y+3) < x*y ;Bottom z = -s*@shrink13*@inFn3(z)+flip(p)+@shift13 elseif x*(y+3) < ratio2*x^2 && (w-x)*(h-y+3) < x*y ;Right z = s*@shrink13*@inFn3(z)+p-@shift13 elseif x*(y-3) > ratio2*x^2 && (w-x)*(h-y-3) > x*y ;Left z = -s*@shrink13*@inFn3(z)+p+@shift13 endif else z = @bordfn(z)+p endif ;------------------------------------------------------------------------------- elseif @fractate == 4 ;4 "+ on +" if ((w/2)-x)^2+((h/2)-y)^2 < (@radius4-@border4/2)^2 ;INSIDE CIRCLE... if x > w/2+1 if y > h/2+1 ;BottomRight z = s*@shrink24*@inFn4(z)+p+@ratio24*flip(conj(p)-flip(@shift24))-@shift24 elseif y < h/2-1 ;TopRight z = s*@shrink24*@inFn4(z)+p-@ratio24*flip(conj(p)+flip(@shift24))-@shift24 endif elseif x < w/2-1 if y < h/2-1 ;TopLeft z = s*@shrink24*@inFn4(z)-p-@ratio24*flip(conj(p)+flip(@shift24))-@shift24 elseif y > h/2+1 ;BottomLeft z = s*@shrink24*@inFn4(z)-p+@ratio24*flip(conj(p)-flip(@shift24))-@shift24 endif endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius4+@border4/2)^2 ;OUTSIDE CIRCLE.. if x > w/2+1 if y > h/2+1 ;BottomRight z = s*@shrink14*@outFn4(z)+p+@ratio14*flip(conj(p)-flip(@shift14))-1.25*@shift14 elseif y < h/2-1 ;TopRight z = s*@shrink14*@outFn4(z)+p-@ratio14*flip(conj(p)+flip(@shift14))-1.25*@shift14 endif elseif x < w/2-1 if y < h/2-1 ;TopLeft z = s*@shrink14*@outFn4(z)-p-@ratio14*flip(conj(p)+flip(@shift14))-1.25*@shift14 elseif y > h/2+1 ;BottomLeft z = s*@shrink14*@outFn4(z)-p+@ratio14*flip(conj(p)-flip(@shift14))-1.25*@shift14 endif endif else z = @bordfn(z)+p endif ;------------------------------------------------------------------------------- elseif @fractate == 5 ;5 "4x4" if ((w/2)-x)^2+((h/2)-y)^2 < @radius5c^2 ;INSIDE INNERCIRCLE... if x > w/2 if y > h/2 ;BottomRight z = s*@shrinkIn5*@inFn5(z)+p+ratio2*flip(conj(p)-flip(@shift25))-@shift25 elseif y < h/2-1 ;TopRight z = s*@shrinkIn5*@inFn5(z)+p-ratio2*flip(conj(p)+flip(@shift25))-@shift25 endif elseif x < w/2-1 if y < h/2-1 ;TopLeft z = s*@shrinkIn5*@inFn5(z)-p-ratio2*flip(conj(p)+flip(@shift25))-@shift25 elseif y > h/2 ;BottomLeft z = s*@shrinkIn5*@inFn5(z)-p+ratio2*flip(conj(p)-flip(@shift25))-@shift25 endif endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius5c+@border5)^2 && \ ((w/2)-x)^2+((h/2)-y)^2 < (@radius5m-@border5/2)^2 ;INSIDE MIDCIRCLE... if y < h/4-1 ;Row1 if x < w/4-1 ;col1 z = s*@shrink15*2*@fn15(z)+p+ratio2*flip(conj(p)-flip(@shift35))+3*@shift35 elseif x > w/4 && x < 2*w/4-1 ;col2 z = s*@shrink15*@fn15(z)+p+3*ratio2*flip(conj(p)+flip(@shift35))+0.75*@shift35 elseif x > 2*w/4 && x < 3*w/4-1 ;col3 z = -s*@shrink15*@fn15(z)+p-3*ratio2*flip(conj(p)+flip(@shift35))-0.75*@shift35 elseif x > 3*w/4 ;col4 z = -s*@shrink15*2*@fn15(z)+p-ratio2*flip(conj(p)-flip(@shift35))-3*@shift35 endif elseif y > h/4 && y < 2*h/4-1 ;Row2 if x < w/4-1 ;col1 z = s*2*@shrink15*@fn15(z)+p+0.33*ratio2*flip(conj(p))+1.5*@shift35 elseif x > w/4 && x < 2*w/4-1 ;col2 z = s*@shrink25*@fn25(z)+p+ratio2*flip(conj(p))+0.75*@shift45 elseif x > 2*w/4 && x < 3*w/4-1 ;col3 z = -s*@shrink25*@fn25(z)+p-ratio2*flip(conj(p))-0.75*@shift45 elseif x > 3*w/4 ;col4 z = -s*2*@shrink15*@fn15(z)+p-0.33*ratio2*flip(conj(p))-1.5*@shift35 endif elseif y > 2*h/4 && y < 3*h/4-1 ;Row3 if x < w/4-1 ;col1 z = s*2*@shrink15*@fn15(z)+p-0.33*ratio2*flip(conj(p))+1.5*@shift35 elseif x > w/4 && x < 2*w/4-1 ;col4 z = s*@shrink25*@fn25(z)+p-ratio2*flip(conj(p))+0.75*@shift45 elseif x > 2*w/4 && x < 3*w/4-1 ;col3 z = -s*@shrink25*@fn25(z)+p+ratio2*flip(conj(p))-0.75*@shift45 elseif x > 3*w/4 ;col4 z = -s*2*@shrink15*@fn15(z)+p+0.33*ratio2*flip(conj(p))-1.5*@shift35 endif elseif y > 3*h/4 ;Row4 if x < w/4-1 ;col1 z = s*@shrink15*2*@fn15(z)+p-ratio2*flip(conj(p)+flip(@shift35))+3*@shift35 elseif x > w/4 && x < 2*w/4-1 ;col2 z = s*@shrink15*@fn15(z)+p-3*ratio2*flip(conj(p)-flip(@shift35))+0.75*@shift35 elseif x > 2*w/4 && x < 3*w/4-1 ;col3 z = -s*@shrink15*@fn15(z)+p+3*ratio2*flip(conj(p)-flip(@shift35))-0.75*@shift35 elseif x > 3*w/4 ;col4 z = -s*@shrink15*2*@fn15(z)+p+ratio2*flip(conj(p)+flip(@shift35))-3*@shift35 endif endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius5m-@border5/2)^2 && \ ((w/2)-x)^2+((h/2)-y)^2 < (@radius5m+@border5/2)^2 ;BORDER... z = 0 elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius5m+@border5/2)^2 ;OUTSIDE MIDCIRCLE... ;OUTSIDE CIRCLE.. if x > w/2 if y > h/2 ;BottomRight z = s*@shrinkOut5*@outFn5(z)+p+ratio2*flip(conj(p)-flip(@shift15))-1.25*@shift15 elseif y < h/2-1 ;TopRight z = s*@shrinkOut5*@outFn5(z)+p-ratio2*flip(conj(p)+flip(@shift15))-1.25*@shift15 endif elseif x < w/2-1 if y < h/2-1 ;TopLeft z = s*@shrinkOut5*@outFn5(z)-p-ratio2*flip(conj(p)+flip(@shift15))-1.25*@shift15 elseif y > h/2 ;BottomLeft z = s*@shrinkOut5*@outFn5(z)-p+ratio2*flip(conj(p)-flip(@shift15))-1.25*@shift15 endif endif else z = @bordfn(z)+p endif ;------------------------------------------------------------------------------- elseif @fractate == 6 ;6 "Diag" ;INSIDE INNER CIRCLE... if ((w/2)-x)^2+((h/2)-y)^2 < (@radius6a-@border6a)^2 if x > w/2+@border6a/2 if y > h/2+@border6a/2 ;BottomRight z = s*@shrinkI*@inFn6(z)+p+ratio*flip(conj(p)-flip(@shiftI))-@shiftI elseif y < h/2-@border6a/2 ;TopRight z = s*@shrinkI*@inFn6(z)+p-ratio*flip(conj(p)+flip(@shiftI))-@shiftI endif elseif x < w/2-@border6a/2 if y < h/2-@border6a/2 ;TopLeft z = s*@shrinkI*@inFn6(z)-p-ratio*flip(conj(p)+flip(@shiftI))-@shiftI elseif y > h/2+@border6a/2 ;BottomLeft z = s*@shrinkI*@inFn6(z)-p+ratio*flip(conj(p)-flip(@shiftI))-@shiftI endif endif ;BORDER... elseif ((w/2)-x)^2+((h/2)-y)^2 < @radius6a^2 z = 0 ;INSIDE OUTER CIRCLE... elseif ((w/2)-x)^2+((h/2)-y)^2 < @radius6b^2 if x < w/2 z = (@shrinkM1*@fn16(z)+@shrinkM2*@fn16(z)-(@shrinkM2*@fn16(p)+@shrinkM1*@fn26(p)))+@shiftM else z = -(@shrinkM1*@fn16(z)+@shrinkM2*@fn16(z)-(@shrinkM2*@fn16(p)+@shrinkM1*@fn26(p)))-@shiftM endif ;OUTSIDE OUTER CIRCLE... elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius6b+@border6b)^2 ;left upper quadrant: if y <= b-@border6 && x <= a-@border6 if x*(b-y) > 1/ratio2*(b-y+@border6)^2 && x*y > ratio2*(x+@border6)^2 ;1 z = s*@shrink16*@fn11(z)-flip(p)-flip(@shift1a1)+0.15*@shift1b1 elseif x*(b-y) > 1/ratio2*(b-y+@border6)^2 && x*y <= ratio2*(x-@border6)^2 ;2 z = -s*@shrink26*@fn21(z)-conj(p)-flip(0.75*@shift2a1)-0.4*@shift2b1 elseif x*(b-y) <= 1/ratio2*(b-y-@border6)^2 && x*y > ratio2*(x+@border6)^2 ;3 z = -s*@shrink36*@fn31(z)+conj(p)+flip(0.75*@shift3a1)+1.6*@shift3b1 elseif x*(b-y) <= 1/ratio2*(b-y-@border6)^2 && x*y <= ratio2*(x-@border6)^2 ;4 z = s*@shrink46*@fn41(z)+flip(p)+flip(@shift4a1)-1.35*@shift4b1 else z = @shrinkb1*@borderfn1(z)+p endif ;right upper quadrant: elseif y <= b-@border6 && x > a+@border6 if (x-a)*y <= ratio2*(x-a-@border6)^2 && (w-x)*y <= ratio2*(w-x-@border6)^2 ;5 z = s*@shrink46*@fn41(z)+flip(p)-flip(@shift4a1)-1.35*@shift4b1 elseif (x-a)*y <= ratio2*(x-a-@border6)^2 && (w-x)*y > ratio2*(w-x+@border6)^2;6 z = s*@shrink36*@fn31(z)+conj(p)+flip(0.75*@shift3a1)-1.6*@shift3b1 elseif (x-a)*y > ratio2*(x-a+@border6)^2 && (w-x)*y <= ratio2*(w-x-@border6)^2;7 z = s*@shrink26*@fn21(z)-conj(p)-flip(0.75*@shift2a1)+0.4*@shift2b1 elseif (x-a)*y > ratio2*(x-a+@border6)^2 && (w-x)*y > ratio2*(w-x+@border6)^2 ;8 z = s*@shrink16*@fn11(z)-flip(p)+flip(@shift1a1)+0.15*@shift1b1 else z = @shrinkb1*@borderfn1(z)+p endif ;right lower quadrant: elseif y > b+@border6 && x > a+@border6 if (x-a)*(h-y) > 1/ratio2*(h-y+@border6)^2 && x*y > ratio2*(x+@border6)^2 ;9 z = -s*@shrink46*@fn41(z)+flip(p)-flip(@shift4a1)+1.35*@shift4b1 elseif (x-a)*(h-y) > 1/ratio2*(h-y+@border6)^2 && x*y <= ratio2*(x-@border6)^2;10 z = s*@shrink36*@fn31(z)+conj(p)-flip(0.75*@shift3a1)-1.6*@shift3b1 elseif (x-a)*(h-y) <= 1/ratio2*(h-y-@border6)^2 && x*y > ratio2*(x+@border6)^2;11 z = s*@shrink26*@fn21(z)-conj(p)+flip(0.75*@shift2a1)+0.4*@shift2b1 elseif (x-a)*(h-y) <= 1/ratio2*(h-y-@border6)^2 && x*y <= ratio2*(x-@border6)^2;12 z = s*@shrink16*@fn11(z)+flip(p)-flip(@shift1a1)+0.15*@shift1b1 else z = @shrinkb1*@borderfn1(z)+p endif ;left lower quadrant: elseif y > b+@border6 && x <= a-@border6 if x*(y-b) > ratio2*(x+@border6)^2 && (w-x)*y <= ratio2*(w-x-@border6)^2 ;13 z = -s*@shrink36*@fn31(z)+conj(p)-flip(0.75*@shift3a1)+1.6*@shift3b1 elseif x*(y-b) > ratio2*(x+@border6)^2 && (w-x)*y > ratio2*(w-x+@border6)^2 ;14 z = -s*@shrink46*@fn41(z)+flip(p)+flip(@shift4a1)+1.35*@shift4b1 elseif x*(y-b) <= ratio2*(x-@border6)^2 && (w-x)*y <= ratio2*(w-x-@border6)^2 ;15 z = s*@shrink16*@fn11(z)+flip(p)+flip(@shift1a1)+0.15*@shift1b1 elseif x*(y-b) <= ratio2*(x-@border6)^2 && (w-x)*y > ratio2*(w-x+@border6)^2 ;16 z = -s*@shrink26*@fn21(z)-conj(p)+flip(0.75*@shift2a1)-0.4*@shift2b1 else z = @shrinkb1*@borderfn1(z)+p endif else z = @shrinkb1*@borderfn1(z)+p endif else z = @shrinkb1*@borderfn1(z)+p endif ;------------------------------------------------------------------------------- elseif @fractate == 7 ;7 "Ellipses x3" if 10/@ellsize0*(a-x)^2/a^2+10/@ellsize0*(b-y)^2/b^2 < 1 ;INNER ELLIPSE... if x > w/2+@border7/2 if y > h/2+@border7/2 ;BottomRight z = s*@shrink27i*@inFn7i(z)+p+ratio*flip(conj(p)-flip(@shift27i))-1.25*@shift27i elseif y < h/2-@border7/2 ;TopRight z = s*@shrink27i*@inFn7i(z)+p-ratio*flip(conj(p)+flip(@shift27i))-1.25*@shift27i else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif x < w/2-@border7/2 if y < h/2-@border7/2 ;TopLeft z = s*@shrink27i*@inFn7i(z)-p-ratio*flip(conj(p)+flip(@shift27i))-1.25*@shift27i elseif y > h/2+@border7/2 ;BottomLeft z = s*@shrink27i*@inFn7i(z)-p+ratio*flip(conj(p)-flip(@shift27i))-1.25*@shift27i else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif (1-@border7/100)*10/@ellsize0*(a-x)^2/a^2+ \ (1-@border7/100)*10/@ellsize0*(b-y)^2/b^2 < 1 ;BORDER... if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif 10/@ellsize1*(a-x)^2/a^2+10/@ellsize1*(b-y)^2/b^2 < 1 ;MIDDLE ELLIPSE... if (x-@border7)*y < ratio2*(x-@border7)^2 && (w-x-@border7)*(h-y-@border7) > x*y ;Top z = -s*@shrink27*@inFn7(z)-flip(p)+@shift27 elseif (x+@border7)*y > ratio2*(x+@border7)^2 && (w-x+@border7)*(h-y+@border7) < x*y ;Bottom z = -s*@shrink27*@inFn7(z)+flip(p)+@shift27 elseif x*(y+@border7) < ratio2*x^2 && (w-x)*(h-y+@border7) < x*y ;Right z = s*@shrink27*@inFn7(z)+p-@shift27*1.33 elseif x*(y-@border7) > ratio2*x^2 && (w-x)*(h-y-@border7) > x*y ;Left z = -s*@shrink27*@inFn7(z)+p+@shift27*1.33 else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif (1-@border7/100)*10/@ellsize1*(a-x)^2/a^2+ \ (1-@border7/100)*10/@ellsize1*(b-y)^2/b^2 < 1 ;BORDER... if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif 10/@ellsize2*(a-x)^2/a^2+10/@ellsize2*(b-y)^2/b^2 < 1 ;OUTER ELLIPSE... if y < h/8-@border7/2 ;Row1 if x > 0*w/8+@border7/2&& x < 1*w/8-@border7/2 ;col1 z = -s*@shrink37*@fn27(z)+conj(p)+flip(2.4*@shift3a)+3.25*@shift3b elseif x > w/8+@border7/2&& x < 2*w/8-@border7/2 ;col2 z = -s*@shrink37*@fn27(z)+conj(p)+flip(2.4*@shift3a)+2.25*@shift3b elseif x > 2*w/8+@border7/2&& x < 3*w/8-@border7/2 ;col3 z = -s*@shrink37*@fn27(z)+conj(p)+flip(2.4*@shift3a)+1.25*@shift3b elseif x > 3*w/8+@border7/2&& x < 4*w/8-@border7/2 ;col4 z = -s*@shrink37*@fn27(z)+conj(p)+flip(2.4*@shift3a)+0.25*@shift3b elseif x > 4*w/8+@border7/2&& x < 5*w/8-@border7/2 ;col5 z = s*@shrink37*@fn27(z)+conj(p)+flip(2.4*@shift3a)-0.25*@shift3b elseif x > 5*w/8+@border7/2&& x < 6*w/8-@border7/2 ;col6 z = s*@shrink37*@fn27(z)+conj(p)+flip(2.4*@shift3a)-1.25*@shift3b elseif x > 6*w/8+@border7/2&& x < 7*w/8-@border7/2 ;col7 z = s*@shrink37*@fn27(z)+conj(p)+flip(2.4*@shift3a)-2.25*@shift3b elseif x > 7*w/8+@border7/2 ;col8 z = s*@shrink37*@fn27(z)+conj(p)+flip(2.4*@shift3a)-3.25*@shift3b else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > h/8+@border7/2&& y < 2*h/8-@border7/2 ;Row2 if x > 0*w/8+@border7/2&& x < 1*w/8-@border7/2 ;col1 z = -s*@shrink37*@fn27(z)+conj(p)+flip(1.7*@shift3a)+3.25*@shift3b elseif x > w/8+@border7/2&& x < 2*w/8-@border7/2 ;col2 z = -s*@shrink37*@fn27(z)+conj(p)+flip(1.7*@shift3a)+2.25*@shift3b elseif x > 2*w/8+@border7/2&& x < 3*w/8-@border7/2 ;col3 z = -s*@shrink37*@fn27(z)+conj(p)+flip(1.7*@shift3a)+1.25*@shift3b elseif x > 3*w/8+@border7/2&& x < 4*w/8-@border7/2 ;col4 z = -s*@shrink37*@fn27(z)+conj(p)+flip(1.7*@shift3a)+0.25*@shift3b elseif x > 4*w/8+@border7/2&& x < 5*w/8-@border7/2 ;col5 z = s*@shrink37*@fn27(z)+conj(p)+flip(1.7*@shift3a)-0.25*@shift3b elseif x > 5*w/8+@border7/2&& x < 6*w/8-@border7/2 ;col6 z = s*@shrink37*@fn27(z)+conj(p)+flip(1.7*@shift3a)-1.25*@shift3b elseif x > 6*w/8+@border7/2&& x < 7*w/8-@border7/2 ;col7 z = s*@shrink37*@fn27(z)+conj(p)+flip(1.7*@shift3a)-2.25*@shift3b elseif x > 7*w/8+@border7/2 ;col8 z = s*@shrink37*@fn27(z)+conj(p)+flip(1.7*@shift3a)-3.25*@shift3b else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > 2*h/8+@border7/2&& y < 3*h/8-@border7/2 ;Row3 if x < w/8-@border7/2 ;col1 z = -s*@shrink37*@fn27(z)+conj(p)+flip(@shift3a)+3.25*@shift3b elseif x > w/8+@border7/2&& x < 2*w/8-@border7/2 ;col2 z = -s*@shrink37*@fn27(z)+conj(p)+flip(@shift3a)+2.25*@shift3b elseif x > 2*w/8+@border7/2&& x < 3*w/8-@border7/2 ;col3 z = -s*@shrink47*@fn17(z)+conj(p)+flip(@shift3a)+1.25*@shift3b elseif x > 3*w/8+@border7/2&& x < 4*w/8-@border7/2 ;col4 z = -s*@shrink47*@fn17(z)+conj(p)+flip(@shift3a)+0.25*@shift3b elseif x > 4*w/8+@border7/2&& x < 5*w/8-@border7/2 ;col5 z = s*@shrink47*@fn17(z)+conj(p)+flip(@shift3a)-0.25*@shift3b elseif x > 5*w/8+@border7/2&& x < 6*w/8-@border7/2 ;col6 z = s*@shrink47*@fn17(z)+conj(p)+flip(@shift3a)-1.25*@shift3b elseif x > 6*w/8+@border7/2&& x < 7*w/8-@border7/2 ;col7 z = s*@shrink37*@fn27(z)+conj(p)+flip(@shift3a)-2.25*@shift3b elseif x > 7*w/8+@border7/2 ;col8 z = s*@shrink37*@fn27(z)+conj(p)+flip(@shift3a)-3.25*@shift3b else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > 3*h/8+@border7/2&& y < 4*h/8-@border7/2 ;Row4 if x > 0*w/8+@border7/2&& x < 1*w/8-@border7/2 ;col1 z = -s*@shrink37*@fn27(z)+conj(p)+flip(0.3*@shift3a)+3.25*@shift3b elseif x > w/8+@border7/2&& x < 2*w/8-@border7/2 ;col2 z = -s*@shrink37*@fn27(z)+conj(p)+flip(0.3*@shift3a)+2.25*@shift3b elseif x > 2*w/8+@border7/2&& x < 3*w/8-@border7/2 ;col3 z = -s*@shrink47*@fn17(z)+conj(p)+flip(0.3*@shift3a)+1.25*@shift3b elseif x > 3*w/8+@border7/2&& x < 4*w/8-@border7/2 ;col4 z = -s*@shrink47*@fn17(z)+conj(p)+flip(0.3*@shift3a)+0.25*@shift3b elseif x > 4*w/8+@border7/2&& x < 5*w/8-@border7/2 ;col5 z = s*@shrink47*@fn17(z)+conj(p)+flip(0.3*@shift3a)-0.25*@shift3b elseif x > 5*w/8+@border7/2&& x < 6*w/8-@border7/2 ;col6 z = s*@shrink47*@fn17(z)+conj(p)+flip(0.3*@shift3a)-1.25*@shift3b elseif x > 6*w/8+@border7/2&& x < 7*w/8-@border7/2 ;col7 z = s*@shrink37*@fn27(z)+conj(p)+flip(0.3*@shift3a)-2.25*@shift3b elseif x > 7*w/8+@border7/2 ;col8 z = s*@shrink37*@fn27(z)+conj(p)+flip(0.3*@shift3a)-3.25*@shift3b else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > 4*h/8+@border7/2&& y < 5*h/8-@border7/2 ;Row5 if x > 0*w/8+@border7/2&& x < 1*w/8-@border7/2 ;col1 z = -s*@shrink37*@fn27(z)+conj(p)-flip(0.3*@shift3a)+3.25*@shift3b elseif x > w/8+@border7/2&& x < 2*w/8-@border7/2 ;col2 z = -s*@shrink37*@fn27(z)+conj(p)-flip(0.3*@shift3a)+2.25*@shift3b elseif x > 2*w/8+@border7/2&& x < 3*w/8-@border7/2 ;col3 z = -s*@shrink47*@fn17(z)+conj(p)-flip(0.3*@shift3a)+1.25*@shift3b elseif x > 3*w/8+@border7/2&& x < 4*w/8-@border7/2 ;col4 z = -s*@shrink47*@fn17(z)+conj(p)-flip(0.3*@shift3a)+0.25*@shift3b elseif x > 4*w/8+@border7/2&& x < 5*w/8-@border7/2 ;col5 z = s*@shrink47*@fn17(z)+conj(p)-flip(0.3*@shift3a)-0.25*@shift3b elseif x > 5*w/8+@border7/2&& x < 6*w/8-@border7/2 ;col6 z = s*@shrink47*@fn17(z)+conj(p)-flip(0.3*@shift3a)-1.25*@shift3b elseif x > 6*w/8+@border7/2&& x < 7*w/8-@border7/2 ;col7 z = s*@shrink37*@fn27(z)+conj(p)-flip(0.3*@shift3a)-2.25*@shift3b elseif x > 7*w/8+@border7/2 ;col8 z = s*@shrink37*@fn27(z)+conj(p)-flip(0.3*@shift3a)-3.25*@shift3b else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > 5*h/8+@border7/2&& y < 6*h/8-@border7/2 ;Row6 if x < w/8-@border7/2 ;col1 z = -s*@shrink37*@fn27(z)+conj(p)-flip(@shift3a)+3.25*@shift3b elseif x > w/8+@border7/2&& x < 2*w/8-@border7/2 ;col2 z = -s*@shrink37*@fn27(z)+conj(p)-flip(@shift3a)+2.25*@shift3b elseif x > 2*w/8+@border7/2&& x < 3*w/8-@border7/2 ;col3 z = -s*@shrink47*@fn17(z)+conj(p)-flip(@shift3a)+1.25*@shift3b elseif x > 3*w/8+@border7/2&& x < 4*w/8-@border7/2 ;col4 z = -s*@shrink47*@fn17(z)+conj(p)-flip(@shift3a)+0.25*@shift3b elseif x > 4*w/8+@border7/2&& x < 5*w/8-@border7/2 ;col5 z = s*@shrink47*@fn17(z)+conj(p)-flip(@shift3a)-0.25*@shift3b elseif x > 5*w/8+@border7/2&& x < 6*w/8-@border7/2 ;col6 z = s*@shrink47*@fn17(z)+conj(p)-flip(@shift3a)-1.25*@shift3b elseif x > 6*w/8+@border7/2&& x < 7*w/8-@border7/2 ;col7 z = s*@shrink37*@fn27(z)+conj(p)-flip(@shift3a)-2.25*@shift3b elseif x > 7*w/8+@border7/2 ;col8 z = s*@shrink37*@fn27(z)+conj(p)-flip(@shift3a)-3.25*@shift3b else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > 6*h/8+@border7/2&& y < 7*h/8-@border7/2 ;Row7 if x > 0*w/8+@border7/2&& x < 1*w/8-@border7/2 ;col1 z = -s*@shrink37*@fn27(z)+conj(p)-flip(1.7*@shift3a)+3.25*@shift3b elseif x > w/8+@border7/2&& x < 2*w/8-@border7/2 ;col2 z = -s*@shrink37*@fn27(z)+conj(p)-flip(1.7*@shift3a)+2.25*@shift3b elseif x > 2*w/8+@border7/2&& x < 3*w/8-@border7/2 ;col3 z = -s*@shrink37*@fn27(z)+conj(p)-flip(1.7*@shift3a)+1.25*@shift3b elseif x > 3*w/8+@border7/2&& x < 4*w/8-@border7/2 ;col4 z = -s*@shrink37*@fn27(z)+conj(p)-flip(1.7*@shift3a)+0.25*@shift3b elseif x > 4*w/8+@border7/2&& x < 5*w/8-@border7/2 ;col5 z = s*@shrink37*@fn27(z)+conj(p)-flip(1.7*@shift3a)-0.25*@shift3b elseif x > 5*w/8+@border7/2&& x < 6*w/8-@border7/2 ;col6 z = s*@shrink37*@fn27(z)+conj(p)-flip(1.7*@shift3a)-1.25*@shift3b elseif x > 6*w/8+@border7/2&& x < 7*w/8-@border7/2 ;col7 z = s*@shrink37*@fn27(z)+conj(p)-flip(1.7*@shift3a)-2.25*@shift3b elseif x > 7*w/8+@border7/2 ;col8 z = s*@shrink37*@fn27(z)+conj(p)-flip(1.7*@shift3a)-3.25*@shift3b else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > 7*h/8+@border7/2&& y < 8*h/8-@border7/2 ;Row8 if x > 0*w/8+@border7/2&& x < 1*w/8-@border7/2 ;col1 z = -s*@shrink37*@fn27(z)+conj(p)-flip(2.4*@shift3a)+3.25*@shift3b elseif x > w/8+@border7/2&& x < 2*w/8-@border7/2 ;col2 z = -s*@shrink37*@fn27(z)+conj(p)-flip(2.4*@shift3a)+2.25*@shift3b elseif x > 2*w/8+@border7/2&& x < 3*w/8-@border7/2 ;col3 z = -s*@shrink37*@fn27(z)+conj(p)-flip(2.4*@shift3a)+1.25*@shift3b elseif x > 3*w/8+@border7/2&& x < 4*w/8-@border7/2 ;col4 z = -s*@shrink37*@fn27(z)+conj(p)-flip(2.4*@shift3a)+0.25*@shift3b elseif x > 4*w/8+@border7/2&& x < 5*w/8-@border7/2 ;col5 z = s*@shrink37*@fn27(z)+conj(p)-flip(2.4*@shift3a)-0.25*@shift3b elseif x > 5*w/8+@border7/2&& x < 6*w/8-@border7/2 ;col6 z = s*@shrink37*@fn27(z)+conj(p)-flip(2.4*@shift3a)-1.25*@shift3b elseif x > 6*w/8+@border7/2&& x < 7*w/8-@border7/2 ;col7 z = s*@shrink37*@fn27(z)+conj(p)-flip(2.4*@shift3a)-2.25*@shift3b elseif x > 7*w/8+@border7/2 ;col8 z = s*@shrink37*@fn27(z)+conj(p)-flip(2.4*@shift3a)-3.25*@shift3b else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif (1-@border7/150)*10/@ellsize2*(a-x)^2/a^2+ \ (1-@border7/150)*10/@ellsize2*(b-y)^2/b^2 < 1 ;border7... if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif (1-@border7/150)*10/@ellsize2*(a-x)^2/a^2+ \ (1-@border7/150)*10/@ellsize2*(b-y)^2/b^2 > 1 ;OUTSIDE ELLIPSE.. if x > w/2+@border7/2 if y > h/2+@border7/2 ;BottomRight z = s*@shrink17*@outFn7(z)+p+ratio2*flip(conj(p)-flip(@shift17))-1.25*@shift17 elseif y < h/2-@border7/2 ;TopRight z = s*@shrink17*@outFn7(z)+p-ratio2*flip(conj(p)+flip(@shift17))-1.25*@shift17 else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif x < w/2-@border7/2 if y < h/2-@border7/2 ;TopLeft z = s*@shrink17*@outFn7(z)-p-ratio2*flip(conj(p)+flip(@shift17))-1.25*@shift17 elseif y > h/2+@border7/2 ;BottomLeft z = s*@shrink17*@outFn7(z)-p+ratio2*flip(conj(p)-flip(@shift17))-1.25*@shift17 else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif endif else if @bordered == 0 z = 1.03*ident(z)+p else if x < w/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif ;------------------------------------------------------------------------------- elseif @fractate == 8 ;8 if 10/@cwidth*(a-x)^2/a^2+10/@cheight*(b-y)^2/b^2 < 1 ;FIRST ELLIPSE... if x > w/2+@border8/2 if y > h/2+@border8/2 ;BottomRight z = si*@shrink48*@centFn8(z)+p+ratio*flip(conj(p)-flip(@shift48a))-1.25*@shift48a elseif y < h/2-@border8/2 ;TopRight z = si*@shrink48*@centFn8(z)+p-ratio*flip(conj(p)+flip(@shift48a))-1.25*@shift48a endif elseif x < w/2-@border8/2 if y < h/2-@border8/2 ;TopLeft z = si*@shrink48*@centFn8(z)-p-ratio*flip(conj(p)+flip(@shift48a))-1.25*@shift48a elseif y > h/2+@border8/2 ;BottomLeft z = si*@shrink48*@centFn8(z)-p+ratio*flip(conj(p)-flip(@shift48a))-1.25*@shift48a endif endif elseif (1-@border8/100)*10/@cwidth*(a-x)^2/a^2+(1-@border8/100)*10/@cheight*(b-y)^2/b^2 < 1 ;centre ellipse border8 z = 0 elseif 10/@imwidth*(a-x)^2/a^2+10/@imheight*(b-y)^2/b^2 < 1 ;SECOND ELLIPSE... if (x-@border8)*y < ratio2*(x-@border8)^2 && (w-x-@border8)*(h-y-@border8) > x*y ;Top z = -sm*2*@shrink28*@inmidFn(z)-flip(p)+@shift28 elseif (x+@border8)*y > ratio2*(x+@border8)^2 && (w-x+@border8)*(h-y+@border8) < x*y ;Bottom z = -sm*2*@shrink28*@inmidFn(z)+flip(p)+@shift28 elseif x*(y+@border8) < ratio2*x^2 && (w-x)*(h-y+@border8) < x*y ;Right z = sm*@shrink28*@inmidFn(z)+p-@shift28*2 elseif x*(y-@border8) > ratio2*x^2 && (w-x)*(h-y-@border8) > x*y ;Left z = -sm*@shrink28*@inmidFn(z)+p+@shift28*2 endif elseif (1-@border8/125)*10/@imwidth*(a-x)^2/a^2+(1-@border8/125)*10/@imheight*(b-y)^2/b^2 < 1 ;centre ellipse border8 z = 0 elseif 10/@omwidth*(a-x)^2/a^2+10/@omheight*(b-y)^2/b^2 < 1 ;THIRD ELLIPSE... if y > 0*h/8+@border8/2 && y < h/8-@border8/2 ;Row1 if x > 0*w/8+@border8/2 && x < 1*w/8-@border8/2 ;col1 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(2.4*@shift38a)+3.25*@shift38b elseif x > w/8+@border8/2 && x < 2*w/8-@border8/2 ;col2 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(2.4*@shift38a)+2.25*@shift38b elseif x > 2*w/8+@border8/2 && x < 3*w/8-@border8/2 ;col3 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(2.4*@shift38a)+1.25*@shift38b elseif x > 3*w/8+@border8/2 && x < 4*w/8-@border8/2 ;col4 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(2.4*@shift38a)+0.25*@shift38b elseif x > 4*w/8+@border8/2 && x < 5*w/8-@border8/2 ;col5 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(2.4*@shift38a)-0.25*@shift38b elseif x > 5*w/8+@border8/2 && x < 6*w/8-@border8/2 ;col6 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(2.4*@shift38a)-1.25*@shift38b elseif x > 6*w/8+@border8/2 && x < 7*w/8-@border8/2 ;col7 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(2.4*@shift38a)-2.25*@shift38b elseif x > 7*w/8+@border8/2 ;col8 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(2.4*@shift38a)-3.25*@shift38b endif elseif y > h/8+@border8/2 && y < 2*h/8-@border8/2 ;Row2 if x > 0*w/8+@border8/2 && x < 1*w/8-@border8/2 ;col1 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(1.7*@shift38a)+3.25*@shift38b elseif x > w/8+@border8/2 && x < 2*w/8-@border8/2 ;col2 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(1.7*@shift38a)+2.25*@shift38b elseif x > 2*w/8+@border8/2 && x < 3*w/8-@border8/2 ;col3 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(1.7*@shift38a)+1.25*@shift38b elseif x > 3*w/8+@border8/2 && x < 4*w/8-@border8/2 ;col4 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(1.7*@shift38a)+0.25*@shift38b elseif x > 4*w/8+@border8/2 && x < 5*w/8-@border8/2 ;col5 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(1.7*@shift38a)-0.25*@shift38b elseif x > 5*w/8+@border8/2 && x < 6*w/8-@border8/2 ;col6 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(1.7*@shift38a)-1.25*@shift38b elseif x > 6*w/8+@border8/2 && x < 7*w/8-@border8/2 ;col7 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(1.7*@shift38a)-2.25*@shift38b elseif x > 7*w/8+@border8/2 ;col8 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(1.7*@shift38a)-3.25*@shift38b endif elseif y > 2*h/8+@border8/2 && y < 3*h/8-@border8/2 ;Row3 if x > 0*w/8+@border8/2 && x < 1*w/8-@border8/2 ;col1 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(@shift38a)+3.25*@shift38b elseif x > w/8+@border8/2 && x < 2*w/8-@border8/2 ;col2 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(@shift38a)+2.25*@shift38b elseif x > 2*w/8+@border8/2 && x < 3*w/8-@border8/2 ;col3 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(@shift38a)+1.25*@shift38b elseif x > 3*w/8+@border8/2 && x < 4*w/8-@border8/2 ;col4 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(@shift38a)+0.25*@shift38b elseif x > 4*w/8+@border8/2 && x < 5*w/8-@border8/2 ;col5 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(@shift38a)-0.25*@shift38b elseif x > 5*w/8+@border8/2 && x < 6*w/8-@border8/2 ;col6 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(@shift38a)-1.25*@shift38b elseif x > 6*w/8+@border8/2 && x < 7*w/8-@border8/2 ;col7 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(@shift38a)-2.25*@shift38b elseif x > 7*w/8+@border8/2 ;col8 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(@shift38a)-3.25*@shift38b endif elseif y > 3*h/8+@border8/2 && y < 4*h/8-@border8/2 ;Row4 if x > 0*w/8+@border8/2 && x < 1*w/8-@border8/2 ;col1 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(0.3*@shift38a)+3.25*@shift38b elseif x > w/8+@border8/2 && x < 2*w/8-@border8/2 ;col2 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(0.3*@shift38a)+2.25*@shift38b elseif x > 2*w/8+@border8/2 && x < 3*w/8-@border8/2 ;col3 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(0.3*@shift38a)+1.25*@shift38b elseif x > 3*w/8+@border8/2 && x < 4*w/8-@border8/2 ;col4 z = -so*@shrink38*@outmidFn(z)+conj(p)+flip(0.3*@shift38a)+0.25*@shift38b elseif x > 4*w/8+@border8/2 && x < 5*w/8-@border8/2 ;col5 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(0.3*@shift38a)-0.25*@shift38b elseif x > 5*w/8+@border8/2 && x < 6*w/8-@border8/2 ;col6 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(0.3*@shift38a)-1.25*@shift38b elseif x > 6*w/8+@border8/2 && x < 7*w/8-@border8/2 ;col7 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(0.3*@shift38a)-2.25*@shift38b elseif x > 7*w/8+@border8/2 ;col8 z = so*@shrink38*@outmidFn(z)+conj(p)+flip(0.3*@shift38a)-3.25*@shift38b endif elseif y > 4*h/8+@border8/2 && y < 5*h/8-@border8/2 ;Row5 if x > 0*w/8+@border8/2 && x < 1*w/8-@border8/2 ;col1 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(0.3*@shift38a)+3.25*@shift38b elseif x > w/8+@border8/2 && x < 2*w/8-@border8/2 ;col2 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(0.3*@shift38a)+2.25*@shift38b elseif x > 2*w/8+@border8/2 && x < 3*w/8-@border8/2 ;col3 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(0.3*@shift38a)+1.25*@shift38b elseif x > 3*w/8+@border8/2 && x < 4*w/8-@border8/2 ;col4 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(0.3*@shift38a)+0.25*@shift38b elseif x > 4*w/8+@border8/2 && x < 5*w/8-@border8/2 ;col5 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(0.3*@shift38a)-0.25*@shift38b elseif x > 5*w/8+@border8/2 && x < 6*w/8-@border8/2 ;col6 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(0.3*@shift38a)-1.25*@shift38b elseif x > 6*w/8+@border8/2 && x < 7*w/8-@border8/2 ;col7 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(0.3*@shift38a)-2.25*@shift38b elseif x > 7*w/8+@border8/2 ;col8 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(0.3*@shift38a)-3.25*@shift38b endif elseif y > 5*h/8+@border8/2 && y < 6*h/8-@border8/2 ;Row6 if x > 0*w/8+@border8/2 && x < 1*w/8-@border8/2 ;col1 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(@shift38a)+3.25*@shift38b elseif x > w/8+@border8/2 && x < 2*w/8-@border8/2 ;col2 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(@shift38a)+2.25*@shift38b elseif x > 2*w/8+@border8/2 && x < 3*w/8-@border8/2 ;col3 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(@shift38a)+1.25*@shift38b elseif x > 3*w/8+@border8/2 && x < 4*w/8-@border8/2 ;col4 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(@shift38a)+0.25*@shift38b elseif x > 4*w/8+@border8/2 && x < 5*w/8-@border8/2 ;col5 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(@shift38a)-0.25*@shift38b elseif x > 5*w/8+@border8/2 && x < 6*w/8-@border8/2 ;col6 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(@shift38a)-1.25*@shift38b elseif x > 6*w/8+@border8/2 && x < 7*w/8-@border8/2 ;col7 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(@shift38a)-2.25*@shift38b elseif x > 7*w/8+@border8/2 ;col8 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(@shift38a)-3.25*@shift38b endif elseif y > 6*h/8+@border8/2 && y < 7*h/8-@border8/2 ;Row7 if x > 0*w/8+@border8/2 && x < 1*w/8-@border8/2 ;col1 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(1.7*@shift38a)+3.25*@shift38b elseif x > w/8+@border8/2 && x < 2*w/8-@border8/2 ;col2 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(1.7*@shift38a)+2.25*@shift38b elseif x > 2*w/8+@border8/2 && x < 3*w/8-@border8/2 ;col3 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(1.7*@shift38a)+1.25*@shift38b elseif x > 3*w/8+@border8/2 && x < 4*w/8-@border8/2 ;col4 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(1.7*@shift38a)+0.25*@shift38b elseif x > 4*w/8+@border8/2 && x < 5*w/8-@border8/2 ;col5 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(1.7*@shift38a)-0.25*@shift38b elseif x > 5*w/8+@border8/2 && x < 6*w/8-@border8/2 ;col6 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(1.7*@shift38a)-1.25*@shift38b elseif x > 6*w/8+@border8/2 && x < 7*w/8-@border8/2 ;col7 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(1.7*@shift38a)-2.25*@shift38b elseif x > 7*w/8+@border8/2 ;col8 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(1.7*@shift38a)-3.25*@shift38b endif elseif y > 7*h/8+@border8/2 && y < 8*h/8-@border8/2 ;Row8 if x > 0*w/8+@border8/2 && x < 1*w/8-@border8/2 ;col1 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(2.4*@shift38a)+3.25*@shift38b elseif x > w/8+@border8/2 && x < 2*w/8-@border8/2 ;col2 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(2.4*@shift38a)+2.25*@shift38b elseif x > 2*w/8+@border8/2 && x < 3*w/8-@border8/2 ;col3 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(2.4*@shift38a)+1.25*@shift38b elseif x > 3*w/8+@border8/2 && x < 4*w/8-@border8/2 ;col4 z = -so*@shrink38*@outmidFn(z)+conj(p)-flip(2.4*@shift38a)+0.25*@shift38b elseif x > 4*w/8+@border8/2 && x < 5*w/8-@border8/2 ;col5 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(2.4*@shift38a)-0.25*@shift38b elseif x > 5*w/8+@border8/2 && x < 6*w/8-@border8/2 ;col6 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(2.4*@shift38a)-1.25*@shift38b elseif x > 6*w/8+@border8/2 && x < 7*w/8-@border8/2 ;col7 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(2.4*@shift38a)-2.25*@shift38b elseif x > 7*w/8+@border8/2 ;col8 z = so*@shrink38*@outmidFn(z)+conj(p)-flip(2.4*@shift38a)-3.25*@shift38b endif endif elseif (1-@border8/200)*10/@omwidth*(a-x)^2/a^2+(1-@border8/200)*10/@omheight*(b-y)^2/b^2 < 1 ;outer ellipse border8 z = 0 else ;OUTSIDE ELLIPSES... (THE REST) if x > a+@border8/2 if y > b+@border8/2 ;BottomRight z = sr*@shrink18*@outFn8(z)+p+ratio2*flip(conj(p)-flip(@shift18))-1.25*@shift18 elseif y < b-@border8/2 ;TopRight z = sr*@shrink18*@outFn8(z)+p-ratio2*flip(conj(p)+flip(@shift18))-1.25*@shift18 endif elseif x < a-@border8/2 if y < b-@border8/2 ;TopLeft z = sr*@shrink18*@outFn8(z)-p-ratio2*flip(conj(p)+flip(@shift18))-1.25*@shift18 elseif y > b+@border8/2 ;BottomLeft z = sr*@shrink18*@outFn8(z)-p+ratio2*flip(conj(p)-flip(@shift18))-1.25*@shift18 endif endif endif endif ;------------------------------------------------------------------------------- bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Sights-2C" param Switch enum = "Point in" "Point out" default = 1 caption = "Switch in/out" endparam param fractate caption = "Pattern:" enum = "0. Basic" "1. x on + (screen friendly)" "2. + on x" "3. x on x" "4. + on +" \ "5. 4x4" "6. Diags" "7. Ellipses x3" "8. Ellipses x3 too" default = 0 endparam ;0 heading caption = "CENTRE:" enabled = @fractate == 0 visible = @fractate == 0 endheading float param radius0 caption = " - radius" default = 250 enabled = @fractate == 0 visible = @fractate == 0 endparam func inFn0 caption = " - function" default = sqr() enabled = @fractate == 0 visible = @fractate == 0 endfunc float param shrink10 caption = " - shrink" default = 4 enabled = @fractate == 0 visible = @fractate == 0 endparam float param shift10 caption = " - shift" default = 0.3 enabled = @fractate == 0 visible = @fractate == 0 endparam heading caption = "OUTER:" enabled = @fractate == 0 visible = @fractate == 0 endheading func outFn0 caption = " - function" default = sqr() enabled = @fractate == 0 visible = @fractate == 0 endfunc float param shrink20 caption = " - shrink" default = 2 enabled = @fractate == 0 visible = @fractate == 0 endparam float param shift20 caption = " - shift" default = 0.8 enabled = @fractate == 0 visible = @fractate == 0 endparam heading caption = "BORDERS:" enabled = @fractate == 0 visible = @fractate == 0 endheading float param border0 caption = " - width" hint = "Set width = -1 to clear borders" default = 2 enabled = @fractate == 0 visible = @fractate == 0 endparam ;1 heading caption = "CENTRE" enabled = @fractate == 1 visible = @fractate == 1 endheading float param radius1 caption = " - radius" default = 200 enabled = @fractate == 1 visible = @fractate == 1 endparam func inFn1 caption = " - function" default = sqr() enabled = @fractate == 1 visible = @fractate == 1 endfunc float param shrink11 caption = " - shrink" default = 4 enabled = @fractate == 1 visible = @fractate == 1 endparam float param shift11 caption = " - shift" default = 0.3 enabled = @fractate == 1 visible = @fractate == 1 endparam heading caption = "OUTER" enabled = @fractate == 1 visible = @fractate == 1 endheading func outFn1 caption = " - function" default = sqr() enabled = @fractate == 1 visible = @fractate == 1 endfunc float param shrink21 caption = " - shrink" default = 2 enabled = @fractate == 1 visible = @fractate == 1 endparam float param shift21 caption = " - shift" default = 0.8 enabled = @fractate == 1 visible = @fractate == 1 endparam heading caption = "BORDERS" enabled = @fractate == 1 visible = @fractate == 1 endheading float param border1 caption = " - width" default = 2 enabled = @fractate == 1 visible = @fractate == 1 endparam ;2 heading caption = "Centre" enabled = @fractate == 2 visible = @fractate == 2 endheading float param radius2 caption = " - radius" default = 200 enabled = @fractate == 2 visible = @fractate == 2 endparam func inFn2 caption = " - function" default = sqr() enabled = @fractate == 2 visible = @fractate == 2 endfunc float param shrink22 caption = " - shrink" default = 4 enabled = @fractate == 2 visible = @fractate == 2 endparam float param shift22 caption = " - shift" default = 0.2 enabled = @fractate == 2 visible = @fractate == 2 endparam float param border2 caption = " - borders" default = 2 enabled = @fractate == 2 visible = @fractate == 2 endparam heading caption = "Outer" enabled = @fractate == 2 visible = @fractate == 2 endheading func outFn2 caption = " - function" default = sqr() enabled = @fractate == 2 visible = @fractate == 2 endfunc float param shrink12 caption = " - shrink" default = 2 enabled = @fractate == 2 visible = @fractate == 2 endparam float param shift12 caption = " - shift" default = 1.1 enabled = @fractate == 2 visible = @fractate == 2 endparam ;3 heading caption = "Centre" enabled = @fractate == 3 visible = @fractate == 3 endheading float param radius3 caption = " - radius" default = 200 enabled = @fractate == 3 visible = @fractate == 3 endparam func inFn3 caption = " - function" default = sqr() enabled = @fractate == 3 visible = @fractate == 3 endfunc float param shrink23 caption = " - shrink" default = 4 enabled = @fractate == 3 visible = @fractate == 3 endparam float param shift23 caption = " - shift" default = 0.4 enabled = @fractate == 3 visible = @fractate == 3 endparam float param border3 caption = " - borders" default = 2 enabled = @fractate == 3 visible = @fractate == 3 endparam heading caption = "Outer" enabled = @fractate == 3 visible = @fractate == 3 endheading func outFn3 caption = " - function" default = sqr() enabled = @fractate == 3 visible = @fractate == 3 endfunc float param shrink13 caption = " - shrink" default = 3 enabled = @fractate == 3 visible = @fractate == 3 endparam float param shift13 caption = " - shift" default = 1.35 enabled = @fractate == 3 visible = @fractate == 3 endparam ;4 float param radius4 caption = " - radius" default = 200 enabled = @fractate == 4 visible = @fractate == 4 endparam heading caption = "Centre" enabled = @fractate == 4 visible = @fractate == 4 endheading func inFn4 caption = " - function" default = sqr() enabled = @fractate == 4 visible = @fractate == 4 endfunc float param shrink24 caption = " - shrink" default = 4 enabled = @fractate == 4 visible = @fractate == 4 endparam float param shift24 caption = " - shift" default = 0.3 enabled = @fractate == 4 visible = @fractate == 4 endparam float param ratio24 caption = " - turn" default = 0.75 enabled = @fractate == 4 visible = @fractate == 4 endparam float param border4 caption = " - borders" default = 2 enabled = @fractate == 4 visible = @fractate == 4 endparam heading caption = "Outer" enabled = @fractate == 4 visible = @fractate == 4 endheading func outFn4 caption = " - function" default = sqr() enabled = @fractate == 4 visible = @fractate == 4 endfunc float param shrink14 caption = " - shrink" default = 2 enabled = @fractate == 4 visible = @fractate == 4 endparam float param shift14 caption = " - shift" default = 0.8 enabled = @fractate == 4 visible = @fractate == 4 endparam float param ratio14 caption = " - turn" default = 0.75 enabled = @fractate == 4 visible = @fractate == 4 endparam ;5 float param border5 caption = "Borders" default = 2 enabled = @fractate == 5 visible = @fractate == 5 endparam heading caption = "Centre" enabled = @fractate == 5 visible = @fractate == 5 endheading float param radius5c caption = " - radius" default = 192 enabled = @fractate == 5 visible = @fractate == 5 endparam func inFn5 caption = " - function" default = sqr() enabled = @fractate == 5 visible = @fractate == 5 endfunc float param shrinkIn5 caption = " - shrink" default = 3 enabled = @fractate == 5 visible = @fractate == 5 endparam float param shift25 caption = " - shift" default = 0.25 enabled = @fractate == 5 visible = @fractate == 5 endparam heading caption = "Middle" enabled = @fractate == 5 visible = @fractate == 5 endheading float param radius5m caption = " - radius" default = 384 enabled = @fractate == 5 visible = @fractate == 5 endparam heading caption = "Inner middle" enabled = @fractate == 5 visible = @fractate == 5 endheading func fn25 caption = " - function" default = sqr() enabled = @fractate == 5 visible = @fractate == 5 endfunc float param shrink25 caption = " - shrink" default = 6 enabled = @fractate == 5 visible = @fractate == 5 endparam float param shift45 caption = " - shift" default = 1.7 enabled = @fractate == 5 visible = @fractate == 5 endparam heading caption = "Outer Middle" enabled = @fractate == 5 visible = @fractate == 5 endheading func fn15 caption = " - function" default = sqr() enabled = @fractate == 5 visible = @fractate == 5 endfunc float param shrink15 caption = " - shrink" default = 2 enabled = @fractate == 5 visible = @fractate == 5 endparam float param shift35 caption = " - shift" default = 0.95 enabled = @fractate == 5 visible = @fractate == 5 endparam heading caption = "Outer" enabled = @fractate == 5 visible = @fractate == 5 endheading func outFn5 caption = " - function" default = sqr() enabled = @fractate == 5 visible = @fractate == 5 endfunc float param shrinkOut5 caption = " - shrink" default = 2 enabled = @fractate == 5 visible = @fractate == 5 endparam float param shift15 caption = " - shift" default = 1.1 enabled = @fractate == 5 visible = @fractate == 5 endparam ;6 heading caption = "CENTRE" enabled = @fractate == 6 visible = @fractate == 6 endheading float param radius6a caption = " - radius" default = 96 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shrinkI caption = " - shrink" default = 2 enabled = @fractate == 6 visible = @fractate == 6 endparam func inFn6 caption = " - function" default = sqr() enabled = @fractate == 6 visible = @fractate == 6 endfunc float param shiftI caption = " - shift" default = 0.4 enabled = @fractate == 6 visible = @fractate == 6 endparam heading caption = "MIDDLE" enabled = @fractate == 6 visible = @fractate == 6 endheading float param radius6b caption = " - radius" default = 192 enabled = @fractate == 6 visible = @fractate == 6 endparam func fn16 caption = " - function 1" default = sqr() enabled = @fractate == 6 visible = @fractate == 6 endfunc func fn26 caption = " - function 2" default = cabs() enabled = @fractate == 6 visible = @fractate == 6 endfunc float param shrinkM1 caption = " - shrink 1" default = 0.2 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shrinkM2 caption = " - shrink 2" default = 1.5 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shiftM caption = " - shift" default = 0 enabled = @fractate == 6 visible = @fractate == 6 endparam heading caption = "OUTER:" enabled = @fractate == 6 visible = @fractate == 6 endheading func fn11 caption = "L/R <>" default = sqr() enabled = @fractate == 6 visible = @fractate == 6 endfunc float param shrink16 caption = " - shrink" default = 4 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shift1b1 caption = " - shift U/D" default = 1 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shift1a1 caption = " - shift L/R" default = 1 enabled = @fractate == 6 visible = @fractate == 6 endparam func fn21 caption = "Centre T/B" default = sqr() enabled = @fractate == 6 visible = @fractate == 6 endfunc float param shrink26 caption = " - shrink" default = 4 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shift2a1 caption = " - shift U/D" default = 1 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shift2b1 caption = " - shift L/R" default = 1 enabled = @fractate == 6 visible = @fractate == 6 endparam func fn31 caption = "L/R > <" default = sqr() enabled = @fractate == 6 visible = @fractate == 6 endfunc float param shrink36 caption = " - shrink" default = 4 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shift3b1 caption = " - shift L/R" default = 1 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shift3a1 caption = " - shift U/D" default = 1 enabled = @fractate == 6 visible = @fractate == 6 endparam func fn41 caption = "Outer T/B" default = sqr() enabled = @fractate == 6 visible = @fractate == 6 endfunc float param shrink46 caption = " - shrink" default = 4 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shift4a1 caption = " - shift L/R" default = 1 enabled = @fractate == 6 visible = @fractate == 6 endparam float param shift4b1 caption = " - shift U/D" default = 1 enabled = @fractate == 6 visible = @fractate == 6 endparam heading caption = "BORDERS:" enabled = @fractate == 6 visible = @fractate == 6 endheading float param border6a caption = " - inner circ" default = 2 enabled = @fractate == 6 visible = @fractate == 6 endparam float param border6b caption = " - outer circ" default = 2 enabled = @fractate == 6 visible = @fractate == 6 endparam float param border6 caption = " - others" default = 2 enabled = @fractate == 6 visible = @fractate == 6 endparam func borderfn1 caption = " - function" default = ident() enabled = @fractate == 6 visible = @fractate == 6 endfunc float param shrinkb1 caption = " - shrink" default = 2 enabled = @fractate == 6 visible = @fractate == 6 endparam ;7 heading caption = "CENTRE ELLIPSE:" enabled = @fractate == 7 visible = @fractate == 7 endheading float param ellsize0 caption = " - size" hint = "Bigger number makes smaller ellipse" default = 1 min = 1 enabled = @fractate == 7 visible = @fractate == 7 endparam func inFn7i caption = "Function" default = sqr() enabled = @fractate == 7 visible = @fractate == 7 endfunc float param shift27i caption = " - shift" default = 0.15 enabled = @fractate == 7 visible = @fractate == 7 endparam float param shrink27i caption = " - shrink" default = 5 enabled = @fractate == 7 visible = @fractate == 7 endparam heading caption = "MIDDLE ELLIPSE:" enabled = @fractate == 7 visible = @fractate == 7 endheading float param ellsize1 caption = " - size" hint = "Bigger number makes smaller ellipse" default = 4 min = 1 enabled = @fractate == 7 visible = @fractate == 7 endparam func inFn7 caption = "Function" default = cos() enabled = @fractate == 7 visible = @fractate == 7 endfunc float param shift27 caption = " - shift" default = 0.5 enabled = @fractate == 7 visible = @fractate == 7 endparam float param shrink27 caption = " - shrink" default = 2 enabled = @fractate == 7 visible = @fractate == 7 endparam heading caption = "OUTER ELLIPSE:" enabled = @fractate == 7 visible = @fractate == 7 endheading float param ellsize2 caption = " - size" hint = "Bigger number makes smaller ellipse" default = 10 min = 1 enabled = @fractate == 7 visible = @fractate == 7 endparam float param shift3a caption = " - shift U/D" default = 0.55 enabled = @fractate == 7 visible = @fractate == 7 endparam float param shift3b caption = " - shift L/R" default = 0.5 enabled = @fractate == 7 visible = @fractate == 7 endparam func fn17 caption = "Inner function" default = sqr() enabled = @fractate == 7 visible = @fractate == 7 endfunc float param shrink47 caption = " - shrink" default = 6 enabled = @fractate == 7 visible = @fractate == 7 endparam func fn27 caption = "Outer function" default = sqr() enabled = @fractate == 7 visible = @fractate == 7 endfunc float param shrink37 caption = " - shrink" default = 6 enabled = @fractate == 7 visible = @fractate == 7 endparam heading caption = "THE REST:" enabled = @fractate == 7 visible = @fractate == 7 endheading func outFn7 caption = "Function" default = sqr() enabled = @fractate == 7 visible = @fractate == 7 endfunc float param shift17 caption = " - shift" default = 1.25 enabled = @fractate == 7 visible = @fractate == 7 endparam float param shrink17 caption = " - shrink" default = 2.5 enabled = @fractate == 7 visible = @fractate == 7 endparam heading caption = "BORDERS:" enabled = @fractate == 7 visible = @fractate == 7 endheading float param border7 caption = " - thickness" default = 1 enabled = @fractate == 7 visible = @fractate == 7 endparam param bordered enum = "Preset" "Choose" default = 0 caption = " - function" enabled = @fractate == 7 visible = @fractate == 7 endparam func borderfn caption = " - which one?" default = ident() enabled = @fractate == 7 && @bordered == 1 visible = @fractate == 7 && @bordered == 1 endfunc float param shrinkb caption = " - shrink" default = 1 enabled = @fractate == 7 && @bordered == 1 visible = @fractate == 7 && @bordered == 1 endparam ;8 heading caption = "FIRST ELLIPSE:" enabled = @fractate == 8 visible = @fractate == 8 endheading float param cwidth caption = "Width" default = 1 max = 10 min = 0 enabled = @fractate == 8 visible = @fractate == 8 endparam float param cheight caption = "Height" default = 10 max = 10 min = 0 enabled = @fractate == 8 visible = @fractate == 8 endparam func centFn8 caption = "Function" default = sqr() enabled = @fractate == 8 visible = @fractate == 8 endfunc float param shift48a caption = " - move I/O" default = 0.2 enabled = @fractate == 8 visible = @fractate == 8 endparam float param shrink48 caption = " - shrink" default = 4 enabled = @fractate == 8 visible = @fractate == 8 endparam param SwitchIE enum = "...in" "...out" default = 1 caption = " - switch" enabled = @fractate == 8 visible = @fractate == 8 endparam heading caption = "SECOND ELLIPSE:" enabled = @fractate == 8 visible = @fractate == 8 endheading float param imwidth caption = "Width" default = 10 max = 10 min = 0 enabled = @fractate == 8 visible = @fractate == 8 endparam float param imheight caption = "Height" default = 2 max = 10 min = 0 enabled = @fractate == 8 visible = @fractate == 8 endparam func inmidFn caption = "Function" default = cos() enabled = @fractate == 8 visible = @fractate == 8 endfunc float param Shift28 caption = " - move I/O" default = 0.4 enabled = @fractate == 8 visible = @fractate == 8 endparam float param shrink28 caption = " - shrink" default = 3 enabled = @fractate == 8 visible = @fractate == 8 endparam param SwitchME enum = "...in" "...out" default = 1 caption = " - switch" enabled = @fractate == 8 visible = @fractate == 8 endparam heading caption = "THIRD ELLIPSE:" enabled = @fractate == 8 visible = @fractate == 8 endheading float param omwidth caption = "Width" default = 10 max = 10 min = 0 enabled = @fractate == 8 visible = @fractate == 8 endparam float param omheight caption = "Height" default = 10 max = 10 min = 0 enabled = @fractate == 8 visible = @fractate == 8 endparam func outmidFn caption = "Function" default = sqr() enabled = @fractate == 8 visible = @fractate == 8 endfunc float param shrink38 caption = " - shrink" default = 6 enabled = @fractate == 8 visible = @fractate == 8 endparam float param shift38a caption = " - move U/D" default = 0.55 enabled = @fractate == 8 visible = @fractate == 8 endparam float param shift38b caption = " - move L/R" default = 0.5 enabled = @fractate == 8 visible = @fractate == 8 endparam param switchOE enum = "...in" "...out" default = 1 caption = " - switch" enabled = @fractate == 8 visible = @fractate == 8 endparam heading caption = "THE REST:" enabled = @fractate == 8 visible = @fractate == 8 endheading func outFn8 caption = "Function" default = sin() enabled = @fractate == 8 visible = @fractate == 8 endfunc float param shrink18 caption = " - shrink" default = 2.5 enabled = @fractate == 8 visible = @fractate == 8 endparam float param shift18 caption = " - move" default = 1.2 enabled = @fractate == 8 visible = @fractate == 8 endparam param switchTR enum = "...in" "...out" default = 1 caption = " - switch" enabled = @fractate == 8 visible = @fractate == 8 endparam heading text = "" enabled = @fractate == 8 visible = @fractate == 8 endheading float param border8 caption = "Borders" default = 1 enabled = @fractate == 8 visible = @fractate == 8 endparam func bordfn caption = "Border function" default = ident() enabled = @fractate != 7 && @bordered != 1 && @bordered != 0 visible = @fractate != 7 && @bordered != 1 && @bordered != 0 endfunc heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Radiate { init: z = 0 x = #x y = #y ratio = #height/#width h = #height w = #width p = #pixel loop: if @Switch == 0 s = 1 else s = -1 endif if @change == 0 ;"1010" if y < h/4 ;Row1 if x < w/4 ;col1 z = s*@shrinkb1*@bakfn1(z)+p+ratio*flip(conj(p)-flip(@shiftb1))+3*@shiftb1 elseif x > 2*w/4 && x < 3*w/4 ;col3 z = -s*0.5*@shrinkb1*@bakfn1(z)+p-3*ratio*flip(conj(p)+flip(@shiftb1))-0.5*@shiftb1 endif elseif y > h/4 && y < 2*h/4 ;Row2 if x > w/4 && x < 2*w/4 ;col2 z = s*@shrinkb1*@bakfn1(z)+p+ratio*flip(conj(p))+0.75*@shiftb1 elseif x > 3*w/4 ;col4 z = -s*@shrinkb1*@bakfn1(z)+p-0.33*ratio*flip(conj(p))-1.5*@shiftb1 endif elseif y > 2*h/4 && y < 3*h/4 ;Row3 if x < w/4 ;col1 z = s*@shrinkb1*@bakfn1(z)+p-0.33*ratio*flip(conj(p))+1.5*@shiftb1 elseif x > 2*w/4 && x < 3*w/4 ;col3 z = -s*@shrinkb1*@bakfn1(z)+p+ratio*flip(conj(p))-0.75*@shiftb1 endif elseif y > 3*h/4 ;Row4 if x > w/4 && x < 2*w/4 ;col2 z = s*0.5*@shrinkb1*@bakfn1(z)+p-3*ratio*flip(conj(p)-flip(@shiftb1))+0.5*@shiftb1 elseif x > 3*w/4 ;col4 z = -s*@shrinkb1*@bakfn1(z)+p+ratio*flip(conj(p)+flip(@shiftb1))-3*@shiftb1 endif endif elseif @change == 1 ;"0101" if y < h/4 ;Row1 if x > w/4 && x < 2*w/4 ;col2 z = s*0.5*@shrinkb2*@bakfn2(z)+p+3*ratio*flip(conj(p)+flip(@shiftb2))+0.5*@shiftb2 elseif x > 3*w/4 ;col4 z = -s*@shrinkb2*@bakfn2(z)+p-ratio*flip(conj(p)-flip(@shiftb2))-3*@shiftb2 endif elseif y > h/4 && y < 2*h/4 ;Row2 if x < w/4 ;col1 z = s*@shrinkb2*@bakfn2(z)+p+0.33*ratio*flip(conj(p))+1.5*@shiftb2 elseif x > 2*w/4 && x < 3*w/4 ;col3 z = -s*@shrinkb2*@bakfn2(z)+p-ratio*flip(conj(p))-0.75*@shiftb2 endif elseif y > 2*h/4 && y < 3*h/4 ;Row3 if x > w/4 && x < 2*w/4 ;col2 z = s*@shrinkb2*@bakfn2(z)+p-ratio*flip(conj(p))+0.75*@shiftb2 elseif x > 3*w/4 ;col4 z = -s*@shrinkb2*@bakfn2(z)+p+0.33*ratio*flip(conj(p))-1.5*@shiftb2 endif elseif y > 3*h/4 ;Row4 if x < w/4 ;col1 z = s*@shrinkb2*@bakfn2(z)+p-ratio*flip(conj(p)+flip(@shiftb2))+3*@shiftb2 elseif x > 2*w/4 && x < 3*w/4 ;col3 z = -s*0.55*@shrinkb2*@bakfn2(z)+p+3*ratio*flip(conj(p)-flip(@shiftb2))-0.5*@shiftb2 endif endif else if y < h/4 ;Row1 if x < w/4 ;col1 z = s*@shrinkb1*@bakfn1(z)+p+ratio*flip(conj(p)-flip(@shiftb1))+3*@shiftb1 elseif x > w/4 && x < 2*w/4 ;col2 z = s*0.5*@shrinkb2*@bakfn2(z)+p+3*ratio*flip(conj(p)+flip(@shiftb2))+0.5*@shiftb2 elseif x > 2*w/4 && x < 3*w/4 ;col3 z = -s*0.5*@shrinkb1*@bakfn1(z)+p-3*ratio*flip(conj(p)+flip(@shiftb1))-0.5*@shiftb1 elseif x > 3*w/4 ;col4 z = -s*@shrinkb2*@bakfn2(z)+p-ratio*flip(conj(p)-flip(@shiftb2))-3*@shiftb2 endif elseif y > h/4 && y < 2*h/4 ;Row2 if x < w/4 ;col1 z = s*@shrinkb2*@bakfn2(z)+p+0.33*ratio*flip(conj(p))+1.5*@shiftb2 elseif x > w/4 && x < 2*w/4 ;col2 z = s*@shrinkb1*@bakfn1(z)+p+ratio*flip(conj(p))+0.75*@shiftb1 elseif x > 2*w/4 && x < 3*w/4 ;col3 z = -s*@shrinkb2*@bakfn2(z)+p-ratio*flip(conj(p))-0.75*@shiftb2 elseif x > 3*w/4 ;col4 z = -s*@shrinkb1*@bakfn1(z)+p-0.33*ratio*flip(conj(p))-1.5*@shiftb1 endif elseif y > 2*h/4 && y < 3*h/4 ;Row3 if x < w/4 ;col1 z = s*@shrinkb1*@bakfn1(z)+p-0.33*ratio*flip(conj(p))+1.5*@shiftb1 elseif x > w/4 && x < 2*w/4 ;col4 z = s*@shrinkb2*@bakfn2(z)+p-ratio*flip(conj(p))+0.75*@shiftb2 elseif x > 2*w/4 && x < 3*w/4 ;col3 z = -s*@shrinkb1*@bakfn1(z)+p+ratio*flip(conj(p))-0.75*@shiftb1 elseif x > 3*w/4 ;col4 z = -s*@shrinkb2*@bakfn2(z)+p+0.33*ratio*flip(conj(p))-1.5*@shiftb2 endif elseif y > 3*h/4 ;Row4 if x < w/4 ;col1 z = s*@shrinkb2*@bakfn2(z)+p-ratio*flip(conj(p)+flip(@shiftb2))+3*@shiftb2 elseif x > w/4 && x < 2*w/4 ;col2 z = s*0.5*@shrinkb1*@bakfn1(z)+p-3*ratio*flip(conj(p)-flip(@shiftb1))+0.5*@shiftb1 elseif x > 2*w/4 && x < 3*w/4 ;col3 z = -s*0.5*@shrinkb2*@bakfn2(z)+p+3*ratio*flip(conj(p)-flip(@shiftb2))-0.5*@shiftb2 elseif x > 3*w/4 ;col4 z = -s*@shrinkb1*@bakfn1(z)+p+ratio*flip(conj(p)+flip(@shiftb1))-3*@shiftb1 endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) <= @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) <= @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(-real(z)+imag(z))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(-real(z)-imag(z))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+@fun2(imag(z)*10))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-@fun2(imag(z)*10))) <= @bailout*10)) default: title = "Radiate" param change caption = "Change" enum = "1010" "0101" "All together now..." default = 2 endparam heading text = "1010 (:-)" visible = @change != 1 endheading func bakfn1 caption = " - function" default = sqr() visible = @change != 1 endfunc float param shiftb1 caption = " - shift" default = 1 visible = @change != 1 endparam float param shrinkb1 caption = " - shrink" default = 3 visible = @change != 1 endparam heading text = "0101 >:-(" visible = @change != 0 endheading func bakfn2 caption = " - function" default = sqr() visible = @change != 0 endfunc float param shiftb2 caption = " - shift" default = 1 visible = @change != 0 endparam float param shrinkb2 caption = " - shrink" default = 3 visible = @change != 0 endparam param Switch enum = "Point out" "Point in" default = 0 caption = "Switch in/out" endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn2(r+i)" "fn2(r-i)" \ "fn2(-r+i)" "fn2(-r-i)" "fn2/+fn2" "fn2/-fn2" endparam func fun default = log() caption = " - function1" enabled = @test == 16 || @test == 17 visible = @test == 16 || @test == 17 endfunc func fun2 default = log() caption = " - function2" enabled = @test == 16 || @test == 17 visible = @test == 16 || @test == 17 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Presto-changeo { init: z = 0 x = #x y = #y ratio = #height/#width h = #height w = #width p = #pixel int oc = 0 loop: if @SwitchM == 0 sm = 1 else sm = -1 endif if @SwitchS == 0 ss = 1 else ss = -1 endif if y >= @border && y <= h/4-@border/2 ;Row1 if x >= @border && x <= w/4-@border/2 ;col1 if @change == 1 || @change == 4 || @change == 5 || @change == 7 || @change == 8 z = ss*@shrink1*@bakfn1(z)+p+ratio*flip(conj(p)-flip(@shift1))+3*@shift1 else z = sm*@shrink2*@bakfn2(z)+p+@shift endif elseif x > w/4+@border/2 && x <= 2*w/4-@border/2 ;col2 if @change == 1 || @change == 3 || @change == 8 z = ss*0.5*@shrink1*@bakfn1(z)+p+3*ratio*flip(conj(p)+flip(@shift2))+0.4*@shift2 else z = sm*@shrink2*@bakfn2(z)+p+@shift endif elseif x > 2*w/4+@border/2 && x <= 3*w/4-@border/2 ;col3 if @change == 1 || @change == 3 || @change == 8 z = -ss*0.5*@shrink1*@bakfn1(z)+p-3*ratio*flip(conj(p)+flip(@shift1))-0.4*@shift1 else z = -sm*@shrink2*@bakfn2(z)+p-@shift endif elseif x > 3*w/4+@border/2 && x <= w-@border ;col4 if @change == 1 || @change == 4 || @change == 6 || @change == 7 || @change == 8 z = -ss*@shrink1*@bakfn1(z)+p-ratio*flip(conj(p)-flip(@shift2))-3*@shift2 else z = -sm*@shrink2*@bakfn2(z)+p-@shift endif else z = @shrinkb*@borderfn(z)+p endif elseif y > h/4+@border/2 && y <= 2*h/4-@border/2 ;Row2 if x >= @border && x <= w/4-@border/2 ;col1 if @change == 1 || @change == 3 || @change == 8 z = ss*@shrink1*@bakfn1(z)+p+0.33*ratio*flip(conj(p))+1.5*@shift2 else z = sm*@shrink2*@bakfn2(z)+p+@shift endif elseif x > w/4+@border/2 && x <= 2*w/4-@border/2 ;col2 if @change == 2 || @change == 3 || @change == 4 || @change == 5 || @change == 8 z = ss*@shrink1*@bakfn1(z)+p+ratio*flip(conj(p))+0.75*@shift1 else z = sm*@shrink2*@bakfn2(z)+p+@shift endif elseif x > 2*w/4+@border/2 && x <= 3*w/4-@border/2 ;col3 if @change == 2 || @change == 3 || @change == 4 || @change == 6 || @change == 8 z = -ss*@shrink1*@bakfn1(z)+p-ratio*flip(conj(p))-0.75*@shift2 else z = -sm*@shrink2*@bakfn2(z)+p-@shift endif elseif x > 3*w/4+@border/2 && x <= w-@border ;col4 if @change == 1 || @change == 3 || @change == 8 z = -ss*@shrink1*@bakfn1(z)+p-0.33*ratio*flip(conj(p))-1.5*@shift1 else z = -sm*@shrink2*@bakfn2(z)+p-@shift endif else z = @shrinkb*@borderfn(z)+p endif elseif y > 2*h/4+@border/2 && y <= 3*h/4-@border/2 ;Row3 if x >= @border && x <= w/4-@border/2 ;col1 if @change == 1 || @change == 3 || @change == 8 z = ss*@shrink1*@bakfn1(z)+p-0.33*ratio*flip(conj(p))+1.5*@shift1 else z = sm*@shrink2*@bakfn2(z)+p+@shift endif elseif x > w/4+@border/2 && x <= 2*w/4-@border/2 ;col4 if @change == 2 || @change == 3 || @change == 4 || @change == 6 || @change == 8 z = ss*@shrink1*@bakfn1(z)+p-ratio*flip(conj(p))+0.75*@shift2 else z = sm*@shrink2*@bakfn2(z)+p+@shift endif elseif x > 2*w/4+@border/2 && x <= 3*w/4-@border/2 ;col3 if @change == 2 || @change == 3 || @change == 4 || @change == 5 || @change == 8 z = -ss*@shrink1*@bakfn1(z)+p+ratio*flip(conj(p))-0.75*@shift1 else z = -sm*@shrink2*@bakfn2(z)+p-@shift endif elseif x > 3*w/4+@border/2 && x <= w-@border ;col4 if @change == 1 || @change == 3 || @change == 8 z = -ss*@shrink1*@bakfn1(z)+p+0.33*ratio*flip(conj(p))-1.5*@shift2 else z = -sm*@shrink2*@bakfn2(z)+p-@shift endif else z = @shrinkb*@borderfn(z)+p endif elseif y > 3*h/4+@border/2 && y <= h-@border ;Row4 if x >= @border && x <= w/4-@border/2 ;col1 if @change == 1 || @change == 4 || @change == 6 || @change == 7 || @change == 8 z = ss*@shrink1*@bakfn1(z)+p-ratio*flip(conj(p)+flip(@shift2))+3*@shift2 else z = sm*@shrink2*@bakfn2(z)+p+@shift endif elseif x > w/4+@border/2 && x <= 2*w/4-@border/2 ;col2 if @change == 1 || @change == 3 || @change == 8 z = ss*0.5*@shrink1*@bakfn1(z)+p-3*ratio*flip(conj(p)-flip(@shift1))+0.4*@shift1 else z = sm*@shrink2*@bakfn2(z)+p+@shift endif elseif x > 2*w/4+@border/2 && x <= 3*w/4-@border/2 ;col3 if @change == 1 || @change == 3 || @change == 8 z = -ss*0.5*@shrink1*@bakfn1(z)+p+3*ratio*flip(conj(p)-flip(@shift2))-0.4*@shift2 else z = -sm*@shrink2*@bakfn2(z)+p-@shift endif elseif x > 3*w/4+@border/2 && x <= w-@border ;col4 if @change == 1 || @change == 4 || @change == 5 || @change == 7 || @change == 8 z = -ss*@shrink1*@bakfn1(z)+p+ratio*flip(conj(p)+flip(@shift1))-3*@shift1 else z = -sm*@shrink2*@bakfn2(z)+p-@shift endif else z = @shrinkb*@borderfn(z)+p endif else z = @shrinkb*@borderfn(z)+p endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Presto-changeo" param change caption = "Change layout" enum = "None" "Outer" "Inner" "+" "x" "\" "/" "Corners" "All" default = 0 endparam heading caption = "Functions:" endheading func bakfn2 caption = "Main" default = sqr() endfunc float param shift caption = " - shift" default = 0.5 endparam float param shrink2 caption = " - shrink" default = 1 endparam param SwitchM caption = "Switch" enum = "...out" "...in" default = 0 endparam func bakfn1 caption = "Subordinate" default = sqr() visible = @change != 0 enabled = @change != 0 endfunc float param shift1 caption = " - shift some" default = 1 visible = @change != 0 endparam float param shift2 caption = " - shift others" default = 1 visible = @change != 0 endparam float param shrink1 caption = " - shrink" default = 3 visible = @change != 0 endparam param SwitchS caption = "Switch" enum = "...out" "...in" default = 0 visible = @change != 0 endparam heading caption = "Borders:" endheading float param border caption = " - width" default = 3 endparam func borderfn caption = " - function" default = ident() endfunc float param shrinkb caption = " - shrink" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Diag-grid { init: z = 0 x = #x y = #y w = #width h = #height a = trunc(#width/2) b = trunc(#height/2)+1 ratio = #height/#width oitar = #width/#height p = #pixel loop: if @Switch == 0 s = 1 else s = -1 endif if @choose == 0 ;0 - grid1 ;left upper quadrant: if y < b-@border0 && x < a-@border0 if x*(b-y) > oitar*(b-y+@border0)^2 && x*y > ratio*(x+@border0)^2 z = s*@shrink10*@fn10(z)+p+@shift10 elseif x*(b-y) > oitar*(b-y+@border0)^2 && x*y < ratio*(x-@border0)^2 z = s*@shrink20*@fn20(z)+p+@shift20 elseif x*(b-y) < oitar*(b-y-@border0)^2 && x*y > ratio*(x+@border0)^2 z = s*@shrink30*@fn30(z)+p+@shift30 elseif x*(b-y) < oitar*(b-y-@border0)^2 && x*y < ratio*(x-@border0)^2 z = s*@shrink40*@fn40(z)+p+@shift40 else z = @shrinkb0*@borderfn0(z)+p endif ;right upper quadrant: elseif y < b-@border0 && x > a+@border0 if (x-a)*y < ratio*(x-a-@border0)^2 && (w-x)*y < ratio*(w-x-@border0)^2 z = -s*@shrink40*@fn40(z)+p-@shift40 elseif (x-a)*y < ratio*(x-a-@border0)^2 && (w-x)*y > ratio*(w-x+@border0)^2 z = -s*@shrink30*@fn30(z)+p-@shift30 elseif (x-a)*y > ratio*(x-a+@border0)^2 && (w-x)*y < ratio*(w-x-@border0)^2 z = -s*@shrink20*@fn20(z)+p-@shift20 elseif (x-a)*y > ratio*(x-a+@border0)^2 && (w-x)*y > ratio*(w-x+@border0)^2 z = -s*@shrink10*@fn10(z)+p-@shift10 else z = @shrinkb0*@borderfn0(z)+p endif ;right lower quadrant: elseif y > b+@border0 && x > a+@border0 if (x-a)*(h-y) > oitar*(h-y+@border0)^2 && x*y > ratio*(x+@border0)^2 z = -s*@shrink40*@fn40(z)+p-@shift40 elseif (x-a)*(h-y) > oitar*(h-y+@border0)^2 && x*y < ratio*(x-@border0)^2 z = -s*@shrink30*@fn30(z)+p-@shift30 elseif (x-a)*(h-y) < oitar*(h-y-@border0)^2 && x*y > ratio*(x+@border0)^2 z = -s*@shrink20*@fn20(z)+p-@shift20 elseif (x-a)*(h-y) < oitar*(h-y-@border0)^2 && x*y < ratio*(x-@border0)^2 z = -s*@shrink10*@fn10(z)+p-@shift10 else z = @shrinkb0*@borderfn0(z)+p endif ;left lower quadrant: elseif y > b+@border0 && x < a-@border0 if x*(y-b) > ratio*(x+@border0)^2 && (w-x)*y < ratio*(w-x-@border0)^2 z = s*@shrink30*@fn30(z)+p+@shift30 elseif x*(y-b) > ratio*(x+@border0)^2 && (w-x)*y > ratio*(w-x+@border0)^2 z = s*@shrink40*@fn40(z)+p+@shift40 elseif x*(y-b) < ratio*(x-@border0)^2 && (w-x)*y < ratio*(w-x-@border0)^2 z = s*@shrink10*@fn10(z)+p+@shift10 elseif x*(y-b) < ratio*(x-@border0)^2 && (w-x)*y > ratio*(w-x+@border0)^2 z = s*@shrink20*@fn20(z)+p+@shift20 else z = @shrinkb0*@borderfn0(z)+p endif else z = @shrinkb0*@borderfn0(z)+p endif elseif @choose == 1 ;1 - grid2 ;left upper quadrant: if y <= b-@border1 && x <= a-@border1 if x*(b-y) > 1/ratio*(b-y+@border1)^2 && x*y > ratio*(x+@border1)^2 ;1 z = s*@shrink11*@fn11(z)-flip(p)-flip(@shift1a1)+0.15*@shift1b1 elseif x*(b-y) > 1/ratio*(b-y+@border1)^2 && x*y <= ratio*(x-@border1)^2 ;2 z = -s*@shrink21*@fn21(z)-conj(p)-flip(0.75*@shift2a1)-0.4*@shift2b1 elseif x*(b-y) <= 1/ratio*(b-y-@border1)^2 && x*y > ratio*(x+@border1)^2 ;3 z = -s*@shrink31*@fn31(z)+conj(p)+flip(0.75*@shift3a1)+1.6*@shift3b1 elseif x*(b-y) <= 1/ratio*(b-y-@border1)^2 && x*y <= ratio*(x-@border1)^2 ;4 z = s*@shrink41*@fn41(z)+flip(p)+flip(@shift4a1)-1.35*@shift4b1 else z = @shrinkb1*@borderfn1(z)+p endif ;right upper quadrant: elseif y <= b-@border1 && x > a+@border1 if (x-a)*y <= ratio*(x-a-@border1)^2 && (w-x)*y <= ratio*(w-x-@border1)^2 ;5 z = s*@shrink41*@fn41(z)+flip(p)-flip(@shift4a1)-1.35*@shift4b1 elseif (x-a)*y <= ratio*(x-a-@border1)^2 && (w-x)*y > ratio*(w-x+@border1)^2;6 z = s*@shrink31*@fn31(z)+conj(p)+flip(0.75*@shift3a1)-1.6*@shift3b1 elseif (x-a)*y > ratio*(x-a+@border1)^2 && (w-x)*y <= ratio*(w-x-@border1)^2;7 z = s*@shrink21*@fn21(z)-conj(p)-flip(0.75*@shift2a1)+0.4*@shift2b1 elseif (x-a)*y > ratio*(x-a+@border1)^2 && (w-x)*y > ratio*(w-x+@border1)^2 ;8 z = s*@shrink11*@fn11(z)-flip(p)+flip(@shift1a1)+0.15*@shift1b1 else z = @shrinkb1*@borderfn1(z)+p endif ;right lower quadrant: elseif y > b+@border1 && x > a+@border1 if (x-a)*(h-y) > 1/ratio*(h-y+@border1)^2 && x*y > ratio*(x+@border1)^2 ;9 z = -s*@shrink41*@fn41(z)+flip(p)-flip(@shift4a1)+1.35*@shift4b1 elseif (x-a)*(h-y) > 1/ratio*(h-y+@border1)^2 && x*y <= ratio*(x-@border1)^2;10 z = s*@shrink31*@fn31(z)+conj(p)-flip(0.75*@shift3a1)-1.6*@shift3b1 elseif (x-a)*(h-y) <= 1/ratio*(h-y-@border1)^2 && x*y > ratio*(x+@border1)^2;11 z = s*@shrink21*@fn21(z)-conj(p)+flip(0.75*@shift2a1)+0.4*@shift2b1 elseif (x-a)*(h-y) <= 1/ratio*(h-y-@border1)^2 && x*y <= ratio*(x-@border1)^2;12 z = s*@shrink11*@fn11(z)+flip(p)-flip(@shift1a1)+0.15*@shift1b1 else z = @shrinkb1*@borderfn1(z)+p endif ;left lower quadrant: elseif y > b+@border1 && x <= a-@border1 if x*(y-b) > ratio*(x+@border1)^2 && (w-x)*y <= ratio*(w-x-@border1)^2 ;13 z = -s*@shrink31*@fn31(z)+conj(p)-flip(0.75*@shift3a1)+1.6*@shift3b1 elseif x*(y-b) > ratio*(x+@border1)^2 && (w-x)*y > ratio*(w-x+@border1)^2 ;14 z = -s*@shrink41*@fn41(z)+flip(p)+flip(@shift4a1)+1.35*@shift4b1 elseif x*(y-b) <= ratio*(x-@border1)^2 && (w-x)*y <= ratio*(w-x-@border1)^2 ;15 z = s*@shrink11*@fn11(z)+flip(p)+flip(@shift1a1)+0.15*@shift1b1 elseif x*(y-b) <= ratio*(x-@border1)^2 && (w-x)*y > ratio*(w-x+@border1)^2 ;16 z = -s*@shrink21*@fn21(z)-conj(p)+flip(0.75*@shift2a1)-0.4*@shift2b1 else z = @shrinkb1*@borderfn1(z)+p endif else z = @shrinkb1*@borderfn1(z)+p endif elseif @choose == 2 ;2 - grid3 ;left upper quadrant: if y < b-@border2 && x < a-@border2 if x*(b-y) > oitar*(b-y+@border2)^2 && x*y > ratio*(x+@border2)^2 z = @shrink12*@fn12(z)+p+@shift12 elseif x*(b-y) > oitar*(b-y+@border2-@bord2)^2 && x*y > ratio*(x+@border2-@bord2)^2 z = 0 elseif x*(b-y) > oitar*(b-y+@border2)^2 && x*y < ratio*(x-@border2)^2 z = -@shrink22*@fn22(z)+flip(p)-@shift22 elseif x*(b-y) > oitar*(b-y+@border2-@bord2)^2 && x*y < ratio*(x-@border2+@bord2)^2 z = 0 else if y > @border2/2 && y < 1*h/7-@border2/2 ;Row1 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.85*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.85*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 1*h/7+@border2/2 && y < 2*h/7-@border2/2 ;Row2 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 2*h/7+@border2/2 && y < 3*h/7-@border2/2 ;Row3 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 3*h/7+@border2/2 && y < 4*h/7-@border2/2 ;Row4 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkc*@fnc(z)+p+1.6*@shiftc elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkc*@fnc(z)+p+1.025*@shiftc elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkc*@fnc(z)+p+0.455*@shiftc elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = 1.02*ident(z)+p elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkc*@fnc(z)+p-0.455*@shiftc elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkc*@fnc(z)+p-1.025*@shiftc elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkc*@fnc(z)+p-1.6*@shiftc else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 4*h/7+@border2/2 && y < 5*h/7-@border2/2 ;Row5 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 5*h/7+@border2/2 && y < 6*h/7-@border2/2 ;Row6 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 6*h/7+@border2/2 && y < 7*h/7-@border2/2 ;Row7 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.825*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.825*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif else z = @shrinkb2*@borderfn2(z)+p endif endif elseif y < b-@border2+@bord2 && x < a-@border2+@bord2 z = 0 ;right upper quadrant: elseif y < b-@border2 && x > a+@border2 if (x-a)*y > ratio*(x-a+@border2+@bord2)^2 && (w-x)*y > ratio*(w-x+@border2+@bord2)^2 z = -@shrink12*@fn12(z)+p-@shift12 elseif (x-a)*y > ratio*(x-a+@border2)^2 && (w-x)*y > ratio*(w-x+@border2)^2 z = 0 elseif (x-a)*y > ratio*(x-a+@border2)^2 && (w-x)*y < ratio*(w-x-@border2)^2 z = -@shrink22*@fn22(z)+flip(p)-@shift22 elseif (x-a)*y > ratio*(x-a+@border2-@bord2)^2 && (w-x)*y < ratio*(w-x-@border2+@bord2)^2 z = 0 else if y > @border2/2 && y < 1*h/7-@border2/2 ;Row1 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.85*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.85*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 1*h/7+@border2/2 && y < 2*h/7-@border2/2 ;Row2 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 2*h/7+@border2/2 && y < 3*h/7-@border2/2 ;Row3 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 3*h/7+@border2/2 && y < 4*h/7-@border2/2 ;Row4 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkc*@fnc(z)+p+1.6*@shiftc elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkc*@fnc(z)+p+1.025*@shiftc elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkc*@fnc(z)+p+0.455*@shiftc elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = 1.02*ident(z)+p elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkc*@fnc(z)+p-0.455*@shiftc elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkc*@fnc(z)+p-1.025*@shiftc elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkc*@fnc(z)+p-1.6*@shiftc else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 4*h/7+@border2/2 && y < 5*h/7-@border2/2 ;Row5 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 5*h/7+@border2/2 && y < 6*h/7-@border2/2 ;Row6 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 6*h/7+@border2/2 && y < 7*h/7-@border2/2 ;Row7 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.825*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.825*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif else z = @shrinkb2*@borderfn2(z)+p endif endif elseif y < b-@border2+@bord2 && x > a+@border2-@bord2 z = 0 ;right lower quadrant: elseif y > b+@border2 && x > a+@border2 if (x-a)*(h-y) < oitar*(h-y-@border2-@bord2)^2 && x*y < ratio*(x-@border2-@bord2)^2 z = -@shrink12*@fn12(z)+p-@shift12 elseif (x-a)*(h-y) < oitar*(h-y-@border2)^2 && x*y < ratio*(x-@border2)^2 z = 0 elseif (x-a)*(h-y) < oitar*(h-y-@border2)^2 && x*y > ratio*(x+@border2)^2 z = @shrink22*@fn22(z)+flip(p)+@shift22 elseif (x-a)*(h-y) < oitar*(h-y-@border2+@bord2)^2 && x*y > ratio*(x+@border2-@bord2)^2 z = 0 else if y > @border2/2 && y < 1*h/7-@border2/2 ;Row1 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.85*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.85*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 1*h/7+@border2/2 && y < 2*h/7-@border2/2 ;Row2 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 2*h/7+@border2/2 && y < 3*h/7-@border2/2 ;Row3 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 3*h/7+@border2/2 && y < 4*h/7-@border2/2 ;Row4 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkc*@fnc(z)+p+1.6*@shiftc elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkc*@fnc(z)+p+1.025*@shiftc elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkc*@fnc(z)+p+0.455*@shiftc elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = 1.02*ident(z)+p elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkc*@fnc(z)+p-0.455*@shiftc elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkc*@fnc(z)+p-1.025*@shiftc elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkc*@fnc(z)+p-1.6*@shiftc else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 4*h/7+@border2/2 && y < 5*h/7-@border2/2 ;Row5 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 5*h/7+@border2/2 && y < 6*h/7-@border2/2 ;Row6 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 6*h/7+@border2/2 && y < 7*h/7-@border2/2 ;Row7 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.825*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.825*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif else z = @shrinkb2*@borderfn2(z)+p endif endif elseif y > b+@border2-@bord2 && x > a+@border2-@bord2 z = 0 ;left lower quadrant: elseif y > b+@border2 && x < a-@border2 if x*(y-b) < ratio*(x-@border2-@bord2)^2 && (w-x)*y < ratio*(w-x-@border2-@bord2)^2 z = @shrink12*@fn12(z)+p+@shift12 elseif x*(y-b) < ratio*(x-@border2)^2 && (w-x)*y < ratio*(w-x-@border2)^2 z = 0 elseif x*(y-b) < ratio*(x-@border2)^2 && (w-x)*y > ratio*(w-x+@border2)^2 z = @shrink22*@fn22(z)+flip(p)+@shift22 elseif x*(y-b) < ratio*(x-@border2+@bord2)^2 && (w-x)*y > ratio*(w-x+@border2-@bord2)^2 z = 0 else if y > @border2/2 && y < 1*h/7-@border2/2 ;Row1 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.85*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.85*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 1*h/7+@border2/2 && y < 2*h/7-@border2/2 ;Row2 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 2*h/7+@border2/2 && y < 3*h/7-@border2/2 ;Row3 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 3*h/7+@border2/2 && y < 4*h/7-@border2/2 ;Row4 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkc*@fnc(z)+p+1.6*@shiftc elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkc*@fnc(z)+p+1.025*@shiftc elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkc*@fnc(z)+p+0.455*@shiftc elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = 1.02*ident(z)+p elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkc*@fnc(z)+p-0.455*@shiftc elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkc*@fnc(z)+p-1.025*@shiftc elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkc*@fnc(z)+p-1.6*@shiftc else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 4*h/7+@border2/2 && y < 5*h/7-@border2/2 ;Row5 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 5*h/7+@border2/2 && y < 6*h/7-@border2/2 ;Row6 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 6*h/7+@border2/2 && y < 7*h/7-@border2/2 ;Row7 if x > @border2/2 && x < 1*w/7-@border2/2 ; col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.825*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.825*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif else z = @shrinkb2*@borderfn2(z)+p endif endif elseif y > b+@border2-@bord2 && x < a-@border2+@bord2 z = 0 else if y > @border2/2 && y < 1*h/7-@border2/2 ;Row1 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.85*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.85*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 1*h/7+@border2/2 && y < 2*h/7-@border2/2 ;Row2 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 2*h/7+@border2/2 && y < 3*h/7-@border2/2 ;Row3 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))-flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = -s*@shrinkc*@fnc(z)+flip(p)-0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))-flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 3*h/7+@border2/2 && y < 4*h/7-@border2/2 ;Row4 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkc*@fnc(z)+p+1.6*@shiftc elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkc*@fnc(z)+p+1.025*@shiftc elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkc*@fnc(z)+p+0.455*@shiftc elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = 1.02*ident(z)+p elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkc*@fnc(z)+p-0.455*@shiftc elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkc*@fnc(z)+p-1.025*@shiftc elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkc*@fnc(z)+p-1.6*@shiftc else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 4*h/7+@border2/2 && y < 5*h/7-@border2/2 ;Row5 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.85*@shiftbg1)+1.95*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+1.35*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+0.8*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.315*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-0.8*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-1.35*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.85*@shiftbg1)-1.95*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 5*h/7+@border2/2 && y < 6*h/7-@border2/2 ;Row6 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(-0.425*@shiftbg1)+2.25*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+1.7*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+1.125*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+0.745*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-1.125*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-1.7*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(-0.425*@shiftbg1)-2.25*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif elseif y > 6*h/7+@border2/2 && y < 7*h/7-@border2/2 ;Row7 if x > @border2/2 && x < 1*w/7-@border2/2 ;col1 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0*@shiftbg1)+2.575*@shiftbg2 elseif x > w/7+@border2/2 && x < 2*w/7-@border2/2 ;col2 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.425*@shiftbg1)+2.025*@shiftbg2 elseif x > 2*w/7+@border2/2 && x < 3*w/7-@border2/2 ;col3 z = s*@shrinkbg1*@fnb(z)+p-ratio*flip(conj(p))+flip(0.825*@shiftbg1)+1.45*@shiftbg2 elseif x > 3*w/7+@border2/2 && x < 4*w/7-@border2/2 ;col4 z = s*@shrinkc*@fnc(z)+flip(p)+1.175*@shiftc elseif x > 4*w/7+@border2/2 && x < 5*w/7-@border2/2 ;col5 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.825*@shiftbg1)-1.45*@shiftbg2 elseif x > 5*w/7+@border2/2 && x < 6*w/7-@border2/2 ;col6 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0.425*@shiftbg1)-2.025*@shiftbg2 elseif x > 6*w/7+@border2/2 && x < 7*w/7-@border2/2 ;col7 z = -s*@shrinkbg1*@fnb(z)+p+ratio*flip(conj(p))+flip(0*@shiftbg1)-2.575*@shiftbg2 else z = @shrinkb2*@borderfn2(z)+p endif else z = @shrinkb2*@borderfn2(z)+p endif endif elseif @choose == 3 ;3 - grid4 ;left upper quadrant: if y < b-@border3 && x <= a-@border3 if x*(b-y) > oitar*(b-y+@border3)^2 && x*y > ratio*(x+@border3)^2 ;1 z = s*@shrink13*@fn13(z)+conj(p)+flip(0.5*@shift1a3)+@shift1b3 elseif x*(b-y) > oitar*(b-y+@border3)^2 && x*y <= ratio*(x-@border3)^2 ;2 z = -s*@shrink23*@fn23(z)+flip(p)+flip(@shift2a3)-@shift2b3 elseif x*(b-y) <= oitar*(b-y-@border3)^2 && x*y > ratio*(x+@border3)^2 ;3 z = -s*@shrink33*@fn33(z)+conj(p)+flip(0.75*@shift3a3)+1.6*@shift3b3 elseif x*(b-y) <= oitar*(b-y-@border3)^2 && x*y <= ratio*(x-@border3)^2 ;4 z = s*@shrink43*@fn43(z)+flip(p)+flip(@shift4a3)-1.35*@shift4b3 else z = @shrinkb3*@borderfn3(z)+p endif ;left lower quadrant: elseif y > b+@border3 && x <= a-@border3 if x*(y-b) > ratio*(x+@border3)^2 && (w-x)*y <= ratio*(w-x-@border3)^2 ;13 z = -s*@shrink33*@fn33(z)+conj(p)-flip(0.75*@shift3a3)+1.6*@shift3b3 elseif x*(y-b) > ratio*(x+@border3)^2 && (w-x)*y > ratio*(w-x+@border3)^2 ;14 z = -s*@shrink43*@fn43(z)+flip(p)+flip(@shift4a3)+1.35*@shift4b3 elseif x*(y-b) <= ratio*(x-@border3)^2 && (w-x)*y <= ratio*(w-x-@border3)^2 ;15 z = s*@shrink13*@fn13(z)+conj(p)-flip(0.5*@shift1a3)+@shift1b3 elseif x*(y-b) <= ratio*(x-@border3)^2 && (w-x)*y > ratio*(w-x+@border3)^2 ;16 z = s*@shrink23*@fn23(z)+flip(p)+flip(@shift2a3)+@shift2b3 else z = @shrinkb3*@borderfn3(z)+p endif ;right upper quadrant: elseif y <= b-@border3 && x > a+@border3 if (x-a)*y <= ratio*(x-a-@border3)^2 && (w-x)*y <= ratio*(w-x-@border3)^2 ;5 z = s*@shrink43*@fn43(z)+flip(p)-flip(@shift4a3)-1.35*@shift4b3 elseif (x-a)*y <= ratio*(x-a-@border3)^2 && (w-x)*y > ratio*(w-x+@border3)^2;6 z = s*@shrink33*@fn33(z)+conj(p)+flip(0.75*@shift3a3)-1.6*@shift3b3 elseif (x-a)*y > ratio*(x-a+@border3)^2 && (w-x)*y <= ratio*(w-x-@border3)^2;7 z = -s*@shrink23*@fn23(z)+flip(p)-flip(@shift2a3)-@shift2b3 elseif (x-a)*y > ratio*(x-a+@border3)^2 && (w-x)*y > ratio*(w-x+@border3)^2 ;8 z = -s*@shrink13*@fn13(z)+conj(p)+flip(0.5*@shift1a3)-@shift1b3 else z = @shrinkb3*@borderfn3(z)+p endif ;right lower quadrant: elseif y > b+@border3 && x > a+@border3 if (x-a)*(h-y) > oitar*(h-y+@border3)^2 && x*y > ratio*(x+@border3)^2 ;9 z = -s*@shrink43*@fn43(z)+flip(p)-flip(@shift4a3)+1.35*@shift4b3 elseif (x-a)*(h-y) > oitar*(h-y+@border3)^2 && x*y <= ratio*(x-@border3)^2 ;10 z = s*@shrink33*@fn33(z)+conj(p)-flip(0.75*@shift3a3)-1.6*@shift3b3 elseif (x-a)*(h-y) <= oitar*(h-y-@border3)^2 && x*y > ratio*(x+@border3)^2 ;11 z = s*@shrink23*@fn23(z)+flip(p)-flip(@shift2a3)+@shift2b3 elseif (x-a)*(h-y) <= oitar*(h-y-@border3)^2 && x*y <= ratio*(x-@border3)^2 ;12 z = -s*@shrink13*@fn13(z)+conj(p)-flip(0.5*@shift1a3)-@shift1b3 else z = @shrinkb3*@borderfn3(z)+p endif else z = @shrinkb3*@borderfn3(z)+p endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Diag-grid" param choose enum = "grid1" "grid2" "grid3" "grid4" caption = "Choose" default = 0 endparam param Switch enum = "...out" "...in" default = 0 caption = "Switch" endparam ;0 (diag-grid1) func fn10 caption = "Centre L/R" default = sqr() enabled = @choose == 0 visible = @choose == 0 endfunc float param shrink10 caption = " - shrink" default = 2 enabled = @choose == 0 visible = @choose == 0 endparam float param shift10 caption = " - shift" default = 0 enabled = @choose == 0 visible = @choose == 0 endparam func fn20 caption = "Centre T/B" default = sqr() enabled = @choose == 0 visible = @choose == 0 endfunc float param shrink20 caption = " - shrink" default = 2 enabled = @choose == 0 visible = @choose == 0 endparam float param shift20 caption = " - shift" default = 0 enabled = @choose == 0 visible = @choose == 0 endparam func fn30 caption = "Outer L/R" default = sqr() enabled = @choose == 0 visible = @choose == 0 endfunc float param shrink30 caption = " - shrink" default = 2 enabled = @choose == 0 visible = @choose == 0 endparam float param shift30 caption = " - shift" default = 0 enabled = @choose == 0 visible = @choose == 0 endparam func fn40 caption = "Outer T/B" default = sqr() enabled = @choose == 0 visible = @choose == 0 endfunc float param shrink40 caption = " - shrink" default = 2 enabled = @choose == 0 visible = @choose == 0 endparam float param shift40 caption = " - shift" default = 0 enabled = @choose == 0 visible = @choose == 0 endparam float param border0 caption = "Borders" default = 1 enabled = @choose == 0 visible = @choose == 0 endparam func borderfn0 caption = " - function" default = recip() enabled = @choose == 0 visible = @choose == 0 endfunc float param shrinkb0 caption = " - shrink" default = 2 enabled = @choose == 0 visible = @choose == 0 endparam ;1 (diag-grid 5) heading caption = "CENTRE:" enabled = @choose == 1 visible = @choose == 1 endheading func fn11 caption = "Left/right" default = sqr() enabled = @choose == 1 visible = @choose == 1 endfunc float param shrink11 caption = " - shrink" default = 1 enabled = @choose == 1 visible = @choose == 1 endparam float param shift1b1 caption = " - shift U/D" default = 0 enabled = @choose == 1 visible = @choose == 1 endparam float param shift1a1 caption = " - shift L/R" default = 0 enabled = @choose == 1 visible = @choose == 1 endparam func fn21 caption = "Top/bottom" default = sqr() enabled = @choose == 1 visible = @choose == 1 endfunc float param shrink21 caption = " - shrink" default = 1 enabled = @choose == 1 visible = @choose == 1 endparam float param shift2a1 caption = " - shift U/D" default = 0 enabled = @choose == 1 visible = @choose == 1 endparam float param shift2b1 caption = " - shift L/R" default = 0 enabled = @choose == 1 visible = @choose == 1 endparam heading caption = "OUTER:" enabled = @choose == 1 visible = @choose == 1 endheading func fn31 caption = "Left/right" default = sqr() enabled = @choose == 1 visible = @choose == 1 endfunc float param shrink31 caption = " - shrink" default = 4 enabled = @choose == 1 visible = @choose == 1 endparam float param shift3b1 caption = " - shift L/R" default = 1 enabled = @choose == 1 visible = @choose == 1 endparam float param shift3a1 caption = " - shift U/D" default = 1 enabled = @choose == 1 visible = @choose == 1 endparam func fn41 caption = "Top/bottom" default = sqr() enabled = @choose == 1 visible = @choose == 1 endfunc float param shrink41 caption = " - shrink" default = 4 enabled = @choose == 1 visible = @choose == 1 endparam float param shift4a1 caption = " - shift L/R" default = 1 enabled = @choose == 1 visible = @choose == 1 endparam float param shift4b1 caption = " - shift U/D" default = 1 enabled = @choose == 1 visible = @choose == 1 endparam heading caption = "BORDERS:" enabled = @choose == 1 visible = @choose == 1 endheading float param border1 caption = " - width" default = 1 enabled = @choose == 1 visible = @choose == 1 endparam func borderfn1 caption = " - function" default = ident() enabled = @choose == 1 visible = @choose == 1 endfunc float param shrinkb1 caption = " - shrink" default = 2 enabled = @choose == 1 visible = @choose == 1 endparam ;2 (diag-grid3) heading caption = "Centre" enabled = @choose == 2 visible = @choose == 2 endheading func fn12 caption = "Left/right" default = sqr() enabled = @choose == 2 visible = @choose == 2 endfunc float param shrink12 caption = " - shrink" default = 2 enabled = @choose == 2 visible = @choose == 2 endparam float param shift12 caption = " - shift" default = 0 enabled = @choose == 2 visible = @choose == 2 endparam func fn22 caption = "Top/bottom" default = sqr() enabled = @choose == 2 visible = @choose == 2 endfunc float param shrink22 caption = " - shrink" default = 2 enabled = @choose == 2 visible = @choose == 2 endparam float param shift22 caption = " - shift" default = 0 enabled = @choose == 2 visible = @choose == 2 endparam float param border2 caption = "Borders" default = 1 enabled = @choose == 2 visible = @choose == 2 endparam float param bord2 caption = "Border2" default = 1 enabled = @choose == 2 visible = @choose == 2 endparam func borderfn2 caption = " - function" default = ident() enabled = @choose == 2 visible = @choose == 2 endfunc float param shrinkb2 caption = " - shrink" default = 2 enabled = @choose == 2 visible = @choose == 2 endparam ;background heading caption = "Background:" enabled = @choose == 2 visible = @choose == 2 endheading func fnb caption = "Matrix" default = sqr() enabled = @choose == 2 visible = @choose == 2 endfunc float param shiftbg1 caption = " - shift L/R" default = 1 enabled = @choose == 2 visible = @choose == 2 endparam float param shiftbg2 caption = " - shift I/O" default = 1 enabled = @choose == 2 visible = @choose == 2 endparam float param shrinkbg1 caption = " - shrink" default = 5 enabled = @choose == 2 visible = @choose == 2 endparam heading caption = "Central +:" enabled = @choose == 2 visible = @choose == 2 endheading func fnc caption = "Function" default = sqr() enabled = @choose == 2 visible = @choose == 2 endfunc float param shiftc caption = " - shift" default = 1 enabled = @choose == 2 visible = @choose == 2 endparam float param shrinkc caption = " - shrink" default = 5 enabled = @choose == 2 visible = @choose == 2 endparam ;3 (diag-grid4) heading caption = "CENTRE:" enabled = @choose == 3 visible = @choose == 3 endheading func fn13 caption = "Left/right" default = sqr() enabled = @choose == 3 visible = @choose == 3 endfunc float param shrink13 caption = " - shrink" default = 2 enabled = @choose == 3 visible = @choose == 3 endparam float param shift1b3 caption = " - shift L/R" default = 0 enabled = @choose == 3 visible = @choose == 3 endparam float param shift1a3 caption = " - shift U/D" default = 0 enabled = @choose == 3 visible = @choose == 3 endparam func fn23 caption = "Top/bottom" default = sqr() enabled = @choose == 3 visible = @choose == 3 endfunc float param shrink23 caption = " - shrink" default = 2 enabled = @choose == 3 visible = @choose == 3 endparam float param shift2a3 caption = " - shift L/R" default = 0 enabled = @choose == 3 visible = @choose == 3 endparam float param shift2b3 caption = " - shift U/D" default = 0 enabled = @choose == 3 visible = @choose == 3 endparam heading caption = "OUTER:" enabled = @choose == 3 visible = @choose == 3 endheading func fn33 caption = "Left/right" default = sqr() enabled = @choose == 3 visible = @choose == 3 endfunc float param shrink33 caption = " - shrink" default = 3 enabled = @choose == 3 visible = @choose == 3 endparam float param shift3b3 caption = " - shift L/R" default = 1 enabled = @choose == 3 visible = @choose == 3 endparam float param shift3a3 caption = " - shift U/D" default = 1 enabled = @choose == 3 visible = @choose == 3 endparam func fn43 caption = "Top/bottom" default = sqr() enabled = @choose == 3 visible = @choose == 3 endfunc float param shrink43 caption = " - shrink" default = 3 enabled = @choose == 3 visible = @choose == 3 endparam float param shift4a3 caption = " - shift L/R" default = 1 enabled = @choose == 3 visible = @choose == 3 endparam float param shift4b3 caption = " - shift U/D" default = 1 enabled = @choose == 3 visible = @choose == 3 endparam heading caption = "BORDERS:" enabled = @choose == 3 visible = @choose == 3 endheading float param border3 caption = " - width" default = 1 enabled = @choose == 3 visible = @choose == 3 endparam func borderfn3 caption = " - function" default = ident() enabled = @choose == 3 visible = @choose == 3 endfunc float param shrinkb3 caption = " - shrink" default = 2 enabled = @choose == 3 visible = @choose == 3 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 100 min = 1 endparam heading caption = "KEY:" text = "L/R = left/right, T/B = top/bottom, U/D = up/down, I/O = in/out" endheading } Overflow { ;...dripping with fractals again - a curved waterfall? init: z = 0 complex p = #pixel y = #y loop: if y < @split z = conj(@factor1*fn1(z)/@factor2*fn2(z)+@factor3*fn3(p)/@factor4*fn4(p)) else z = @factor1*fn1(z)/@factor2*fn2(z)+@factor3*fn3(p)/@factor4*fn4(p) endif bailout: |z| < 1000 default: title = "Fractal Overflow" angle = 0.0 center = (1.5,-0.4) magn = 2.3 func fn1 caption = "Function 1" default = sin() endfunc func fn2 caption = "Function 2" default = tan() endfunc func fn3 caption = "Function 3" default = abs() endfunc func fn4 caption = "Function 4" default = exp() endfunc float param factor1 default = 1 endparam float param factor2 default = 0.7 endparam float param factor3 default = 0.5 endparam float param factor4 default = 0.3 endparam int param split default = 0 endparam } Docking { ;ground control to...? init: z = 0 p = #pixel loop: z = @factor1*fn1(z)-@factor2*fn2(p)+@factor3*fn3(flip(z))-@factor4*fn4(flip(p)) bailout: |z| < 1000 default: title = "Docking" angle = 30.0 center = (-4.7,1.1) magn = 0.3 func fn1 caption = "Function 1" default = tanh() endfunc func fn2 caption = "Function 2" default = abs() endfunc func fn3 caption = "Function 3" default = sqr() endfunc func fn4 caption = "Function 4" default = conj() endfunc float param factor1 default = 0.45 endparam float param factor2 default = -0.5 endparam float param factor3 default = 0.4 endparam float param factor4 default = 0.12 endparam } Trident2 { ;and here... init: z = 0 complex p = #pixel loop: z = @factor1*fn1(z)+z+@factor2*fn2(p)+p+@factor3*fn3(p) bailout: (@test == 0 && |#z| <= @bailout) || \ (@test == 1 && sqr(real(#z)) <= @bailout) || \ (@test == 2 && sqr(imag(#z)) <= @bailout) || \ (@test == 3 && (sqr(real(#z)) <= @bailout && sqr(imag(#z)) < @bailout)) || \ (@test == 4 && (sqr(real(#z)) <= @bailout || sqr(imag(#z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(#z)) + abs(imag(#z))) <= @bailout)) || \ (@test == 6 && (sqr(real(#z) + imag(#z)) <= @bailout)) default: title = "Trident2" angle = -38.0 center = (-0.448,0.0276) magn = 0.9 func fn1 caption = "Function 1" default = cabs() endfunc func fn2 caption = "Function 2" default = recip() endfunc func fn3 caption = "Function 3" default = sin() endfunc float param factor1 default = 1.634483 endparam float param factor2 default = 0.123965 endparam float param factor3 default = -0.182759 endparam param test caption = "Bailout Test" default = 1 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam param bailout caption = "Bailout value" default = 4.0 endparam } Xident { init: z = 0 complex p = #pixel loop: z = @factor1*fn1(z)+@factor2*fn2(z)+@factor2*fn2(p)+@factor3*fn3(p) bailout: |z| < 10000 default: title = "Xident" angle = 90.0 center = (0,-3) magn = 0.4 func fn1 caption = "Function 1" default = cabs() endfunc func fn2 caption = "Function 2" default = sinh() endfunc func fn3 caption = "Function 3" default = sinh() endfunc float param factor1 default = 2 endparam float param factor2 default = -0.94723 endparam float param factor3 default = -0.28621 endparam } 4x2 { init: z = 0 x = #x y = #y a = #width/2 b = #height/2 h = #height ratio = #height/#width p = #pixel loop: ;left upper quadrant: if y < b && x < a if (x-(a-@carats))*(b-y) < 1/ratio*(b-y)^2 if @reverseOuter == "reverse" z = @shrink2*fn2(z)-p-ratio*flip(conj(p)+flip(@shifto))-1.25*@shifto else z = -@shrink2*fn2(z)-p-ratio*flip(conj(p)+flip(@shifto))-1.25*@shifto endif else if @reverseCentre == "reverse" z = @shrink1*fn1(z)+flip(p)+@shifti else z = -@shrink1*fn1(z)+flip(p)-@shifti endif endif ;right upper quadrant: elseif y < b && x > a if (x-@carats)*y < ratio*(x-@carats)^2 if @reverseOuter == "reverse" z = @shrink2*fn2(z)+p-ratio*flip(conj(p)+flip(@shifto))-1.25*@shifto else z = -@shrink2*fn2(z)+p-ratio*flip(conj(p)+flip(@shifto))-1.25*@shifto endif else if @reverseCentre == "reverse" z = @shrink1*fn1(z)+p+@shifti else z = -@shrink1*fn1(z)+p-@shifti endif endif ;right lower quadrant: elseif y > b && x > a if (x-@carats)*(h-y) > 1/ratio*(h-y)^2 if @reverseOuter == "reverse" z = @shrink2*fn2(z)+p+ratio*flip(conj(p)-flip(@shifto))-1.25*@shifto else z = -@shrink2*fn2(z)+p+ratio*flip(conj(p)-flip(@shifto))-1.25*@shifto endif else if @reverseCentre == "reverse" z = -@shrink1*fn1(z)+flip(p)-@shifti else z = @shrink1*fn1(z)+flip(p)+@shifti endif endif ;left lower quadrant: elseif y > b && x < a && x > (a-@carats) if (x-(a-@carats))*(y-b) > ratio*(x-(a-@carats))^2 if @reverseOuter == "reverse" z = @shrink2*fn2(z)-p+ratio*flip(conj(p)-flip(@shifto))-1.25*@shifto else z = -@shrink2*fn2(z)-p+ratio*flip(conj(p)-flip(@shifto))-1.25*@shifto endif else if @reverseCentre == "reverse" z = -@shrink1*fn1(z)+p-@shifti else z = @shrink1*fn1(z)+p+@shifti endif endif ;without this next 'elseif', a rectangle area in the bottom left corner \ ;appears as 'centre' function, not backgound - don't know why elseif y > b && x < a && x <= (a-@carats) if @reverseOuter == "reverse" z = @shrink2*fn2(z)-p+ratio*flip(conj(p)-flip(@shifto))-1.25*@shifto else z = -@shrink2*fn2(z)-p+ratio*flip(conj(p)-flip(@shifto))-1.25*@shifto endif else z = ident(z)+p endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "4x2" heading caption = "CENTRE" endheading func fn1 caption = "Function" default = sqr() endfunc float param shrink1 caption = " - shrink it" default = 3 endparam param reverseCentre enum = "normal" "reverse" caption = " - flip it" default = 0 endparam float param shifti caption = " - move it" default = 0.5 endparam float param carats caption = "Diamond size" default = 512 endparam heading caption = "OUTER" endheading func fn2 caption = "Function" default = sqr() endfunc float param shrink2 caption = " - shrink it" default = 2 endparam param reverseOuter enum = "normal" "reverse" caption = " - flip it" default = 1 endparam float param shifto caption = " - move it" default = 1.15 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } XOX { init: complex z = (0,0) float x = #x float y = #y float b = #height/2 float w = #width float seg = w/2 complex p = #pixel float bakseg = w/6 float wavelength = seg/(@wd*@wd)*w/4.9 loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @waveheight = 2*@waveamp else @waveheight = @waveheight endif if x < w/@div-2 ;left 3rd if @setbackfn == 0 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p+@split elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-@split endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+@split elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 5*bakseg z = s*@shrink*flip(z)+p-@split endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif elseif x > w/@div-2 && x < w-w/@div+2 ;middle 3rd if b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+@border && \ b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) z = zero(z)+p elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p elseif b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif endif elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p elseif b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif endif else if @setbackfn == 0 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p+@split elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-@split endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+@split elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 5*bakseg z = s*@shrink*flip(z)+p-@split endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif else ;right 3rd if @setbackfn == 0 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p+@split elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-@split endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+@split elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 5*bakseg z = s*@shrink*flip(z)+p-@split endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= sqr(@bailout))) || \ (@test == 7 && (sqr(real(z) - imag(z)) <= sqr(@bailout))) default: title = "XOX" heading caption = "Background" endheading int param div caption = "Divider" default = 3 endparam param setbackfn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn == 1 endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param split default = 1.33 caption = " - split in/out" endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam heading caption = "Centre" endheading param setwavefn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param splitwav caption = " - split" default = 0.15 visible = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam func fn1 caption = "Shape" default = cos() endfunc param waveamp caption = "Amplitude" default = 200 endparam param setwaveheight enum = "= amplitude x2" "Choose" default = 0 caption = " - height mode" endparam float param waveheight caption = " - height" default = 120 min = 0 visible = @setwaveheight == 1 enabled = @setwaveheight == 1 endparam float param wd caption = "Number of waves" default = 3 min = 1 endparam float param border caption = " Border" default = 2 visible = @setwavefn == 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "or" "and" "manh" "manr" "manl" endparam float param bailout default = 100 caption = " - value" visible = @test == 0 endparam } XonOonX { init: complex z = (0,0) float x = #y float y = #x float b = #width/2 float w = #height float seg = #height/2 complex p = #pixel float bakseg = #height/6 float wavelength = seg/(@wd*@wd*9)*w/4.9 loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @waveheight = 2*@waveamp else @waveheight = @waveheight endif if x > w/3 && x < w-w/3 ;middle 3rd if b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+@border && \ b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) z = zero(z)+p elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p elseif b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if y < b z = sw*@shrinkwav*@wavefn(z)+flip(p)-@splitwav else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@splitwav endif endif elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p elseif b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if y < b z = sw*@shrinkwav*@wavefn(z)+flip(p)-@splitwav else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@splitwav endif endif else if @setbackfn == 0 if y <= b if x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p+@split endif elseif y > b if x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-@split endif endif else if y <= b z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif else if @setbackfn == 0 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p-2+@split elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-2+@split endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+2-@split elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 5*bakseg z = s*@shrink*flip(z)+p+2-@split endif endif else if y <= b z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif bailout: |z| < 100 default: title = "XonOonX" heading caption = "Background" endheading param setbackfn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn == 1 endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param split default = 1 caption = " - split L/R" endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam heading caption = "Centre" endheading param setwavefn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param splitwav caption = " - split" default = 0.15 visible = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam func fn1 caption = "Shape" default = cos() visible = @setwavefn == 1 endfunc param waveamp caption = "Amplitude" default = 200 endparam param setwaveheight enum = "= amplitude x2" "Choose" default = 0 caption = " - height mode" endparam float param waveheight caption = " - height" default = 120 min = 0 visible = @setwaveheight == 1 enabled = @setwaveheight == 1 endparam int param wd caption = "Number of waves" default = 1 min = 1 endparam float param border caption = " Border" default = 2 visible = @setwavefn == 1 endparam } <()><()><()> { init: z = 0 x = #x y = #y b = #height/2 w = #width seg = w/2 p = #pixel bakseg = w/6 wavelength = seg/(@wd*@wd)*w/4.95 loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @waveheight = 2*@waveamp else @waveheight = @waveheight endif if b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+@border && \ b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) z = zero(z)+p elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p elseif b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif endif elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p elseif b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif endif else if @setbackfn == 0 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p+2*@split1-flip(@split2) elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+0.65*@split1-flip(@split2) elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p+0.65*@split1-flip(@split2) elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-0.65*@split1-flip(@split2) elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p-0.65*@split1-flip(@split2) elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-2*@split1-flip(@split2) endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+2*@split1+flip(@split2) elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+0.65*@split1+flip(@split2) elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+0.65*@split1+flip(@split2) elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p-0.65*@split1+flip(@split2) elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-0.65*@split1+flip(@split2) elseif x > 5*bakseg z = s*@shrink*flip(z)+p-2*@split1+flip(@split2) endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= sqr(@bailout))) || \ (@test == 7 && (sqr(real(z) - imag(z)) <= sqr(@bailout))) default: title = "<()><()><()>" heading caption = "Background:" endheading param setbackfn enum = "= flip" "Choose" default = 0 caption = "Function" endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn == 1 endfunc float param shrink default = 1.01 caption = " - shrink" endparam float param split default = 1.01 caption = " - split" visible = @setbackfn == 1 enabled = @setbackfn == 1 endparam float param split1 default = 1.01 caption = " - split L/R" endparam float param split2 default = 0 caption = " - split U/D" endparam param switchbak enum = "Flipped" "Unflipped" default = 1 caption = " - switch" endparam heading caption = "Centre Attributes:" endheading param setwavefn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param splitwav caption = " - split" default = 0.15 visible = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam func fn1 caption = " - shape" default = cos() endfunc param waveamp caption = " - amplitude" default = 100 endparam param setwaveheight enum = "height = amplitude x2" "Choose" default = 0 caption = " - height mode" endparam float param waveheight caption = " - height" default = 120 min = 0 visible = @setwaveheight == 1 enabled = @setwaveheight == 1 endparam float param wd caption = " - number of waves" default = 3 min = 1 endparam float param border caption = " - border" default = 2 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam heading caption = "Bailout:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "manh" "manr" "manl" endparam float param bailout default = 100 caption = " - value" endparam } <()><()> { init: z = 0 x = #x y = #y b = #height/2 w = #width seg = w/2 p = #pixel bakseg = w/4 wavelength = seg/(@wd*@wd)*w/4.9 loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @waveheight = 2*@waveamp else @waveheight = @waveheight endif if b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+@border && \ b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) z = zero(z)+p elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p elseif b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif endif elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p elseif b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif endif else if @setbackfn == 0 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p+2*@split1-flip(@split2) elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p-flip(@split2) elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p-flip(@split2) elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-2*@split1-flip(@split2) endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+2*@split1+flip(@split2) elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+flip(@split2) elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+flip(@split2) elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p-2*@split1+flip(@split2) endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= sqr(@bailout))) || \ (@test == 7 && (sqr(real(z) - imag(z)) <= sqr(@bailout))) default: title = "<()><()>" heading caption = "Background:" endheading param setbackfn enum = "= flip" "Choose" default = 0 caption = "Function" endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn == 1 endfunc float param shrink default = 1 caption = " - shrink" endparam float param split default = 1.01 caption = " - split" visible = @setbackfn == 1 enabled = @setbackfn == 1 endparam float param split1 default = 1 caption = " - split L/R" visible = @setbackfn == 2 enabled = @setbackfn == 2 endparam float param split2 default = 0 caption = " - split U/D" visible = @setbackfn == 2 enabled = @setbackfn == 2 endparam param switchbak enum = "Flipped" "Unflipped" default = 1 caption = " - switch" endparam heading caption = "Centre Attributes:" endheading param setwavefn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 enabled = @setwavefn == 1 endfunc float param splitwav caption = " - split" default = 0.9 visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam func fn1 caption = " - shape" default = sin() endfunc param waveamp caption = " - amplitude" default = 100 endparam param setwaveheight enum = "= amplitude x2" "Choose" default = 0 caption = " - height mode" endparam float param waveheight caption = " - height" default = 120 min = 0 visible = @setwaveheight == 1 enabled = @setwaveheight == 1 endparam float param wd caption = " - number of waves" default = 2 min = 1 endparam float param border caption = " - border" default = 2 visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam heading caption = "Bailout:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "manh" "manr" "manl" endparam float param bailout default = 100 caption = " - value" endparam } XX { init: z = 0 x = #x y = #y b = #height/2 w = #width seg = w/2 p = #pixel bakseg = w/4 loop: if @switchbak == 0 s = 1 else s = -1 endif if @setbackfn == 0 if y <= b if x <= bakseg z = -s*@shrink*flip(z)+p+flip(@split2) elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+2+flip(@split2) elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p-2+flip(@split2) elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p+flip(@split2) endif elseif y > b if x <= bakseg z = s*@shrink*flip(z)+p-flip(@split2) elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+2-flip(@split2) elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p-2-flip(@split2) elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-flip(@split2) endif endif else if x <= seg z = s*@shrinkb*@backfn(z)+p+@split else z = -s*@shrinkb*@backfn(z)+p-@split endif endif bailout: |z| < @bailout default: title = "XX" param setbackfn enum = "= flip" "Choose" default = 0 caption = "Function" endparam float param bailout default = 10 caption = "X size" visible = @setbackfn == 0 enabled = @setbackfn == 0 endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn == 1 enabled = @setbackfn == 1 endfunc float param shrink default = 0.975 caption = " - shrink" visible = @setbackfn == 0 enabled = @setbackfn == 0 endparam float param shrinkb default = 1 caption = " - shrink" visible = @setbackfn == 1 enabled = @setbackfn == 1 endparam float param split default = 1.01 caption = " - split" visible = @setbackfn == 1 enabled = @setbackfn == 1 endparam float param split2 default = 1 caption = " - split U/D" endparam param switchbak enum = "Flipped" "Unflipped" default = 1 caption = " - switch" endparam } XonX { init: z = 0 x = #y y = #x b = #width/2 w = #height seg = w/2 p = #pixel bakseg = w/4 loop: if @switchbak == 0 s = 1 else s = -1 endif if @setbackfn == 0 if y <= b if x <= bakseg z = -s*@shrink*flip(z)+p-0.75-flip(@split2) elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+0.75+flip(@split2) elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+0.75-flip(@split2) elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p-0.75+flip(@split2) endif elseif y > b if x <= bakseg z = s*@shrink*flip(z)+p+0.75-flip(@split2) elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p-0.75+flip(@split2) elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p-0.75-flip(@split2) elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p+0.75+flip(@split2) endif endif else if x <= seg if y < b z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif else if y < b z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "XonX" param setbackfn enum = "= flip" "Choose" default = 0 caption = "Function" endparam float param bailout default = 10 caption = "X size" visible = @setbackfn == 0 enabled = @setbackfn == 0 endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn == 1 endfunc float param shrink default = 1 caption = " - shrink" endparam float param split default = 1.01 caption = " - split" visible = @setbackfn == 1 enabled = @setbackfn == 1 endparam float param split2 default = 0 caption = " - split L/R" visible = @setbackfn == 0 enabled = @setbackfn == 0 endparam param switchbak enum = "Flipped" "Unflipped" default = 1 caption = " - switch" endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } OOO { init: z = 0 x = #x y = #y b = #height/2 w = #width p = #pixel wavelength = (w/4+(w/4)/10*w)/2.25 loop: if @Switch1 == 0 s = 1 else s = -1 endif if @Switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @waveheight = 2*@waveamp else @waveheight = @waveheight endif if y < b ;left 1/3, top 1/2 if x <= w/6 if b-y < @waveamp*sin(sqrt(|x|/wavelength))+@border && \ b-y > @waveamp*sin(sqrt(|x|/wavelength)) z = zero(z)+p elseif b-y < @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p+1.3 else z = -sw*@shrinkwav*@wavefn(z)+p+7.5*@splitwav endif else z = -s*@shrink*@backfn(z)+p+2.66 endif elseif x > w/6 && x <= 2*w/6 if b-y < @waveamp*sin(sqrt(|x|/wavelength))+@border && \ b-y > @waveamp*sin(sqrt(|x|/wavelength)) z = zero(z)+p elseif b-y < @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p+1.3 else z = -sw*@shrinkwav*@wavefn(z)+p+7.5*@splitwav endif else z = s*@shrink*@backfn(z)+p endif ;middle 1/3, top 1/2 elseif x > 2*w/6 && x <= w/2 if b-y > @waveamp*sin(sqrt(|x|/wavelength))-@border && \ b-y < @waveamp*sin(sqrt(|x|/wavelength)) z = zero(z)+p elseif b-y > @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p else z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav endif elseif b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) && \ b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength))+@border z = zero(z)+p else z = -s*@shrink*@backfn(z)+p+1.33 endif elseif x > w/2 && x <= 4*w/6 if b-y > @waveamp*sin(sqrt(|x|/wavelength))-@border && \ b-y < @waveamp*sin(sqrt(|x|/wavelength)) z = zero(z)+p elseif b-y > @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif elseif b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) && \ b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength))+@border z = zero(z)+p else z = s*@shrink*@backfn(z)+p-1.33 endif ;right 1/3, top 1/2 elseif x > 4/2 && x <= 5*w/6 if b-y < @waveamp*sin(sqrt(|x|/wavelength))+@border && \ b-y > @waveamp*sin(sqrt(|x|/wavelength)) z = zero(z)+p elseif b-y < @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p-1.3 else z = sw*@shrinkwav*@wavefn(z)+p-7.5*@splitwav endif else z = -s*@shrink*@backfn(z)+p endif elseif x > 5*w/6 if b-y < @waveamp*sin(sqrt(|x|/wavelength))+@border && \ b-y > @waveamp*sin(sqrt(|x|/wavelength)) z = zero(z)+p elseif b-y < @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p-1.3 else z = sw*@shrinkwav*@wavefn(z)+p-7.5*@splitwav endif else z = s*@shrink*@backfn(z)+p-2.66 endif endif else ;(if y > b) ;left 1/3, bottom 1/2 if x <= w/6 if b-y < @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p+1.3 else z = -sw*@shrinkwav*@wavefn(z)+p+7.5*@splitwav endif elseif b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength))-@border z = zero(z)+p else z = s*@shrink*@backfn(z)+p+2.66 endif elseif x > w/6 && x <= 2*w/6 if b-y < @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p+1.3 else z = -sw*@shrinkwav*@wavefn(z)+p+7.5*@splitwav endif elseif b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength))-@border z = zero(z)+p else z = -s*@shrink*@backfn(z)+p endif ;middle 1/3, bottom 1/2 elseif x > 2*w/6 && x <= w/2 if b-y > @waveamp*sin(sqrt(|x|/wavelength))-@border && \ b-y < @waveamp*sin(sqrt(|x|/wavelength)) z = zero(z)+p elseif b-y > @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p else z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav endif elseif b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) && \ b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength))+@border z = zero(z)+p else z = s*@shrink*@backfn(z)+p+1.33 endif elseif x > w/2 && x <= 4*w/6 if b-y > @waveamp*sin(sqrt(|x|/wavelength))-@border && \ b-y < @waveamp*sin(sqrt(|x|/wavelength)) z = zero(z)+p elseif b-y > @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif elseif b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) && \ b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength))+@border z = zero(z)+p else z = -s*@shrink*@backfn(z)+p-1.33 endif ;right 1/3, bottom 1/2 elseif x > 4*w/6 && x <= 5*w/6 if b-y < @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p-1.3 else z = sw*@shrinkwav*@wavefn(z)+p-7.5*@splitwav endif elseif b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength))-@border z = zero(z)+p else z = s*@shrink*@backfn(z)+p endif elseif x > 5*w/6 if b-y < @waveamp*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) if @setwavefn == 0 z = ident(z)+p-1.3 else z = sw*@shrinkwav*@wavefn(z)+p-7.5*@splitwav endif elseif b-y < (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength)) && \ b-y > (@waveamp-@waveheight)*sin(sqrt(|x|/wavelength))-@border z = zero(z)+p else z = -s*@shrink*@backfn(z)+p-2.66 endif endif endif bailout: |z| < 100 default: title = "OOO" heading caption = "Background" endheading func @backfn default = flip() caption = " - choose function" endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam param Switch1 enum = "^^^" "vvv" default = 0 caption = " - ^^^ or vvv" endparam heading caption = "Wave" endheading param setwavefn enum = "Preset" "Choose" default = 0 caption = "Wave" endparam func wavefn caption = " - function" default = sqr() visible = @setwavefn == 1 endfunc param waveamp caption = " - amplitude (pixels)" default = 288 endparam param setwaveheight enum = "= amplitude x2" "Choose" default = 0 caption = " - height mode" endparam float param waveheight caption = " - height (pixels)" default = 576 min = 0 visible = @setwavefn == 1 endparam float param border caption = " - border" default = 2 visible = @setwavefn == 1 endparam float param splitwav caption = " - split" default = 0.15 visible = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam param Switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" endparam } XXXX { ;...marks the spot? init: z = 0 complex p = #pixel ;I did this so long lines will fit on the screen loop: z = @factor1*fn1(z+@factor2*fn2(p))+@factor3*fn3(z+@factor4*fn4(p)) bailout: |z| <= @bailout default: title = "XXXX" angle = 0.0 center = (0.1,0.05) magn = 0.6 func fn1 caption = "Function 1" default = sin() endfunc func fn2 caption = "Function 2" default = sqr() endfunc func fn3 caption = "Function 3" default = conj() endfunc func fn4 caption = "Function 4" default = sqr() endfunc float param bailout default = 10000 endparam float param factor1 default = 0.5 endparam float param factor2 default = 0.8 endparam float param factor3 default = 1.1 endparam float param factor4 default = 0.5 endparam } OOOx2{ init: z = 0 x = #x y = #y b = #height/2 w = #width h = #height seg = w/2 p = #pixel bakseg = w/6 wavelength = seg/(@wd*@wd)*w/4.85 loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 @waveheight = 2*@waveamp endif if @setwaveheight == 0 @waveheight = 2*@waveamp else @waveheight = @waveheight endif if y-(b-@gap) < @waveamp*fn1(sqrt(|x-seg|/wavelength))+@border/2 && \ y-(b-@gap) > @waveamp*fn1(sqrt(|x-seg|/wavelength)) z = zero(z)+p elseif y-(b-@gap) < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ y-(b-@gap) > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border/2 z = zero(z)+p elseif y-(b-@gap) < @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ y-(b-@gap) > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud-flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud-flip(@shift) endif endif endif elseif y-(b-@gap) > @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ y-(b-@gap) < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud-flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud-flip(@shift) endif endif endif elseif h-y-(b-@gap) < @waveamp*fn1(sqrt(|x-seg|/wavelength))+@border/2 && \ h-y-(b-@gap) > @waveamp*fn1(sqrt(|x-seg|/wavelength)) z = zero(z)+p elseif h-y-(b-@gap) < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ h-y-(b-@gap) > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border/2 z = zero(z)+p elseif h-y-(b-@gap) < @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ h-y-(b-@gap) > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud-flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud-flip(@shift) endif endif endif elseif h-y-(b-@gap) > @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ h-y-(b-@gap) < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn1(z)+flip(p)-@shiftud-flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn2(z)+flip(p)+@shiftud-flip(@shift) endif endif endif else if @setbackmode == 0 ;Fixed, 6-split if y < b if x <= bakseg z = -s*@shrinkflip*flip(z)+p+2.66 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkflip*flip(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkflip*flip(z)+p+1.33 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkflip*flip(z)+p-1.33 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkflip*flip(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkflip*flip(z)+p-2.66 endif else if x <= bakseg z = s*@shrinkflip*flip(z)+p+2.66 elseif x > bakseg && x < 2*bakseg z = -s*@shrinkflip*flip(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrinkflip*flip(z)+p+1.33 elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrinkflip*flip(z)+p-1.33 elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrinkflip*flip(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = -s*@shrinkflip*flip(z)+p-2.66 endif endif elseif @setbackmode == 1 ;Choose(1), 2-split if x <= seg && y < b z = s*@shrinkbak*@backfn(z)+p-flip(@split1)+@split2 elseif x <= seg && y > b z = s*@shrinkbak*@backfn(z)+p+flip(@split1)+@split2 elseif x > seg && y < b z = -s*@shrinkbak*@backfn(z)+p-flip(@split1)-@split2 elseif x > seg && y > b z = -s*@shrinkbak*@backfn(z)+p+flip(@split1)-@split2 endif elseif @setbackmode == 2 ;Choose(2), 2-split if x <= seg && y < b z = s*@shrinkbak*@backfn(z)+flip(p)+flip(@split3)-@split4 elseif x <= seg && y > b z = -s*@shrinkbak*@backfn(z)+flip(p)+flip(@split3)+@split4 elseif x > seg && y < b z = s*@shrinkbak*@backfn(z)+flip(p)-flip(@split3)-@split4 elseif x > seg && y > b z = -s*@shrinkbak*@backfn(z)+flip(p)-flip(@split3)+@split4 endif else ;Choose, 6-split if y+@gap < b if x <= bakseg z = -s*@shrinkbak*@backfn(z)+p+2.66*@split1 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkbak*@backfn(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkbak*@backfn(z)+p+1.33*@split1 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkbak*@backfn(z)+p-1.33*@split1 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkbak*@backfn(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkbak*@backfn(z)+p-2.66*@split1 endif else if x <= bakseg z = -s*@shrinkbak*@backfn(z)+p+2.66*@split1 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkbak*@backfn(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkbak*@backfn(z)+p+1.33*@split1 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkbak*@backfn(z)+p-1.33*@split1 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkbak*@backfn(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkbak*@backfn(z)+p-2.66*@split1 endif endif endif endif bailout: |z| < 100 default: title = "OOOx2" heading caption = "BACKGROUND:" endheading param setbackmode enum = "Fixed (flip), 6-split" "Choose(1), 2-split" "Choose(2), 2-split" "Choose, 6-split" default = 0 caption = "Mode" endparam func @backfn default = sqr() caption = " - function" visible = @setbackmode != 0 endfunc float param shrinkflip default = 1.02 caption = " - shrink" visible = @setbackmode == 0 endparam float param shrinkbak default = 2.5 caption = " - shrink" visible = @setbackmode != 0 endparam float param split1 default = 0.66 caption = " - move U/D" visible = @setbackmode != 0 && @setbackmode != 2 endparam float param split2 default = 1 caption = " - move L/R" visible = @setbackmode == 1 endparam float param split3 default = 0 caption = " - move L/R" visible = @setbackmode == 2 endparam float param split4 default = 0 caption = " - move U/D" visible = @setbackmode == 2 endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam heading caption = "WAVES:" endheading param setwavefn enum = "Ident" "Choose" default = 0 caption = "Function" endparam func wavefn1 caption = " - top" default = sqr() visible = @setwavefn == 1 endfunc func wavefn2 caption = " - bottom" default = sqr() visible = @setwavefn == 1 endfunc float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam float param shift caption = " - shift L/R" default = 1.32 visible = @setwavefn == 1 endparam float param shiftud caption = " - shift U/D" default = 1 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam heading text = "Attributes:" endheading param waveamp caption = " - amplitude" default = 100 endparam float param wd caption = " - number of waves" default = 3 endparam float param gap caption = " - axis gap" default = 100 visible = @setwavefn == 1 endparam param setwaveheight enum = "amplitude x2" "Choose" default = 0 caption = " - height" endparam float param waveheight caption = " ...how much?" default = 100 min = 0 visible = @setwaveheight == 1 endparam func fn1 caption = " - shape" default = cos() visible = @setwavefn == 1 endfunc float param border caption = " - border" default = 2 visible = @setwavefn == 1 endparam } Crosswaves { init: z = 0 x = #x y = #y b = #height/2 w = #width h = #height seg = w/2 p = #pixel bakseg = w/6 wavelength = seg/(@wd*@wd)*w/4.98 start = b - @ratio*(w/2) loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @wavethickness = 2*@waveamp else @wavethickness = @wavethickness endif if y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio+@border && \ y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio z = zero(z) elseif y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio-@border z = zero(z) elseif y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) endif endif endif elseif y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) endif endif endif elseif h-y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio+@border && \ h-y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio z = zero(z) elseif h-y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio-@border z = zero(z) elseif h-y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) endif endif endif elseif h-y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) endif endif endif else if @setbackfn == 0 if y < b if x <= bakseg z = -s*@shrinkflip*flip(z)+p+2.66 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkflip*flip(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkflip*flip(z)+p+1.33 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkflip*flip(z)+p-1.33 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkflip*flip(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkflip*flip(z)+p-2.66 endif else if x <= bakseg z = s*@shrinkflip*flip(z)+p+2.66 elseif x > bakseg && x < 2*bakseg z = -s*@shrinkflip*flip(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrinkflip*flip(z)+p+1.33 elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrinkflip*flip(z)+p-1.33 elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrinkflip*flip(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = -s*@shrinkflip*flip(z)+p-2.66 endif endif elseif @setbackfn == 1 if x <= seg && y < b z = s*@shrinkbak*@backfn(z)+flip(p)+flip(@split1)-@split2 elseif x <= seg && y > b z = -s*@shrinkbak*@backfn(z)+flip(p)+flip(@split1)+@split2 elseif x > seg && y < b z = s*@shrinkbak*@backfn(z)+flip(p)-flip(@split1)-@split2 elseif x > seg && y > b z = -s*@shrinkbak*@backfn(z)+flip(p)-flip(@split1)+@split2 endif else if y < b if x <= bakseg z = -s*@shrinkbak*@backfn(z)+p+2.66*@split1 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkbak*@backfn(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkbak*@backfn(z)+p+1.33*@split1 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkbak*@backfn(z)+p-1.33*@split1 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkbak*@backfn(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkbak*@backfn(z)+p-2.66*@split1 endif else if x <= bakseg z = -s*@shrinkbak*@backfn(z)+p+2.66*@split1 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkbak*@backfn(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkbak*@backfn(z)+p+1.33*@split1 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkbak*@backfn(z)+p-1.33*@split1 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkbak*@backfn(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkbak*@backfn(z)+p-2.66*@split1 endif endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Crosswaves" heading caption = "BACKGROUND:" endheading param setbackfn enum = "Flip, 6-split" "Choose, 2-split" "Choose, 6-split" default = 0 caption = "Function" endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn != 0 endfunc float param shrinkflip default = 1.02 caption = " - shrink" visible = @setbackfn == 0 endparam float param shrinkbak default = 2.5 caption = " - shrink" visible = @setbackfn != 0 endparam float param split1 default = 0.66 caption = " - split L/R" visible = @setbackfn != 0 endparam float param split2 default = 1 caption = " - split U/D" visible = @setbackfn == 1 endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam heading caption = "WAVES:" endheading param setwavefn enum = "Fixed" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam float param shift caption = " - shift" default = 1.32 visible = @setwavefn == 1 endparam float param shiftud caption = " - shift up/down" default = 0 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam float param ratio caption = "Slope" default = 0.75 endparam int param waveamp caption = "Amplitude" default = 50 endparam param setwaveheight enum = "= amplitude x2" "Choose" default = 0 caption = " - wave height" visible = @setwavefn == 1 endparam float param wavethickness caption = " - how much?" default = 100 min = 0 visible = @setwaveheight == 1 endparam func fn1 caption = "Shape" default = cos() endfunc float param wd caption = "Number" default = 3 endparam heading caption = "BORDERS:" endheading float param border caption = " - width" default = 2 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Crosswaves2 { init: z = 0 x = #x y = #y b = #height/2 w = #width h = #height seg = w/2 p = #pixel wavelength = seg/(@wd*@wd)*w/4.98 start = b - @ratio*(w/2) z1 =(@fn0(real(#pixel))+flip(@fn0(imag(#pixel))))/@factor1 loop: if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @wavethickness = 2*@waveamp else @wavethickness = @wavethickness endif if y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio+@border && \ y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio z = p-z elseif y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio-@border z = p-z elseif y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))-3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))-3*@shift endif endif endif elseif y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))-3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))-3*@shift endif endif endif elseif h-y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio+@border && \ h-y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio z = p-z elseif h-y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio-@border z = p-z elseif h-y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left +p+ratio*flip(conj(p)-flip(3*@shiftb1))+3*3*@shiftb1 z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))-3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))-3*@shift endif endif endif elseif h-y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left +p+ratio*flip(conj(p)-flip(3*@shiftb1))+3*3*@shiftb1 z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))-3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))-3*@shift endif endif endif else z = fn2(z1*z1*z1*@factor3) endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Crosswaves2" magn = 0.2 heading caption = "BACKGROUND:" endheading func fn0 caption = "InitFunc" default = cotan() endfunc float param factor1 default = 1 caption = "Initfac" endparam func fn2 caption = "Func" default = flip() endfunc float param factor3 default = 0.075 caption = "Opfac" endparam heading caption = "WAVES:" endheading param setwavefn enum = "Fixed" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = cos() visible = @setwavefn == 1 endfunc float param shrinkwav caption = " - shrink" default = 1 visible = @setwavefn == 1 endparam float param shift caption = " - shift" default = 8 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam float param ratio caption = "Slope" default = 0.75 endparam int param waveamp caption = "Amplitude" default = 50 endparam param setwaveheight enum = "= amplitude x2" "Choose" default = 0 caption = " - wave height" visible = @setwavefn == 1 endparam float param wavethickness caption = " - how much?" default = 100 min = 0 visible = @setwaveheight == 1 endparam func fn1 caption = "Shape" default = sin() endfunc float param wd caption = "Number" default = 2 endparam heading caption = "BORDERS:" endheading float param border caption = " - width" default = 2 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc float param bailout caption = " - value" default = 1000 min = 0 endparam } Empowered_2 { ; (bailout test is taken from fractint.ufm (spider) with some additions by me) init: z = 0 p = #pixel float x = #x float y = #y float a = #width/2 float b = #height/2 if @pick == 0 float rad = 750*@ell*(a-x)^2/a^2+1000*@ell*(b-y)^2/b^2 else float rad = sqrt((a-x)^2+(b-y)^2) endif float fuzzy = 0 loop: if @switch == 0 if rad > @radius+fuzzy z = @shrink1*fn1(z^@power)+p^@power+@shift else z = -@shrink2*fn1(z^@power)+p^@power+@shift endif else if rad > @radius+fuzzy z = -@shrink1*fn1(z^@power)+p^@power-@shift else z = @shrink2*fn1(z^@power)+p^@power-@shift endif endif if fuzzy >= 0 && fuzzy < @span fuzzy = fuzzy + @fuzz elseif fuzzy > @span fuzzy = fuzzy - @fuzz endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Empowered_2" angle = 270 param pick caption = "Choose centre" enum = "Ellipse" "Circle" default = 0 endparam func fn1 default = sin() caption = "Function" endfunc int param power default = 2 caption = "Power down (or up)" endparam float param shift default = 0 caption = "Warp" endparam float param shrink1 default = 1 caption = "Shrink outer" endparam float param shrink2 default = 6 caption = "Shrink inner" endparam float param ell caption = "Ellipse size" default = 1 endparam float param radius caption = "Circle radius" default = 100 endparam float param fuzz caption = "Fuzziness" default = 5 endparam float param span caption = "Width of fuzz" default = 90 endparam param switch enum = "one way" "...or the other" default = 0 caption = "Switcheroo" endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 1000 min = 1 endparam } Empowered_3 { init: z = 0 p = #pixel loop: if @switch == 0 z = fn1(z^@power)+p^@power+flip(conj(p))+@shift else z = -fn1(z^@power)+p^@power+flip(conj(p))-@shift endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Empowered_3" angle = 90.0 center = (-0.001,-0.5) func fn1 default = sin() caption = "Function" endfunc int param power default = 2 caption = "Power down (or up)" endparam float param shift default = 0 caption = "Warp" endparam param switch enum = "one way" "...or the other" default = 0 caption = "Switcheroo" endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 12 visible = @test >= 12 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Ribbons { init: z = 0 x = #x y = #y b = #height/2 w = #width h = #height seg = w/2 p = #pixel bakseg = w/6 wavelength = seg/(@wd*@wd)*w/4.9 ; ratio = h/w loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @waveheight = 2*@waveamp else @waveheight = @waveheight endif if y-@start1 < @waveamp*fn1(sqrt(|x|/wavelength))+x*@ratio1+@border && \ y-@start1 > @waveamp*fn1(sqrt(|x|/wavelength))+x*@ratio1 z = zero(z) elseif y-@start1 < (@waveamp-@waveheight)*fn1(sqrt(|x|/wavelength))+x*@ratio1 && \ y-@start1 > (@waveamp-@waveheight)*fn1(sqrt(|x|/wavelength))+x*@ratio1-@border z = zero(z) elseif y-@start1 < @waveamp*fn1(sqrt(|x|/wavelength))+x*@ratio1 && \ y-@start1 > (@waveamp-@waveheight)*fn1(sqrt(|x|/wavelength))+x*@ratio1 if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y-@start1 > @waveamp*fn1(sqrt(|x|/wavelength))+x*@ratio1 && \ y-@start1 < (@waveamp-@waveheight)*fn1(sqrt(|x|/wavelength))+x*@ratio1 if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y-@start2 < @waveamp*fn1(sqrt(|x|/wavelength))+x*@ratio2+@border && \ y-@start2 > @waveamp*fn1(sqrt(|x|/wavelength))+x*@ratio2 z = zero(z) elseif y-@start2 < (@waveamp-@waveheight)*fn1(sqrt(|x|/wavelength))+x*@ratio2 && \ y-@start2 > (@waveamp-@waveheight)*fn1(sqrt(|x|/wavelength))+x*@ratio2-@border z = zero(z) elseif y-@start2 < @waveamp*fn1(sqrt(|x|/wavelength))+x*@ratio2 && \ y-@start2 > (@waveamp-@waveheight)*fn1(sqrt(|x|/wavelength))+x*@ratio2 if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y-@start2 > @waveamp*fn1(sqrt(|x|/wavelength))+x*@ratio2 && \ y-@start2 < (@waveamp-@waveheight)*fn1(sqrt(|x|/wavelength))+x*@ratio2 if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y-@start3 < @waveamp*fn2(sqrt(|x|/wavelength))+x*@ratio3+@border && \ y-@start3 > @waveamp*fn2(sqrt(|x|/wavelength))+x*@ratio3 z = zero(z) elseif y-@start3 < (@waveamp-@waveheight)*fn2(sqrt(|x|/wavelength))+x*@ratio3 && \ y-@start3 > (@waveamp-@waveheight)*fn2(sqrt(|x|/wavelength))+x*@ratio3-@border z = zero(z) elseif y-@start3 < @waveamp*fn2(sqrt(|x|/wavelength))+x*@ratio3 && \ y-@start3 > (@waveamp-@waveheight)*fn2(sqrt(|x|/wavelength))+x*@ratio3 if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y-@start3 > @waveamp*fn2(sqrt(|x|/wavelength))+x*@ratio3 && \ y-@start3 < (@waveamp-@waveheight)*fn2(sqrt(|x|/wavelength))+x*@ratio3 if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y-@start4 < @waveamp*fn2(sqrt(|x|/wavelength))+x*@ratio4+@border && \ y-@start4 > @waveamp*fn2(sqrt(|x|/wavelength))+x*@ratio4 z = zero(z) elseif y-@start4 < (@waveamp-@waveheight)*fn2(sqrt(|x|/wavelength))+x*@ratio4 && \ y-@start4 > (@waveamp-@waveheight)*fn2(sqrt(|x|/wavelength))+x*@ratio4-@border z = zero(z) elseif y-@start4 < @waveamp*fn2(sqrt(|x|/wavelength))+x*@ratio4 && \ y-@start4 > (@waveamp-@waveheight)*fn2(sqrt(|x|/wavelength))+x*@ratio4 if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y-@start4 > @waveamp*fn2(sqrt(|x|/wavelength))+x*@ratio4 && \ y-@start4 < (@waveamp-@waveheight)*fn2(sqrt(|x|/wavelength))+x*@ratio4 if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif else if @setbackmode == 0 ;Fixed, 6-split if y < b if x <= bakseg z = -s*@shrinkflip*flip(z)+p+2.66 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkflip*flip(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkflip*flip(z)+p+1.33 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkflip*flip(z)+p-1.33 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkflip*flip(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkflip*flip(z)+p-2.66 endif else if x <= bakseg z = s*@shrinkflip*flip(z)+p+2.66 elseif x > bakseg && x < 2*bakseg z = -s*@shrinkflip*flip(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrinkflip*flip(z)+p+1.33 elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrinkflip*flip(z)+p-1.33 elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrinkflip*flip(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = -s*@shrinkflip*flip(z)+p-2.66 endif endif elseif @setbackmode == 1 ;Choose(1), 2-split if x <= seg && y < b z = s*@shrinkbak*@backfn(z)+p-flip(@split1)+@split2 elseif x <= seg && y > b z = s*@shrinkbak*@backfn(z)+p+flip(@split1)+@split2 elseif x > seg && y < b z = -s*@shrinkbak*@backfn(z)+p-flip(@split1)-@split2 elseif x > seg && y > b z = -s*@shrinkbak*@backfn(z)+p+flip(@split1)-@split2 endif elseif @setbackmode == 2 ;Choose(2), 2-split if x <= seg && y < b z = s*@shrinkbak*@backfn(z)+flip(p)+flip(@split3)-@split4 elseif x <= seg && y > b z = -s*@shrinkbak*@backfn(z)+flip(p)+flip(@split3)+@split4 elseif x > seg && y < b z = s*@shrinkbak*@backfn(z)+flip(p)-flip(@split3)-@split4 elseif x > seg && y > b z = -s*@shrinkbak*@backfn(z)+flip(p)-flip(@split3)+@split4 endif else ;Choose, 6-split if y < b if x <= bakseg z = -s*@shrinkbak*@backfn(z)+p+2.66*@split1 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkbak*@backfn(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkbak*@backfn(z)+p+1.33*@split1 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkbak*@backfn(z)+p-1.33*@split1 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkbak*@backfn(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkbak*@backfn(z)+p-2.66*@split1 endif else if x <= bakseg z = -s*@shrinkbak*@backfn(z)+p+2.66*@split1 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkbak*@backfn(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkbak*@backfn(z)+p+1.33*@split1 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkbak*@backfn(z)+p-1.33*@split1 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkbak*@backfn(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkbak*@backfn(z)+p-2.66*@split1 endif endif endif endif bailout: |z| < 100 default: title = "Ribbons" heading caption = "BACKGROUND:" endheading param setbackmode enum = "Fixed (flip), 6-split" "Choose(1), 2-split" "Choose(2), 2-split" "Choose, 6-split" default = 0 caption = "Mode" endparam func @backfn default = sqr() caption = " - function" visible = @setbackmode != 0 endfunc float param shrinkflip default = 1.02 caption = " - shrink" visible = @setbackmode == 0 endparam float param shrinkbak default = 2.5 caption = " - shrink" visible = @setbackmode != 0 endparam float param split1 default = 0.66 caption = " - move U/D" visible = @setbackmode != 0 && @setbackmode != 2 endparam float param split2 default = 1 caption = " - move L/R" visible = @setbackmode == 1 endparam float param split3 default = 0 caption = " - move L/R" visible = @setbackmode == 2 endparam float param split4 default = 0 caption = " - move U/D" visible = @setbackmode == 2 endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam heading caption = "WAVES:" endheading param setwavefn enum = "Ident" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param shrinkwav caption = " - shrink" default = 5 visible = @setwavefn == 1 endparam float param shift caption = " - shift" default = -1.32 visible = @setwavefn == 1 endparam float param shiftud caption = " - shift up/down" default = 4 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam heading text = "Attributes:" endheading param waveamp caption = " - amplitude mode" default = 60 endparam float param start1 caption = " - start position" default = 60 endparam float param ratio1 caption = " - slope" default = 0.1 endparam float param start2 caption = " - start position" default = -50 endparam float param ratio2 caption = " - slope" default = 0.2 endparam float param start3 caption = " - start position" default = 350 endparam float param ratio3 caption = " - slope" default = 0.4 endparam float param start4 caption = " - start position" default = 100 endparam float param ratio4 caption = " - slope" default = 0.5 endparam param setwaveheight enum = "amplitude mode x2" "Choose" default = 0 caption = " - height" visible = @setwavefn == 1 endparam float param waveheight caption = " - height (pixels)" default = 40 min = 0 visible = @setwaveheight == 1 endparam func fn1 caption = " - shape upper" default = cos() visible = @setwavefn == 1 endfunc func fn2 caption = " - shape lower" default = cos() visible = @setwavefn == 1 endfunc float param wd caption = " - width" default = 6 endparam float param border caption = " - border" default = 2 visible = @setwavefn == 1 endparam } XXX { init: z = 0 x = #x y = #y b = #height/2 w = #width seg = w/2 p = #pixel bakseg = w/6 loop: if @switchbak == 0 s = 1 else s = -1 endif if @setbackfn == 0 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p+@split-flip(@splitu) elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+@split-flip(@splitu) elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p-flip(@splitu) elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-flip(@splitu) elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p-@split-flip(@splitu) elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-@split-flip(@splitu) endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+@split+flip(@splitu) elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+@split+flip(@splitu) elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+flip(@splitu) elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p+flip(@splitu) elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-@split+flip(@splitu) elseif x > 5*bakseg z = s*@shrink*flip(z)+p-@split+flip(@splitu) endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif bailout: |z| < 100 default: title = "XXX" param setbackfn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn == 1 endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param split default = 1.33 caption = " - split in/out" enabled = @setbackfn == 1 visible = @setbackfn == 1 endparam float param splitu default = 0 caption = " - split up/down" enabled = @setbackfn == 0 visible = @setbackfn == 0 endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam } XonXonX { init: z = 0 x = #y y = #x b = #width/2 w = #height seg = w/2 p = #pixel bakseg = w/6 loop: if @switchbak == 0 s = 1 else s = -1 endif if @setbackfn == 0 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p-@split elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+@split elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p+@split elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-@split endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+@split elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p-@split elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-@split elseif x > 5*bakseg z = s*@shrink*flip(z)+p+@split endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif bailout: |z| < 100 default: title = "XonXonX" param setbackfn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func @backfn default = sqr() caption = " - which one?" visible = @setbackfn == 1 endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param split default = 1 caption = " - split L/R" endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam } <> { ; bailout test (with slight modification) is taken from fractint.ufm (spider) init: ;x and y, width and height symbols are reversed to rotate 90 degrees z = 0 x = #y y = #x b = #width/2 w = #height seg = #height/2 p = #pixel loop: if @Switch1 == 0 ;"flip <>, other /\" slu = -1 sru = 1 slb = 1 srb = -1 elseif @Switch1 == 1 ;"flip ><, other \/" slu = 1 sru = -1 slb = -1 srb = 1 elseif @Switch1 == 2 ;"flip <<, other //" slu = -1 sru = -1 slb = 1 srb = 1 elseif @Switch1 == 3 ;"flip >>, other \\" slu = 1 sru = 1 slb = -1 srb = -1 elseif @Switch1 == 4 ;"flip ^, other ><" slu = -1 sru = 1 slb = -1 srb = 1 elseif @Switch1 == 5 ;"flip v, other <>" slu = 1 sru = -1 slb = 1 srb = -1 elseif @Switch1 == 6 ;"flip //, other <<" slu = 1 sru = 1 slb = 1 srb = 1 else ;"flip \\, other >>" slu = -1 sru = -1 slb = -1 srb = -1 endif if y < b ;left half ;upper 1/4 if x <= seg/2 z = slu*@shrink*@backfn(z)+p+@zoom ;middle 1/2 elseif x > seg/2 && x <= w-seg/2 if x < w/2 z = slu*@shrink*@backfn(z)+p+@zoom else z = slb*@shrink*@backfn(z)+p+@zoom endif ;bottom 1/4 elseif x > w-seg/2 z = slb*@shrink*@backfn(z)+p+@zoom endif else ;right half ;upper 1/4 if x <= seg/2 z = sru*@shrink*@backfn(z)+p-@zoom ;middle 1/2 elseif x > seg/2 && x < w-seg/2 if x < w/2 z = sru*@shrink*@backfn(z)+p-@zoom else z = srb*@shrink*@backfn(z)+p-@zoom endif ;bottom 1/4 elseif x >= w-seg/2 z = srb*@shrink*@backfn(z)+p-@zoom endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "<>" heading caption = "Background" endheading func @backfn default = flip() caption = " - function" endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param zoom default = 1 caption = " - move in/out" endparam param Switch1 enum = "flip <>, other /\" "flip ><, other \/" "flip <<, other //" \ "flip >>, other \\" "flip ^, other ><" "flip v, other <>" "flip \\, other <<" \ "flip //, other >>" default = 0 caption = " - arrangement" endparam param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam param bailout caption = "Bailout" default = 4.0 min = 1 endparam } Hourglass { init: ;x and y, width and height symbols are reversed to rotate wave through 90 degrees z = 0 x = #y y = #x b = #width/2 w = #height seg = #height/2 p = #pixel wavelength = seg/(@wd*@wd)*w/@wlen loop: if @Switch1 == 0 ;"flip <>, other /\" slu = -1 sru = 1 slb = 1 srb = -1 elseif @Switch1 == 1 ;"flip ><, other \/" slu = 1 sru = -1 slb = -1 srb = 1 elseif @Switch1 == 2 ;"flip <<, other //" slu = -1 sru = -1 slb = 1 srb = 1 elseif @Switch1 == 3 ;"flip >>, other \\" slu = 1 sru = 1 slb = -1 srb = -1 elseif @Switch1 == 4 ;"flip ^, other ><" slu = -1 sru = 1 slb = -1 srb = 1 elseif @Switch1 == 5 ;"flip v, other <>" slu = 1 sru = -1 slb = 1 srb = -1 elseif @Switch1 == 6 ;"flip //, other <<" slu = 1 sru = 1 slb = 1 srb = 1 else ;"flip \\, other >>" slu = -1 sru = -1 slb = -1 srb = -1 endif if @Switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 @wavethickness = 2*@waveamp endif if y < b ;left half ;upper 1/4 if x <= seg/2 z = slu*@shrink*@backfn(z)+p+@zoom ;middle 1/2 elseif x > seg/2 && x <= w-seg/2 if b-y > @waveamp*@fn1(sqrt(|x-seg|/wavelength))-@border && \ b-y < @waveamp*@fn1(sqrt(|x-seg|/wavelength)) z = zero(z) elseif b-y < @waveamp*@fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@wavethickness)*@fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav endif endif elseif b-y > @waveamp*@fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@wavethickness)*@fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav endif endif elseif b-y > (@waveamp-@wavethickness)*@fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@wavethickness)*@fn1(sqrt(|x-seg|/wavelength))+@border z = zero(z) else if x < w/2 z = slu*@shrink*@backfn(z)+p+@zoom else z = slb*@shrink*@backfn(z)+p+@zoom endif endif ;bottom 1/4 elseif x > w-seg/2 z = slb*@shrink*@backfn(z)+p+@zoom endif else ;right half ;upper 1/4 if x <= seg/2 z = sru*@shrink*@backfn(z)+p-@zoom ;middle 1/2 elseif x > seg/2 && x < w-seg/2 if b-y < @waveamp*@fn1(sqrt(|x-seg|/wavelength))+@border && \ b-y > @waveamp*@fn1(sqrt(|x-seg|/wavelength)) z = zero(z) elseif b-y < @waveamp*@fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@wavethickness)*@fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = sw*@shrinkwav*@wavefn(z)+p-@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif endif elseif b-y > @waveamp*@fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@wavethickness)*@fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = sw*@shrinkwav*@wavefn(z)+p-@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif endif elseif b-y < (@waveamp-@wavethickness)*@fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@wavethickness)*@fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z) else if x < w/2 z = sru*@shrink*@backfn(z)+p-@zoom else z = srb*@shrink*@backfn(z)+p-@zoom endif endif ;bottom 1/4 elseif x >= w-seg/2 z = srb*@shrink*@backfn(z)+p-@zoom endif endif bailout: |z| < 100 default: title = "Hourglass" heading caption = "Background" endheading func @backfn default = flip() caption = " - function" endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param zoom default = 1 caption = " - move in/out" endparam param Switch1 enum = "flip <>, other /\" "flip ><, other \/" "flip <<, other //" \ "flip >>, other \\" "flip ^, other ><" "flip v, other <>" "flip \\, other <<" \ "flip //, other >>" default = 0 caption = " - arrangement" endparam heading caption = "Centre" endheading param setwavefn enum = "Preset (flip)" "Choose" default = 0 caption = " - inner function" endparam float param wlen caption = " - wave length" default = 19.6 endparam int param wd caption = " - no. of waves" default = 1 endparam func fn1 default = sin() caption = " - shape function" endfunc func wavefn caption = " - function" default = sqr() visible = @setwavefn == 1 endfunc param waveamp caption = " - amplitude" default = 200 endparam float param wavethickness caption = " - thickness" default = 400 min = 0 visible = @setwavefn == 1 endparam float param border caption = " - border" default = 2 visible = @setwavefn == 1 endparam float param splitwav caption = " - split" default = 0.15 visible = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam param Switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam } Wavy_8 { init: z = 0 x = #width/2-#x y = #y+@shiftwav*100 b = #height/2 w = #width p = #pixel if @pik == 0 seg = 32 div = 79.2 wavelength = seg*(w/div) elseif @pik == 1 seg = 64 div = 39.6 wavelength = seg*(w/div) elseif @pik == 2 seg = 128 div = 19.8 wavelength = seg*(w/div) elseif @pik == 3 seg = 256 div = 9.9 wavelength = seg*(w/div) elseif @pik == 4 seg = 512 div = 4.95 wavelength = seg*(w/div) elseif @pik == 5 seg = 1024 div = 2.925 wavelength = seg*(w/div) elseif @pik == 6 seg = w/2 div = @div wavelength = seg/(div*div)*w/4.98 endif loop: if @Switch1 == 0 ;"flip <>" slu = -1 sru = 1 sll = 1 srb = -1 elseif @Switch1 == 1 ;"flip ><" slu = 1 sru = -1 sll = -1 srb = 1 elseif @Switch1 == 2 ;"flip <<" slu = -1 sru = -1 sll = 1 srb = 1 elseif @Switch1 == 3 ;"flip >>" slu = 1 sru = 1 sll = -1 srb = -1 elseif @Switch1 == 4 ;"other ><" slu = -1 sru = 1 sll = -1 srb = 1 else ;"other <>" slu = 1 sru = -1 sll = 1 srb = -1 endif if @Switchwave == 0 sw = 1 else sw = -1 endif if @waves == 0 if b-y > @waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1 && \ b-y < @waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@border z = zero(z) elseif b-y > -@waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1 && \ b-y < -@waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@border z = zero(z) elseif b-y > @waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1 && \ b-y < -@waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1 if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn1(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn1(z)+p-@splitwav endif endif elseif b-y < @waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1 && \ b-y > -@waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1 if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn1(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn1(z)+p-@splitwav endif endif else if #y < b if #x < w/2 z = slu*@shrink*@backfn(z)+p+@zoom else z = sru*@shrink*@backfn(z)+p-@zoom endif else if #x < w/2 z = sll*@shrink*@backfn(z)+p+@zoom else z = srb*@shrink*@backfn(z)+p-@zoom endif endif endif elseif @waves == 1 if b-y > @waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@gap && \ b-y < @waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@gap+@border z = zero(z) elseif b-y > -@waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@gap && \ b-y < -@waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@gap+@border z = zero(z) elseif b-y > @waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@gap && \ b-y < -@waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@gap if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn1(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn1(z)+p-@splitwav endif endif elseif b-y < @waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@gap && \ b-y > -@waveamp1*@fn1(sqrt(|x|/wavelength))+x*@ratio1+@gap if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn1(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn1(z)+p-@splitwav endif endif elseif b-y < @waveamp2*@fn2(sqrt(|x-seg|/wavelength))+x*@ratio2-@gap+@border && \ b-y > @waveamp2*@fn2(sqrt(|x-seg|/wavelength))+x*@ratio2-@gap z = zero(z) elseif b-y < -@waveamp2*@fn2(sqrt(|x-seg|/wavelength))+x*@ratio2-@gap+@border && \ b-y > -@waveamp2*@fn2(sqrt(|x-seg|/wavelength))+x*@ratio2-@gap z = zero(z) elseif b-y > @waveamp2*@fn2(sqrt(|x-seg|/wavelength))+x*@ratio2-@gap && \ b-y < -@waveamp2*@fn2(sqrt(|x-seg|/wavelength))+x*@ratio2-@gap if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn2(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn2(z)+p-@splitwav endif endif elseif b-y < @waveamp2*@fn2(sqrt(|x-seg|/wavelength))+x*@ratio2-@gap && \ b-y > -@waveamp2*@fn2(sqrt(|x-seg|/wavelength))+x*@ratio2-@gap if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn2(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn2(z)+p-@splitwav endif endif else if #y < b if #x < w/2 z = slu*@shrink*@backfn(z)+p+@zoom else z = sru*@shrink*@backfn(z)+p-@zoom endif else if #x < w/2 z = sll*@shrink*@backfn(z)+p+@zoom else z = srb*@shrink*@backfn(z)+p-@zoom endif endif endif elseif @waves == 2 if b-y < @waveamp1*@fn1(sqrt(|x-seg|/wavelength))+x*@ratio1-@gap+@border && \ b-y > @waveamp1*@fn1(sqrt(|x-seg|/wavelength))+x*@ratio1-@gap z = zero(z) elseif b-y < -@waveamp1*@fn1(sqrt(|x-seg|/wavelength))+x*@ratio1-@gap+@border && \ b-y > -@waveamp1*@fn1(sqrt(|x-seg|/wavelength))+x*@ratio1-@gap z = zero(z) elseif b-y > @waveamp1*@fn1(sqrt(|x-seg|/wavelength))+x*@ratio1-@gap && \ b-y < -@waveamp1*@fn1(sqrt(|x-seg|/wavelength))+x*@ratio1-@gap if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn1(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn1(z)+p-@splitwav endif endif elseif b-y < @waveamp1*@fn1(sqrt(|x-seg|/wavelength))+x*@ratio1-@gap && \ b-y > -@waveamp1*@fn1(sqrt(|x-seg|/wavelength))+x*@ratio1-@gap if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn1(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn1(z)+p-@splitwav endif endif elseif b-y > @waveamp2*@fn2(sqrt(|x|/wavelength))+x*@ratio2 && \ b-y < @waveamp2*@fn2(sqrt(|x|/wavelength))+x*@ratio2+@border z = zero(z) elseif b-y > -@waveamp2*@fn2(sqrt(|x|/wavelength))+x*@ratio2 && \ b-y < -@waveamp2*@fn2(sqrt(|x|/wavelength))+x*@ratio2+@border z = zero(z) elseif b-y > @waveamp2*@fn2(sqrt(|x|/wavelength))+x*@ratio2 && \ b-y < -@waveamp2*@fn2(sqrt(|x|/wavelength))+x*@ratio2 if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn2(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn2(z)+p-@splitwav endif endif elseif b-y < @waveamp2*@fn2(sqrt(|x|/wavelength))+x*@ratio2 && \ b-y > -@waveamp2*@fn2(sqrt(|x|/wavelength))+x*@ratio2 if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn2(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn2(z)+p-@splitwav endif endif elseif b-y < @waveamp3*@fn3(sqrt(|x+seg|/wavelength))+x*@ratio3+@gap+@border && \ b-y > @waveamp3*@fn3(sqrt(|x+seg|/wavelength))+x*@ratio3+@gap z = zero(z) elseif b-y < -@waveamp3*@fn3(sqrt(|x+seg|/wavelength))+x*@ratio3+@gap+@border && \ b-y > -@waveamp3*@fn3(sqrt(|x+seg|/wavelength))+x*@ratio3+@gap z = zero(z) elseif b-y > @waveamp3*@fn3(sqrt(|x+seg|/wavelength))+x*@ratio3+@gap && \ b-y < -@waveamp3*@fn3(sqrt(|x+seg|/wavelength))+x*@ratio3+@gap if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn3(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn3(z)+p-@splitwav endif endif elseif b-y < @waveamp3*@fn3(sqrt(|x+seg|/wavelength))+x*@ratio3+@gap && \ b-y > -@waveamp3*@fn3(sqrt(|x+seg|/wavelength))+x*@ratio3+@gap if @setwavefn == 0 z = ident(z)+p else if #x < w/2 z = -sw*@shrinkwav*@wavefn3(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn3(z)+p-@splitwav endif endif else if #y < b if #x < w/2 z = slu*@shrink*@backfn(z)+p+@zoom else z = sru*@shrink*@backfn(z)+p-@zoom endif else if #x < w/2 z = sll*@shrink*@backfn(z)+p+@zoom else z = srb*@shrink*@backfn(z)+p-@zoom endif endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Wavy8" method = multipass heading caption = "BACKGROUND:" endheading func backfn default = flip() caption = " - function" endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param zoom default = 1 caption = " - shift" endparam param Switch1 enum = "flip <>" "flip ><" "flip <<" "flip >>" "other ><" "other <>" default = 0 caption = " - arrangement" endparam heading caption = "WAVE(S):" endheading param pik enum = "1" "2" "3" "4" "5" "6" "Choose wave number" default = 0 caption = "Wave Pattern" endparam param waves enum = "1 wave" "2 waves" "3 waves" default = 2 caption = "How many?" endparam param setwavefn enum = "Preset (ident)" "Choose" default = 0 caption = "Set function" endparam heading caption = "Wave 1:" endheading func wavefn1 caption = " - function 1" default = sqr() enabled = @setwavefn == 1 visible = @setwavefn == 1 endfunc func fn1 default = sin() caption = " - shape 1" endfunc param waveamp1 caption = " - amplitude 1" default = 50 endparam float param ratio1 caption = " - slope 1" default = 0 endparam heading caption = "Wave 2:" enabled = @waves == 1 || @waves == 2 visible = @waves == 1 || @waves == 2 endheading func wavefn2 caption = " - function 2" default = sqr() enabled = @setwavefn == 1 && @waves == 1 || @waves == 2 visible = @setwavefn == 1 && @waves == 1 || @waves == 2 endfunc func fn2 default = sin() caption = " - shape 2" enabled = @waves == 1 || @waves == 2 visible = @waves == 1 || @waves == 2 endfunc param waveamp2 caption = " - amplitude 2" default = 100 enabled = @waves == 1 || @waves == 2 visible = @waves == 1 || @waves == 2 endparam float param ratio2 caption = " - slope 2" default = 0 enabled = @waves == 1 || @waves == 2 visible = @waves == 1 || @waves == 2 endparam heading caption = "Wave 3:" enabled = @waves == 2 visible = @waves == 2 endheading func wavefn3 caption = " - function 3" default = sqr() enabled = @setwavefn == 1 && @waves == 2 visible = @setwavefn == 1 && @waves == 2 endfunc func fn3 default = sin() caption = " - shape 3" enabled = @waves == 2 visible = @waves == 2 endfunc param waveamp3 caption = " - amplitude 3" default = 150 enabled = @waves == 2 visible = @waves == 2 endparam float param ratio3 caption = " - slope 3" default = 0 enabled = @waves == 2 visible = @waves == 2 endparam float param splitwav caption = " - split" default = 0.15 enabled = @setwavefn == 1 visible = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 enabled = @setwavefn == 1 visible = @setwavefn == 1 endparam param Switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" enabled = @setwavefn == 1 visible = @setwavefn == 1 endparam float param div caption = " - no. of waves" default = 2 enabled = @pik == 6 visible = @pik == 6 endparam float param shiftwav caption = " - shift U/D" default = 0 endparam float param gap caption = " - gap" default = 0 endparam float param border caption = " - border" default = 10 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 12 visible = @test >= 12 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Tall_hourglass { init: z = 0 ;x and y, width and height symbols are reversed to rotate wave through 90 degrees x = #y y = #x b = #width/2 w = #height seg = #height/2 p = #pixel wavelength = seg/(@wd*@wd)*w/4.9 loop: if @Switch1 == 0 ;"flip <>" slu = -1 sru = 1 sll = 1 srb = -1 elseif @Switch1 == 1 ;"flip ><" slu = 1 sru = -1 sll = -1 srb = 1 elseif @Switch1 == 2 ;"flip <<" slu = -1 sru = -1 sll = 1 srb = 1 elseif @Switch1 == 3 ;"flip >>" slu = 1 sru = 1 sll = -1 srb = -1 elseif @Switch1 == 4 ;"other ><" slu = -1 sru = 1 sll = -1 srb = 1 else ;"other <>" slu = 1 sru = -1 sll = 1 srb = -1 endif if @Switch1 == 0 s = 1 else s = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @waveheight = 2*@waveamp else @waveheight = @waveheight endif if @Switchwave == 0 sw = 1 else sw = -1 endif if y < b ;left half if b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength))-@border && \ b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength)) z = zero(z)+p elseif b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@splitwav else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@splitwav endif endif elseif b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav endif elseif b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))+@border z = zero(z)+p else if x < w/2 z = slu*@shrink*@backfn(z)+p+@zoom else z = sll*@shrink*@backfn(z)+p+@zoom endif endif else ;right half if b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+@border && \ b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) z = zero(z)+p elseif b-y < @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else if x < w/2 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@splitwav else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@splitwav endif endif elseif b-y > @waveamp*fn1(sqrt(|x-seg|/wavelength)) && \ b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) if @setwavefn == 0 z = ident(z)+p else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif elseif b-y < (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength)) && \ b-y > (@waveamp-@waveheight)*fn1(sqrt(|x-seg|/wavelength))-@border z = zero(z)+p else if x < w/2 z = sru*@shrink*@backfn(z)+p-@zoom else z = srb*@shrink*@backfn(z)+p-@zoom endif endif endif bailout: |z| < 100 default: title = "Tall_hourglass" heading caption = "Background" endheading func @backfn default = flip() caption = " - function" endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param zoom default = 1.33 caption = " - move in/out" endparam param Switch1 enum = "flip <>" "flip ><" "flip <<" "flip >>" "other ><" "other <>" default = 0 caption = " - arrangement" endparam heading caption = "Centre 'Eye'" endheading param setwavefn enum = "Preset" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param splitwav caption = " - split" default = 0.15 visible = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam func fn1 default = sin() caption = " - shape" endfunc param waveamp caption = " - amplitude (pixels)" default = 200 endparam param setwaveheight enum = "= amplitude x2" "Choose" default = 0 caption = " - height mode" visible = @setwavefn == 1 endparam float param waveheight caption = " - height (pixels)" default = 400 min = 0 visible = @setwaveheight == 1 endparam float param wd caption = " - no. of waves" default = 1 endparam float param border caption = " - border thickness" default = 2 visible = @setwavefn == 1 endparam param Switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam } Inner_man2 { init: z = 0 int x = #x int y = #y float a = #width/2 float b = #height/2 float radius = sqrt((|a-x|)^2+(|b-y|)^2) int fuzzy = 0 loop: if @flipi0 == 0 fi0 = 1 else fi0 = -1 endif if @flipo0 == 0 fo0 = 1 else fo0 = -1 endif if @flipi1 == 0 fi1 = 1 else fi1 = -1 endif if @flipo1 == 0 fo1 = 1 else fo1 = -1 endif if @switch == 0 if radius < 100*(@size0+fuzzy) ;centre if x < #width/2 z = fi0*@shrink10*@fn10(@fn20(z)+#pixel+@shiftc0) else z = -fi0*@shrink10*@fn10(@fn20(z)+#pixel-@shiftc0) endif else ;outer if x < #width/2 z = fo0*@shrink20*@fn30(z)+#pixel+@shifto0 else z = -fo0*@shrink20*@fn30(z)+#pixel-@shifto0 endif endif else if radius > 100*(@size1+fuzzy) ;outer if x < #width/2 z = fo1*@shrink11*@fn11(@fn21(z)+#pixel)+@shifto1 else z = fo1*-@shrink11*@fn11(@fn21(z)+#pixel)-@shifto1 endif else ;centre if x < #width/2 z = fi1*@shrink21*@fn31(z)+#pixel+@shiftc1 else z = -fi1*@shrink21*@fn31(z)+#pixel-@shiftc1 endif endif endif if fuzzy >= 0 fuzzy = fuzzy + 5 elseif fuzzy > 100 fuzzy = fuzzy - 5 endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Inner_man2" param switch caption = "Switch" enum = "Inner in" "Inner out" default = 0 endparam ;0 heading caption = "Centre" enabled = @switch == 0 visible = @switch == 0 endheading param flipi0 caption = "Flip it" enum = "<>" "><" default = 0 enabled = @switch == 0 visible = @switch == 0 endparam int param size0 default = 150 caption = " - size" enabled = @switch == 0 visible = @switch == 0 endparam func fn10 default = sqr() caption = " - func1" enabled = @switch == 0 visible = @switch == 0 endfunc func fn20 default = ident() caption = " - func2" enabled = @switch == 0 visible = @switch == 0 endfunc float param shiftc0 default = 0 caption = " - shift L/R" enabled = @switch == 0 visible = @switch == 0 endparam float param shrink10 default = 3 caption = " - shrink" enabled = @switch == 0 visible = @switch == 0 endparam heading caption = "Border:" enabled = @switch == 0 visible = @switch == 0 endheading float param border0 default = 5 caption = " - width" enabled = @switch == 0 visible = @switch == 0 endparam func borderfn0 default = ident() caption = " - function" enabled = @switch == 0 visible = @switch == 0 endfunc float param shrinkb0 default = 1 caption = " - shrink" enabled = @switch == 0 visible = @switch == 0 endparam heading caption = "Outer" enabled = @switch == 0 visible = @switch == 0 endheading param flipo0 caption = "Flip it" enum = "<>" "><" default = 0 enabled = @switch == 0 visible = @switch == 0 endparam func fn30 default = sqr() caption = " - func" enabled = @switch == 0 visible = @switch == 0 endfunc float param shrink20 default = 1 caption = " - shrink" enabled = @switch == 0 visible = @switch == 0 endparam float param shifto0 default = 0 caption = " - shift L/R" enabled = @switch == 0 visible = @switch == 0 endparam ;1 heading caption = "Centre:" enabled = @switch == 1 visible = @switch == 1 endheading param flipi1 caption = "Flip it" enum = "<>" "><" default = 0 enabled = @switch == 1 visible = @switch == 1 endparam int param size1 default = 150 caption = " - size" enabled = @switch == 1 visible = @switch == 1 endparam func fn31 default = cosh() caption = " - function" enabled = @switch == 1 visible = @switch == 1 endfunc float param shrink21 default = 1 caption = " - shrink" enabled = @switch == 1 visible = @switch == 1 endparam float param shiftc1 default = 0 caption = " - shift L/R" enabled = @switch == 1 visible = @switch == 1 endparam heading caption = "Border:" enabled = @switch == 1 visible = @switch == 1 endheading float param border1 default = 2 caption = " - width" enabled = @switch == 1 visible = @switch == 1 endparam func borderfn1 default = ident() caption = " - function" enabled = @switch == 1 visible = @switch == 1 endfunc float param shrinkb1 default = 1 caption = " - shrink" enabled = @switch == 1 visible = @switch == 1 endparam heading caption = "Outer:" enabled = @switch == 1 visible = @switch == 1 endheading param flipo1 caption = "Flip it" enum = "<>" "><" default = 0 enabled = @switch == 1 visible = @switch == 1 endparam func fn11 default = cabs() caption = " - function1" enabled = @switch == 1 visible = @switch == 1 endfunc func fn21 default = ident() caption = " - function2" enabled = @switch == 1 visible = @switch == 1 endfunc float param shrink11 default = 1.4 caption = " - shrink" enabled = @switch == 1 visible = @switch == 1 endparam float param shifto1 default = 0.29 caption = " - shift L/R" enabled = @switch == 1 visible = @switch == 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } ; Bloomin'_fractals { init: z = 0 x = |#x-#width/2| y = |#y-#height/2| h = #height w = #width a = #width/2 b = #height/2 ratio = #height/#width p = #pixel loop: if x*y > x^2 && #y < h/2 ;Top z = -@shrink*fn1(z)+flip(p)-@shift elseif x*y > x^2 && #y > h/2 ;Bottom z = @shrink*fn1(z)+flip(p)+@shift elseif x*y > y^2 && #x < w/2 ;left z = -@shrink*fn1(z)-p-@shift elseif x*y > y^2 && #x > w/2 ;right z = @shrink*fn1(z)-p+@shift else z = 0;fn2(z)+p endif bailout: |z| < 1000 default: title = "Bloomin'_fractals" func fn1 default = sqr() endfunc func fn2 default = sin() endfunc float param shift default = 0 endparam float param shrink default = 1 endparam } WagonWheel { init: z = 0 float x = #x float y = #y float h = #height float w = #width ratio = #width/#height p = #pixel loop: if @switch == 0 s = 1 else s = -1 endif if @switchbak == 0 sb = 1 else sb = -1 endif if ((w/2)-x)^2+((h/2)-y)^2 < (@radius0-@border1)^2 if (x-0.66*@border2)/y > ratio && (w-x-0.66*@border2)/y > ratio \ && (x < w/2-@border2/2 || x > w/2+@border2/2) ;Top z = -s*@shrink10*@inFn0(z)-flip(p)+@shift10 elseif (x+0.66*@border2)/y < ratio && (w-x+0.66*@border2)/y < ratio \ && (x < w/2-@border2/2 || x > w/2+@border2/2) ;Bottom z = -s*@shrink10*@inFn0(z)+flip(p)+@shift10 elseif x/(y-0.66*@border2) < ratio && (w-x)/(y+0.66*@border2) > ratio \ && (y < h/2-@border2/2 || y > h/2+@border2/2) ;Left z = -s*@shrink10*@inFn0(z)+p+@shift10 elseif x/(y+0.66*@border2) > ratio && (w-x)/(y-0.66*@border2) < ratio \ && (y < h/2-@border2/2 || y > h/2+@border2/2) ;Right z = s*@shrink10*@inFn0(z)+p-@shift10 else if x < w/2 z = @shrinks*@wheelfn(z)+p+@shiftb else z = -@shrinks*@wheelfn(z)+p-@shiftb endif endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius0-@border1)^2 \ && ((w/2)-x)^2+((h/2)-y)^2 < (@radius0)^2 if x < w/2 z = @shrinks*@wheelfn(z)+p+@shiftb else z = -@shrinks*@wheelfn(z)+p-@shiftb endif elseif ((w/2)-x)^2+((h/2)-y)^2 > (@radius0)^2 if x < w/2 z = sb*@shrinkb*@backfn(z)+p+@shiftb else z = -sb*@shrinkb*@backfn(z)+p-@shiftb endif endif bailout: |z| < 10000 default: title = "dac037" heading caption = "CENTRE:" endheading float param radius0 caption = " - radius" default = 250 endparam func inFn0 caption = " - function" default = sqr() endfunc float param shrink10 caption = " - shrink" default = 4 endparam float param shift10 caption = " - shift" default = 0.3 endparam param switch enum = "One way..." "...or the other" default = 1 caption = " - switch" endparam heading caption = "RIMS & SPOKES:" endheading float param border1 caption = " - rim width" hint = "Set width = -1 to clear borders" default = 2 endparam float param border2 caption = " - spoke width" hint = "Set width = -1 to clear borders" default = 2 endparam func wheelfn caption = " - function" default = cabs() endfunc float param shrinks caption = " - shrink" default = 1 endparam float param shifts caption = " - shift" default = 0 endparam heading caption = "BACKGROUND:" endheading func backfn caption = " - function" default = cabs() endfunc float param shrinkb caption = " - shrink" default = 1.6 endparam float param shiftb caption = " - shift" default = 0 endparam param switchbak enum = "One way..." "...or the other" default = 1 caption = " - switch" endparam } Shortwave { ;single sinusoid init: z = 0 x = #x y = #y b = #height/2 w = #width seg = #width/2 bakseg = w/6 p = #pixel wavelength = round(seg/(@wd*@wd)*w/@div) float Leye = 0 float Reye = 0 loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @eyes == 0 Leye = 0 Reye = 0 elseif @eyes == 1 Leye = 0.3 Reye = 0.3 elseif @eyes == 2 Leye = -0.3 Reye = -0.3 elseif @eyes == 3 Leye = -0.3 Reye = 0.3 elseif @eyes == 4 Leye = 0.3 Reye = -0.3 endif if @setwavefn == 0 if b-y < @waveamp0*fn1(sqrt(|x-seg|/trunc(wavelength)))+@border0 && \ b-y > @waveamp0*fn1(sqrt(|x-seg|/trunc(wavelength))) && \ y <= b if x < w/2 ;left 'eye' z = @shrinklid*@borderfn(z)+p else ;right 'eye' z = -@shrinklid*@borderfn(z)+p endif elseif b-y < @waveamp0*fn1(sqrt(|x-seg|/trunc(wavelength))) && \ b-y > (@waveamp0-2*@waveamp0)*fn1(sqrt(|x-seg|/trunc(wavelength))) if x < w/2 ;left 'eye' z = ident(z)+p+0.66+Leye else ;right 'eye' z = ident(z)+p-0.66+Reye endif elseif b-y < (@waveamp0-2*@waveamp0)*fn1(sqrt(|x-seg|/trunc(wavelength))) \ && b-y > (@waveamp0-2*@waveamp0)*fn1(sqrt(|x-seg|/trunc(wavelength)))-@border0/2 \ && y > b if x < w/2 ;left 'eye' z = @shrinklid*@borderfn(z)+p else ;right 'eye' z = -@shrinklid*@borderfn(z)+p endif else if @setbackfn == 0 z = -flip(3*cosh(z))+p+flip(3.1) elseif @setbackfn == 1 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p+1.33-flip(@splitu) elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p+1.33-flip(@splitu) elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p-flip(@splitu) elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-flip(@splitu) elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p-1.33-flip(@splitu) elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-1.33-flip(@splitu) endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+1.33+flip(@splitu) elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+1.33+flip(@splitu) elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+flip(@splitu) elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p+flip(@splitu) elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p-1.33+flip(@splitu) elseif x > 5*bakseg z = s*@shrink*flip(z)+p-1.33+flip(@splitu) endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif else ;(if @setwavefn == 1) if b-y < @waveamp1*fn1(sqrt(|x-seg|/trunc(wavelength)))+@border1 && \ b-y > @waveamp1*fn1(sqrt(|x-seg|/trunc(wavelength))) && \ y <= b z = zero(z) elseif b-y < @waveamp1*fn1(sqrt(|x-seg|/trunc(wavelength))) && \ b-y > (@waveamp1-2*@waveamp1)*fn1(sqrt(|x-seg|/trunc(wavelength))) if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p+@splitwav else z = sw*@shrinkwav*@wavefn(z)+p-@splitwav endif elseif b-y < (@waveamp1-2*@waveamp1)*fn1(sqrt(|x-seg|/trunc(wavelength))) \ && b-y > (@waveamp1-2*@waveamp1)*fn1(sqrt(|x-seg|/trunc(wavelength)))-@border1 \ && y > b if @setwavefn == 0 if x < w/2 ;left 'eye' z = @shrinklid*@borderfn(z)+p else ;right 'eye' z = -@shrinklid*@borderfn(z)+p endif else z = zero(z) endif else if @setbackfn == 0 z = -flip(3*cosh(z))+p+flip(3.1) elseif @setbackfn == 1 if y <= b if x <= bakseg z = s*@shrink*flip(z)+p-flip(@splitu) elseif x > bakseg && x <= 2*bakseg z = -s*@shrink*flip(z)+p-flip(@splitu) elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrink*flip(z)+p-flip(@splitu) elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrink*flip(z)+p-flip(@splitu) elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrink*flip(z)+p-flip(@splitu) elseif x > 5*bakseg z = -s*@shrink*flip(z)+p-flip(@splitu) endif elseif y > b if x <= bakseg z = -s*@shrink*flip(z)+p+flip(@splitu) elseif x > bakseg && x <= 2*bakseg z = s*@shrink*flip(z)+p+flip(@splitu) elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrink*flip(z)+p+flip(@splitu) elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrink*flip(z)+p+flip(@splitu) elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrink*flip(z)+p+flip(@splitu) elseif x > 5*bakseg z = s*@shrink*flip(z)+p+flip(@splitu) endif endif else if x <= seg z = s*@shrink*@backfn(z)+p+@split else z = -s*@shrink*@backfn(z)+p-@split endif endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)) + abs(imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(real(z) + imag(z)) <= sqr(@bailout))) || \ (@test == 7 && (sqr(real(z) - imag(z)) <= sqr(@bailout))) default: title = "Shortwave" heading caption = "BACKGROUND:" endheading param switchbak enum = "Flip" "Unflip" default = 0 caption = "Switch" endparam param setbackfn enum = "Nose" "ZigZag" "Choose" default = 0 caption = "Function" endparam func @backfn default = sqr() caption = " - which one?" enabled = @setbackfn == 2 visible = @setbackfn == 2 endfunc float param shrink default = 1.02 caption = " - shrink/expand" endparam float param split default = 0.5 caption = " - split in/out" enabled = @setbackfn == 2 visible = @setbackfn == 2 endparam float param splitu default = 0 caption = " - split up/down" enabled = @setbackfn != 0 visible = @setbackfn != 0 endparam heading caption = "WAVE(S):" endheading float param div default = 45 caption = "Shrink wave" max = 45 endparam param setwavefn enum = "Eyes" "Function" default = 0 caption = " - appearance" endparam heading caption = "LOOK:" visible = @setwavefn == 0 enabled = @setwavefn == 0 endheading param eyes enum = "eyes front" "eyes l" "eyes r" "cross-eyed" "squint out" caption = " - which way?" default = 0 visible = @setwavefn == 0 enabled = @setwavefn == 0 endparam param waveamp0 caption = " - open/close" default = 60 visible = @setwavefn == 0 enabled = @setwavefn == 0 endparam float param border0 caption = " - add mascara" default = 20 visible = @setwavefn == 0 enabled = @setwavefn == 0 endparam func borderfn caption = " - eyelids" default = recip() visible = @setwavefn == 0 enabled = @setwavefn == 0 endfunc float param shrinklid default = 1 caption = " - shrink lids" visible = @setwavefn == 0 enabled = @setwavefn == 0 endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 enabled = @setwavefn == 1 endfunc func fn1 default = sin() caption = " - shape function" endfunc param waveamp1 caption = " - amplitude" default = 100 visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam float param wd caption = " - number" default = 1 visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam float param border1 caption = " - border" default = 2 visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam float param splitwav caption = " - split" default = 0.15 visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 enabled = @setwavefn == 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "manh" "manr" "manl" endparam float param bailout default = 100 caption = " - value" visible = @test == 0 endparam } Signwaves { ;horizontal sinusoid wave & grid2 init: z = 0 x = #x y = #y b = #height/2 w = #width h = #height seg = w/2 p = #pixel bakseg = w/6 wavelength = seg/(@wd*@wd)*w/4.9 ; ratio = h/w loop: if @switchbak == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 @wavethickness = 2*@waveamp endif if @waveheight == 0 @wavethickness = 2*@waveamp else @wavethickness = @wavethickness endif ;'>' ribbons if h-y < @waveamp*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio+@border && \ h-y > @waveamp*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio z = zero(z) elseif h-y < (@waveamp-@wavethickness)*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio && \ h-y > (@waveamp-@wavethickness)*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio-@border z = zero(z) elseif h-y < @waveamp*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio && \ h-y > (@waveamp-@wavethickness)*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif h-y > @waveamp*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio && \ h-y < (@waveamp-@wavethickness)*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y < @waveamp*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio+@border && \ y > @waveamp*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio z = zero(z) elseif y < (@waveamp-@wavethickness)*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio && \ y > (@waveamp-@wavethickness)*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio-@border z = zero(z) elseif y < @waveamp*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio && \ y > (@waveamp-@wavethickness)*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y > @waveamp*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio && \ y < (@waveamp-@wavethickness)*fn1(sqrt(|w-(x-seg)|/wavelength))+(w-x)*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif ;'<' ribbons elseif h-y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio+@border && \ h-y > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio z = zero(z) elseif y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio+@border && \ y > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio z = zero(z) elseif h-y < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio-@border z = zero(z) elseif y < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio-@border z = zero(z) elseif h-y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif h-y > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif elseif y > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud else z = sw*@shrinkwav*@wavefn(z)+flip(p)-@shiftud+flip(@shift) endif else if x < w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud-flip(@shift) elseif x > w/3 && x < 2*w/3 z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud else z = -sw*@shrinkwav*@wavefn(z)+flip(p)+@shiftud+flip(@shift) endif endif endif else if @setbackmode == 0 ;Fixed, 6-split if y < b if x <= bakseg z = -s*@shrinkflip*flip(z)+p+2.66 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkflip*flip(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkflip*flip(z)+p+1.33 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkflip*flip(z)+p-1.33 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkflip*flip(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkflip*flip(z)+p-2.66 endif else if x <= bakseg z = s*@shrinkflip*flip(z)+p+2.66 elseif x > bakseg && x < 2*bakseg z = -s*@shrinkflip*flip(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = s*@shrinkflip*flip(z)+p+1.33 elseif x > 3*bakseg && x <= 4*bakseg z = -s*@shrinkflip*flip(z)+p-1.33 elseif x > 4*bakseg && x <= 5*bakseg z = s*@shrinkflip*flip(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = -s*@shrinkflip*flip(z)+p-2.66 endif endif elseif @setbackmode == 1 ;Choose(1), 2-split if x <= seg && y < b z = s*@shrinkbak*@backfn(z)+p-flip(@split1)+@split2 elseif x <= seg && y > b z = s*@shrinkbak*@backfn(z)+p+flip(@split1)+@split2 elseif x > seg && y < b z = -s*@shrinkbak*@backfn(z)+p-flip(@split1)-@split2 elseif x > seg && y > b z = -s*@shrinkbak*@backfn(z)+p+flip(@split1)-@split2 endif elseif @setbackmode == 2 ;Choose(2), 2-split if x <= seg && y < b z = s*@shrinkbak*@backfn(z)+flip(p)+flip(@split3)-@split4 elseif x <= seg && y > b z = -s*@shrinkbak*@backfn(z)+flip(p)+flip(@split3)+@split4 elseif x > seg && y < b z = s*@shrinkbak*@backfn(z)+flip(p)-flip(@split3)-@split4 elseif x > seg && y > b z = -s*@shrinkbak*@backfn(z)+flip(p)-flip(@split3)+@split4 endif else ;Choose, 6-split if y < b if x <= bakseg z = -s*@shrinkbak*@backfn(z)+p+2.66*@split1 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkbak*@backfn(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkbak*@backfn(z)+p+1.33*@split1 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkbak*@backfn(z)+p-1.33*@split1 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkbak*@backfn(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkbak*@backfn(z)+p-2.66*@split1 endif else if x <= bakseg z = -s*@shrinkbak*@backfn(z)+p+2.66*@split1 elseif x > bakseg && x <= 2*bakseg z = s*@shrinkbak*@backfn(z)+p elseif x > 2*bakseg && x <= 3*bakseg z = -s*@shrinkbak*@backfn(z)+p+1.33*@split1 elseif x > 3*bakseg && x <= 4*bakseg z = s*@shrinkbak*@backfn(z)+p-1.33*@split1 elseif x > 4*bakseg && x <= 5*bakseg z = -s*@shrinkbak*@backfn(z)+p elseif x > 5*bakseg && x <= 6*bakseg z = s*@shrinkbak*@backfn(z)+p-2.66*@split1 endif endif endif endif bailout: |z| < 100 default: title = "Signwaves" heading caption = "BACKGROUND:" endheading param setbackmode enum = "Fixed (flip), 6-split" "Choose(1), 2-split" "Choose(2), 2-split" "Choose, 6-split" default = 0 caption = "Mode" endparam func @backfn default = sqr() caption = " - function" visible = @setbackmode != 0 endfunc float param shrinkflip default = 1.02 caption = " - shrink" visible = @setbackmode == 0 endparam float param shrinkbak default = 2.5 caption = " - shrink" visible = @setbackmode != 0 endparam float param split1 default = 0.66 caption = " - move U/D" visible = @setbackmode != 0 && @setbackmode != 2 endparam float param split2 default = 1 caption = " - move L/R" visible = @setbackmode == 1 endparam float param split3 default = 0 caption = " - move L/R" visible = @setbackmode == 2 endparam float param split4 default = 0 caption = " - move U/D" visible = @setbackmode == 2 endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam heading caption = "WAVES:" endheading param setwavefn enum = "Ident" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param shrinkwav caption = " - shrink" default = 5 visible = @setwavefn == 1 endparam float param shift caption = " - shift" default = -1.32 visible = @setwavefn == 1 endparam float param shiftud caption = " - shift up/down" default = 4 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam heading text = "Attributes:" endheading param waveamp caption = " - amplitude" default = 50 endparam float param ratio caption = " - slope" default = 0.3 endparam param waveheight enum = "Amplitude x2" "Choose" default = 0 caption = " - height" visible = @setwavefn == 1 endparam float param wavethickness caption = " - how much?" default = 50 min = 0 visible = @waveheight == 1 endparam func fn1 caption = " - shape" default = cos() visible = @setwavefn == 1 endfunc float param wd caption = " - width" default = 3 endparam float param border caption = " - border" default = 2 visible = @setwavefn == 1 endparam } Ray-d-9 { init: z = 0 x = #x y = #y ratio = #height/#width h = #height w = #width p = #pixel seg = w/2 if @Switch1 == 0 s1 = 1 else s1 = -1 endif if @Switch2 == 0 s2 = 1 else s2 = -1 endif loop: ;Row1 if y < h/4-@border/2 if x < w/4-@border/2 ;col1 z = s1*1.75*@shrink1*fn1(z)+p+ratio*flip(conj(p)-flip(@shift1))-@shift1 elseif x > w/4+@border/2 && x < w/2-@border/2 ;col2 z = s1*@shrink1*fn1(z)+p+3*ratio*flip(conj(p)-flip(@shift1));-@shift1/10 elseif x > w/2+@border/2 && x < 3*w/4-@border/2 ;col3 z = -s1*@shrink1*fn1(z)+p-3*ratio*flip(conj(p)-flip(@shift1));+@shift1/10 elseif x > 3*w/4+@border/2 ;col4 z = -s1*1.75*@shrink1*fn1(z)+p-ratio*flip(conj(p)-flip(@shift1))+@shift1 else if @switchWav == 0 z = 1.02*ident(z)+p else if x < w/2 z = @shrink*fn3(z)+p else z = -@shrink*fn3(z)+p endif endif endif ;Row2 elseif y > h/4+@border/2 && y < h/2-@border/2 && x < w/4-@border/2 ;col1 z = s1*2*@shrink1*fn1(z)+p+0.35*ratio*flip(conj(p))-1.1*@shift1 elseif y > h/4+@border/2 && y < @amp1*@wavshap(sqrt(|x|/(1/@freqx*1000+50)))+h/2-@ww/2 \ && x > w/4+@border/2 && x < @amp2*@wavshap(sqrt(|y|/(1/@freqy*1000-50)))+w/2-@ww/2 ;col2 z = s2*@shrink2*fn2(z)+p+ratio*flip(conj(p))-1.7*@shift2 elseif y > h/4+@border/2 && y < @amp1*@wavshap(sqrt(|x|/(1/@freqx*1000+50)))+h/2-@ww/2 \ && x > @amp2*@wavshap(sqrt(|y|/(1/@freqy*1000-50)))+w/2+@ww/2 && x < 3*w/4-@border/2 ;col3 z = -s2*@shrink2*fn2(z)+p-ratio*flip(conj(p))+1.7*@shift2 elseif y > h/4+@border/2 && y < h/2-@border/2 && x > 3*w/4+@border/2 ;col4 z = -s1*2*@shrink1*fn1(z)+p-0.35*ratio*flip(conj(p))+1.1*@shift1 ;Row3 elseif y < 3*h/4-@border/2 && y > h/2+@border/2 && x < w/4-@border/2 ;col1 z = s1*2*@shrink1*fn1(z)+p-0.35*ratio*flip(conj(p))-1.1*@shift1 elseif y < 3*h/4-@border/2 && y > @amp1*@wavshap(sqrt(|x|/(1/@freqx*1000+50)))+h/2+@ww/2 \ && x > w/4+@border/2 && x < @amp2*@wavshap(sqrt(|y|/(1/@freqy*1000-50)))+w/2-@ww/2 ;col4 z = s2*@shrink2*fn2(z)+p-ratio*flip(conj(p))-1.7*@shift2 elseif y < 3*h/4-@border/2 && y > @amp1*@wavshap(sqrt(|x|/(1/@freqx*1000+50)))+h/2+@ww/2 \ && x > @amp2*@wavshap(sqrt(|y|/(1/@freqy*1000-50)))+w/2+@ww/2 && x < 3*w/4-@border/2 ;col3 z = -s2*@shrink2*fn2(z)+p+ratio*flip(conj(p))+1.7*@shift2 elseif y > h/2+@border/2 && y < 3*h/4-@border && x > 3*w/4+@border/2 ;col4 z = -s1*2*@shrink1*fn1(z)+p+0.35*ratio*flip(conj(p))+1.1*@shift1 ;Row4 elseif y > 3*h/4+@border/2 if x < w/4-@border/2 ;col1 z = s1*1.75*@shrink1*fn1(z)+p-ratio*flip(conj(p)+flip(@shift1))-@shift1 elseif x > w/4+@border/2 && x < w/2-@border/2 ;col2 z = s1*@shrink1*fn1(z)+p-3*ratio*flip(conj(p)+flip(@shift1));-@shift1/4 elseif x > w/2+@border/2 && x < 3*w/4-@border/2 ;col3 z = -s1*@shrink1*fn1(z)+p+3*ratio*flip(conj(p)+flip(@shift1));+@shift1/4 elseif x > 3*w/4+@border/2 ;col4 z = -s1*1.75*@shrink1*fn1(z)+p+ratio*flip(conj(p)+flip(@shift1))+@shift1 else if @switchWav == 0 z = 1.02*ident(z)+p else if x < w/2 z = @shrink*fn3(z)+p else z = -@shrink*fn3(z)+p endif endif endif ;the rest... else if @switchWav == 0 z = 1.02*ident(z)+p else if x < w/2 z = @shrink*fn3(z)+p else z = -@shrink*fn3(z)+p endif endif endif bailout: |z| < 1000 default: title = "Ray-d-9" angle = -180 heading text = "OUTER:" endheading func fn1 caption = " - function" default = sqr() endfunc float param shift1 caption = " - shift" default = 1.2 endparam float param shrink1 caption = " - shrink" default = 1.5 endparam param Switch1 enum = "This way" "That way" default = 1 caption = " - switch" endparam heading text = "INNER:" endheading func fn2 caption = " - function" default = sqr() endfunc float param shift2 caption = " - shift" default = 0.7 endparam float param shrink2 caption = " - shrink" default = 1 endparam param Switch2 enum = "This way" "That way" default = 0 caption = " - switch" endparam heading text = "BORDERS:" endheading float param border caption = " - thickness" default = 2 endparam heading text = "WAVES:" endheading func wavshap caption = "Shape" default = sin() endfunc param switchWav enum = "Preset" "Choose" default = 0 caption = " - choose func?" endparam func fn3 caption = " - function" default = ident() visible = @switchWav == 1 endfunc int param amp1 caption = " - v/amplitude" default = 50 endparam int param amp2 caption = " - h/amplitude" default = 50 endparam float param ww caption = " - width" default = 1 endparam float param shrink caption = " - shrink" default = 6 endparam heading text = "Wave frequency:" endheading float param freqx caption = " - horizontal" default = 1 endparam float param freqy caption = " - vertical" default = 1 endparam } Ray-d-9a { init: z = 0 x = #x y = #y ratio = #height/#width h = #height w = #width p = #pixel segx = w/2 segy = h/2 if @Switch1 == 0 s1 = 1 else s1 = -1 endif loop: ;Row1 if y < h/4-@border/2 if x < w/4-@border/2 ;col1 z = s1*1.75*@shrink1*fn1(z)+p+ratio*flip(conj(p)-flip(@shift1))-@shift1 elseif x > w/4+@border/2 && x < w/2-@border/2 ;col2 z = s1*@shrink1*fn1(z)+p+3*ratio*flip(conj(p)-flip(@shift1));-@shift1/10 elseif x > w/2+@border/2 && x < 3*w/4-@border/2 ;col3 z = -s1*@shrink1*fn1(z)+p-3*ratio*flip(conj(p)-flip(@shift1));+@shift1/10 elseif x > 3*w/4+@border/2 ;col4 z = -s1*1.75*@shrink1*fn1(z)+p-ratio*flip(conj(p)-flip(@shift1))+@shift1 else if @switchWav == 0 z = 1.02*ident(z)+p else if x < w/2 z = -@shrinkb*fn3(z)+p-@shiftb else z = @shrinkb*fn3(z)+p+@shiftb endif endif endif ;Row2 elseif y > h/4+@border/2 && y < h/2-@border/2 && x < w/4-@border/2 ;col1 z = s1*2*@shrink1*fn1(z)+p+0.35*ratio*flip(conj(p))-1.1*@shift1 elseif y > h/4+@border/2 && y < h/2-@border/2 && x > 3*w/4+@border/2 ;col4 z = -s1*2*@shrink1*fn1(z)+p-0.35*ratio*flip(conj(p))+1.1*@shift1 ;Row3 elseif y < 3*h/4-@border/2 && y > h/2+@border/2 && x < w/4-@border/2 ;col1 z = s1*2*@shrink1*fn1(z)+p-0.35*ratio*flip(conj(p))-1.1*@shift1 elseif y > h/2+@border/2 && y < 3*h/4-@border && x > 3*w/4+@border/2 ;col4 z = -s1*2*@shrink1*fn1(z)+p+0.35*ratio*flip(conj(p))+1.1*@shift1 ;Row4 elseif y > 3*h/4+@border/2 if x < w/4-@border/2 ;col1 z = s1*1.75*@shrink1*fn1(z)+p-ratio*flip(conj(p)+flip(@shift1))-@shift1 elseif x > w/4+@border/2 && x < w/2-@border/2 ;col2 z = s1*@shrink1*fn1(z)+p-3*ratio*flip(conj(p)+flip(@shift1));-@shift1/4 elseif x > w/2+@border/2 && x < 3*w/4-@border/2 ;col3 z = -s1*@shrink1*fn1(z)+p+3*ratio*flip(conj(p)+flip(@shift1));+@shift1/4 elseif x > 3*w/4+@border/2 ;col4 z = -s1*1.75*@shrink1*fn1(z)+p+ratio*flip(conj(p)+flip(@shift1))+@shift1 else if @switchWav == 0 z = 1.02*ident(z)+p else if x < w/2 z = -@shrinkb*fn3(z)+p-@shiftb else z = @shrinkb*fn3(z)+p+@shiftb endif endif endif ;the rest... else if @switchWav == 0 z = 1.02*ident(z)+p else if x < w/2 z = -@shrinkb*fn3(z)+p-@shiftb else z = @shrinkb*fn3(z)+p+@shiftb endif endif endif bailout: |z| < 1000 default: title = "Ray-d-9a" angle = -180 heading text = "OUTER:" endheading func fn1 caption = " - function" default = sqr() endfunc float param shift1 caption = " - shift" default = 1.2 endparam float param shrink1 caption = " - shrink" default = 1.5 endparam param Switch1 enum = "This way" "That way" default = 1 caption = " - switch" endparam heading text = "BORDERS:" endheading float param border caption = " - thickness" default = 2 endparam heading text = "CENTRE:" endheading param switchWav enum = "Preset" "Choose" default = 0 caption = " - choose func?" endparam func fn3 caption = " - function" default = ident() visible = @switchWav == 1 endfunc float param shrinkb caption = " - shrink" default = 6 endparam float param shiftb caption = " - shift" default = 6 endparam } Ray-d-9b { init: z = 0 x = #x y = #y ratio = #height/#width b = #height/2 h = #height w = #width p = #pixel seg = w/2 wavelength = seg/(@wd*@wd)*w/4.98 start = b - @ratio*(w/2) if @Switch1 == 0 s1 = 1 else s1 = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif loop: ;Row1 if y < h/4-@border/2 && x < w/4-@border/2 ;col1 z = s1*1.75*@shrink1*fn1(z)+p+ratio*flip(conj(p)-flip(@shift1))-@shift1 elseif y < h/4-@border/2 && x > w/4+@border/2 && x < w/2-@border/2 ;col2 z = s1*@shrink1*fn1(z)+p+3*ratio*flip(conj(p)-flip(@shift1));-@shift1/10 elseif y < h/4-@border/2 && x > w/2+@border/2 && x < 3*w/4-@border/2 ;col3 z = -s1*@shrink1*fn1(z)+p-3*ratio*flip(conj(p)-flip(@shift1));+@shift1/10 elseif y < h/4-@border/2 && x > 3*w/4+@border/2 ;col4 z = -s1*1.75*@shrink1*fn1(z)+p-ratio*flip(conj(p)-flip(@shift1))+@shift1 ;Rows 2 & 3 elseif y > h/4+@border/2 && y < h/2-@border/2 && x < w/4-@border/2 ;col1 z = s1*2*@shrink1*fn1(z)+p+0.35*ratio*flip(conj(p))-1.1*@shift1 elseif y > h/4+@border/2 && y < h/2-@border/2 && x > 3*w/4+@border/2 ;col4 z = -s1*2*@shrink1*fn1(z)+p-0.35*ratio*flip(conj(p))+1.1*@shift1 elseif y < 3*h/4-@border/2 && y > h/2+@border/2 && x < w/4-@border/2 ;col1 z = s1*2*@shrink1*fn1(z)+p-0.35*ratio*flip(conj(p))-1.1*@shift1 elseif y > h/2+@border/2 && y < 3*h/4-@border && x > 3*w/4+@border/2 ;col4 z = -s1*2*@shrink1*fn1(z)+p+0.35*ratio*flip(conj(p))+1.1*@shift1 ;Row4 elseif y > 3*h/4+@border/2 && x < w/4-@border/2 ;col1 z = s1*1.75*@shrink1*fn1(z)+p-ratio*flip(conj(p)+flip(@shift1))-@shift1 elseif y > 3*h/4+@border/2 && x > w/4+@border/2 && x < w/2-@border/2 ;col2 z = s1*@shrink1*fn1(z)+p-3*ratio*flip(conj(p)+flip(@shift1));-@shift1/4 elseif y > 3*h/4+@border/2 && x > w/2+@border/2 && x < 3*w/4-@border/2 ;col3 z = -s1*@shrink1*fn1(z)+p+3*ratio*flip(conj(p)+flip(@shift1));+@shift1/4 elseif y > 3*h/4+@border/2 && x > 3*w/4+@border/2 ;col4 z = -s1*1.75*@shrink1*fn1(z)+p+ratio*flip(conj(p)+flip(@shift1))+@shift1 else ;centre if y-start < @waveamp*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio+@wavborder && \ y-start > @waveamp*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio z = zero(z) elseif y-start < (@waveamp-2*@waveamp)*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start > (@waveamp-2*@waveamp)*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio-@wavborder z = zero(z) elseif y-start < @waveamp*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start > (@waveamp-2*@waveamp)*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))-3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))+3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))-3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))+3*@shift endif endif endif elseif y-start > @waveamp*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start < (@waveamp-2*@waveamp)*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))-3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))+3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))-3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))+3*@shift endif endif endif elseif h-y-start < @waveamp*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio+@wavborder && \ h-y-start > @waveamp*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio z = zero(z) elseif h-y-start < (@waveamp-2*@waveamp)*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start > (@waveamp-2*@waveamp)*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio-@wavborder z = zero(z) elseif h-y-start < @waveamp*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start > (@waveamp-2*@waveamp)*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))-3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))+3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))-3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))+3*@shift endif endif endif elseif h-y-start > @waveamp*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start < (@waveamp-2*@waveamp)*@wavshape(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))-3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))+3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))-3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))+3*@shift endif endif endif else if @switchbak == 0 z = 1.02*ident(z)+p elseif @switchbak == 1 if x < w/2 z = -@shrinkb*sqr(z)+p-@shiftb else z = @shrinkb*sqr(z)+p+@shiftb endif else if x < w/2 z = -@shrinkb*fn3(z)+p-@shiftb else z = @shrinkb*fn3(z)+p+@shiftb endif endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Ray-d-9b" angle = -180 heading caption = "OUTER:" endheading heading text = "FUNCTIONS:" endheading func fn1 caption = " - which one?" default = sqr() endfunc float param shift1 caption = " - shift" default = 1.2 endparam float param shrink1 caption = " - shrink" default = 1.5 endparam param Switch1 enum = "In" "Out" default = 1 caption = " - switch" endparam heading text = "BORDERS:" endheading float param border caption = " - thickness" default = 2 endparam heading caption = "CENTRE:" endheading param switchbak enum = "Ident" "Mirror Mandels" "Choose" default = 1 caption = " - function?" endparam func fn3 caption = " - which one?" default = sqr() visible = @switchbak == 2 endfunc float param shrinkb caption = " - shrink" default = 1.7 endparam float param shiftb caption = " - shift" default = -0.1 endparam heading caption = "WAVES:" endheading func wavshape caption = "Shape" default = cos() endfunc float param wd caption = "Number" default = 2 endparam float param ratio caption = "Slope" default = 0.75 endparam int param waveamp caption = "Amplitude" default = 50 endparam float param wavborder caption = "Border" default = 2 endparam param setwavefn enum = "Fixed" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param shrinkwav caption = " - shrink" default = 6 visible = @setwavefn == 1 endparam float param shift caption = " - shift" default = 0.1 visible = @setwavefn == 1 endparam param switchwave enum = "One way..." "...or the other" default = 0 caption = " - orientation" visible = @setwavefn == 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 12 visible = @test >= 12 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Trident1 { ;Poseidon's was here... init: z = 0 float x = #x float y = #y complex xy = #pixel int h = #height int w = #width float ratio = h/w loop: z = @factor1*fn1(z)+#pixel+@factor2*fn2(#pixel)+@factor3*fn3(#pixel) bailout: |z| < 10000 default: title = "Trident1" angle = -38.0 center = (-0.448,0.0276) magn = 0.9 func fn1 caption = "Function 1" default = cabs() endfunc func fn2 caption = "Function 2" default = recip() endfunc func fn3 caption = "Function 3" default = sinh() endfunc float param factor1 default = 2 endparam float param factor2 default = 0.855 endparam float param factor3 default = 0.5 endparam } Squares1or2 { init: int y = #y int x = #x float h = #height float w = #width float a = #width/2 float b = #height/2 complex p = #pixel int d10 = trunc(b-@radius0+@diff0) int d20 = trunc(a-@radius0+@diff0) int d11 = trunc(b-@radius1+@diff1) int d21 = trunc(a-@radius1+@diff1) loop: if @pick == 0 ;(Squares1) if y > d10-@thickness0 && y < d10+@thickness0 || y > h-d10-@thickness0 && y < h-d10+@thickness0 z = zero(z) elseif y > d10-@thickness0 && y < d10+@thickness0 || y > h-d10-@thickness0 && y < h-d10+@thickness0 z = zero(z) elseif x > d20-@thickness0 && x < d20+@thickness0 || x > w-d20-@thickness0 && x < w-d20+@thickness0 z = zero(z) elseif x > d20-@thickness0 && x < d20+@thickness0 || x > w-d20-@thickness0 && x < w-d20+@thickness0 z = zero(z) else if ((w/2)-x)^2+((h/2)-y)^2 < @radius0^2 ;inside circle if y < b z = flip(conj(@shrink20*@fn20(z)-@split20))+p else z = flip(conj(-@shrink20*@fn20(z)+@split20))+p endif else if x < a ;outside circle z = @shrink10*@fn10(z)+p+@split10 else z = -@shrink10*@fn10(z)+p-@split10 endif endif endif else ;(Squares2) if y > d11-@thickness1 && y < d11+@thickness1 || y > h-d11-@thickness1 && y < h-d11+@thickness1 z = zero(z) elseif y > d11-@thickness1 && y < d11+@thickness1 || y > h-d11-@thickness1 && y < h-d11+@thickness1 z = zero(z) elseif x > d21-@thickness1 && x < d21+@thickness1 || x > w-d21-@thickness1 && x < w-d21+@thickness1 z = zero(z) elseif x > d21-@thickness1 && x < d21+@thickness1 || x > w-d21-@thickness1 && x < w-d21+@thickness1 z = zero(z) elseif x > d21+@thickness1 && x < w-d21-@thickness1 if y < b z = flip(conj(@shrink21*@fn21(z)-@split21))+p else z = flip(conj(-@shrink21*@fn21(z)+@split21))+p endif else if x < a z = @shrink11*@fn11(z)+p+@split11 else z = -@shrink11*@fn11(z)+p-@split11 endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Squares1or2" param pick enum = "Squares1" "Squares2" default = 0 caption = "Pick squares" endparam ;@pick = 0 float param radius0 caption = "Circle radius" default = 150 enabled = @pick == 0 visible = @pick == 0 endparam int param diff0 caption = "Line offset" default = 0 enabled = @pick == 0 visible = @pick == 0 endparam int param thickness0 caption = "Line width" default = 1 enabled = @pick == 0 visible = @pick == 0 endparam func fn10 caption = "Outer function" default = sqr() enabled = @pick == 0 visible = @pick == 0 endfunc float param split10 caption = " - split" default = 1.1 enabled = @pick == 0 visible = @pick == 0 endparam float param shrink10 caption = " - shrink" default = 2 enabled = @pick == 0 visible = @pick == 0 endparam func fn20 caption = "Inner function" default = sqr() enabled = @pick == 0 visible = @pick == 0 endfunc float param split20 caption = " - split" default = 0 enabled = @pick == 0 visible = @pick == 0 endparam float param shrink20 caption = " - shrink" default = 3 enabled = @pick == 0 visible = @pick == 0 endparam ;@pick = 1 float param radius1 caption = "Circle radius" default = 100 enabled = @pick == 1 visible = @pick == 1 endparam int param diff1 caption = "Line offset" default = 0 enabled = @pick == 1 visible = @pick == 1 endparam int param thickness1 caption = "Line width" default = 1 enabled = @pick == 1 visible = @pick == 1 endparam func fn11 caption = "Outer function" default = sqr() enabled = @pick == 1 visible = @pick == 1 endfunc float param split11 caption = " - split" default = 1 enabled = @pick == 1 visible = @pick == 1 endparam float param shrink11 caption = " - shrink" default = 3 enabled = @pick == 1 visible = @pick == 1 endparam func fn21 caption = "Inner function" default = sqr() enabled = @pick == 1 visible = @pick == 1 endfunc float param split21 caption = " - split" default = 0.7 enabled = @pick == 1 visible = @pick == 1 endparam float param shrink21 caption = " - shrink" default = 3 enabled = @pick == 1 visible = @pick == 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Archer'sDreams { ;still eating your heart out Robin? init: z = 0 complex p = #pixel loop: z = @factor1*fn1(z)+@factor2*fn2(z)+@factor3*fn3(p)+@factor4*fn4(p) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Archer'sDreams" angle = 90.0 center = (0.0,0.5) magn = 0.6 func fn1 caption = "Function 1" default = sqr() endfunc func fn2 caption = "Function 2" default = conj() endfunc func fn3 caption = "Function 3" default = flip() endfunc func fn4 caption = "Function 4" default = sqr() endfunc float param factor1 default = 0.9 endparam float param factor2 default = 0.7 endparam float param factor3 default = 0.7 endparam float param factor4 default = 0.5 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(man+)" "fn1(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Crosswaves3 { init: z = 0 x = #x y = #y b = #height/2 w = #width h = #height x1 = #y y1 = #x x2 = #x y2 = #y b1 = #width/2 w1 = #height b2 = #height/2 float w2 = #width float seg = #width/2 float seg1 = #height/2 float bakseg1 = #width/4 float bakseg2 = #width/6 float bakseg3 = #width/8 p = #pixel bakseg = w/6 wavelength = seg/(@wd*@wd)*w/4.98 start = b - @ratio*(w/2) loop: if @Switch0 == 0 ;"flip <>, other /\" slu = -1 sru = 1 slb = 1 srb = -1 elseif @Switch0 == 1 ;"flip ><, other \/" slu = 1 sru = -1 slb = -1 srb = 1 elseif @Switch0 == 2 ;"flip <<, other //" slu = -1 sru = -1 slb = 1 srb = 1 elseif @Switch0 == 3 ;"flip >>, other \\" slu = 1 sru = 1 slb = -1 srb = -1 elseif @Switch0 == 4 ;"flip ^, other ><" slu = -1 sru = 1 slb = -1 srb = 1 elseif @Switch0 == 5 ;"flip v, other <>" slu = 1 sru = -1 slb = 1 srb = -1 elseif @Switch0 == 6 ;"flip //, other <<" slu = 1 sru = 1 slb = 1 srb = 1 else ;"flip \\, other >>" slu = -1 sru = -1 slb = -1 srb = -1 endif ; if @switchbak1 == 0 || @switchbak2 == 0 ; s = 1 ; else ; s = -1 ; endif if @switchbak1 == 0 s = 1 else s = -1 endif if @switchbak2 == 0 s = 1 else s = -1 endif if @switchwave == 0 sw = 1 else sw = -1 endif if @setwavefn == 0 && @setwaveheight == 0 || @setwavefn == 1 && @setwaveheight == 0 @wavethickness = 2*@waveamp else @wavethickness = @wavethickness endif if y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio+@border && \ y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio z = zero(z) elseif y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio-@border z = zero(z) elseif y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))-3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))-3*@shift endif endif endif elseif y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))-3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))-3*@shift endif endif endif elseif h-y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio+@border && \ h-y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio z = zero(z) elseif h-y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio-@border z = zero(z) elseif h-y-start < @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start > (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))-3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))-3*@shift endif endif endif elseif h-y-start > @waveamp*fn1(sqrt(|x-seg|/wavelength))+x*@ratio && \ h-y-start < (@waveamp-@wavethickness)*fn1(sqrt(|x-seg|/wavelength))+x*@ratio if @setwavefn == 0 z = ident(z)+p else if y < b if x < w/2 ;top left +p+ratio*flip(conj(p)-flip(3*@shiftb1))+3*3*@shiftb1 z = -sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)-flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)-flip(3*@shift))-3*@shift endif else if x < w/2 z = -sw*@shrinkwav*@wavefn(z)+p-@ratio*flip(conj(p)+flip(3*@shift))+3*@shift else z = sw*@shrinkwav*@wavefn(z)+p+@ratio*flip(conj(p)+flip(3*@shift))-3*@shift endif endif endif else if @pick == 0 ;<> if y1 < b1 ;left half if x1 <= seg1 ;upper 1/4 z = slu*@shrink0*@backfn0(z)+p+@zoom0-flip(@zoom1) elseif x1 > seg1 && x1 <= w-seg1 ;middle 1/2 if x1 < w1/2 z = slu*@shrink0*@backfn0(z)+p+@zoom0-flip(@zoom1) else z = slb*@shrink0*@backfn0(z)+p+@zoom0+flip(@zoom1) endif elseif x1 > w-seg1 ;bottom 1/4 z = slb*@shrink0*@backfn0(z)+p+@zoom0+flip(@zoom1) endif else ;right half if x1 <= seg1 ;upper 1/4 z = sru*@shrink0*@backfn0(z)+p-@zoom0-flip(@zoom1) elseif x1 > seg1 && x1 < w-seg1 ;middle 1/2 if x1 < w1/2 z = sru*@shrink0*@backfn0(z)+p-@zoom0-flip(@zoom1) else z = srb*@shrink0*@backfn0(z)+p-@zoom0+flip(@zoom1) endif elseif x1 >= w-seg1 ;bottom 1/4 z = srb*@shrink0*@backfn0(z)+p-@zoom0+flip(@zoom1) endif endif elseif @pick == 1 ;<><> if @setbackfn1 == 0 if y2 <= b2 if x2 <= bakseg1 z = s*@shrink01*flip(z)+p+2*@split11-flip(@split21) elseif x2 > bakseg1 && x2 <= 2*bakseg1 z = -s*@shrink01*flip(z)+p-flip(@split21) elseif x2 > 2*bakseg1 && x2 <= 3*bakseg1 z = s*@shrink01*flip(z)+p-flip(@split21) elseif x2 > 3*bakseg1 && x2 <= 4*bakseg1 z = -s*@shrink01*flip(z)+p-2*@split11-flip(@split21) endif elseif y2 > b2 if x2 <= bakseg1 z = -s*@shrink01*flip(z)+p+2*@split11+flip(@split21) elseif x2 > bakseg1 && x2 <= 2*bakseg1 z = s*@shrink01*flip(z)+p+flip(@split21) elseif x2 > 2*bakseg1 && x2 <= 3*bakseg1 z = -s*@shrink01*flip(z)+p+flip(@split21) elseif x2 > 3*bakseg1 && x2 <= 4*bakseg1 z = s*@shrink01*flip(z)+p-2*@split11+flip(@split21) endif endif else if x2 <= seg z = s*@shrink01*@backfn1(z)+p+@split01 else z = -s*@shrink01*@backfn1(z)+p-@split01 endif endif elseif @pick == 2 ;<><><> if @setbackfn2 == 0 if y2 <= b2 if x2 <= bakseg2 z = s*@shrink02*flip(z)+p+1.98*@split12-flip(@split22) elseif x2 > bakseg2 && x2 <= 2*bakseg2 z = -s*@shrink02*flip(z)+p+0.66*@split12-flip(@split22) elseif x2 > 2*bakseg2 && x2 <= 3*bakseg2 z = s*@shrink02*flip(z)+p+0.66*@split12-flip(@split22) elseif x2 > 3*bakseg2 && x2 <= 4*bakseg2 z = -s*@shrink02*flip(z)+p-0.66*@split12-flip(@split22) elseif x2 > 4*bakseg2 && x2 <= 5*bakseg2 z = s*@shrink02*flip(z)+p-0.66*@split12-flip(@split22) elseif x2 > 5*bakseg2 z = -s*@shrink02*flip(z)+p-1.98*@split12-flip(@split22) endif elseif y2 > b2 if x2 <= bakseg2 z = -s*@shrink02*flip(z)+p+1.98*@split12+flip(@split22) elseif x2 > bakseg2 && x2 <= 2*bakseg2 z = s*@shrink02*flip(z)+p+0.66*@split12+flip(@split22) elseif x2 > 2*bakseg2 && x2 <= 3*bakseg2 z = -s*@shrink02*flip(z)+p+0.66*@split12+flip(@split22) elseif x2 > 3*bakseg2 && x2 <= 4*bakseg2 z = s*@shrink02*flip(z)+p-0.66*@split12+flip(@split22) elseif x2 > 4*bakseg2 && x2 <= 5*bakseg2 z = -s*@shrink02*flip(z)+p-0.66*@split12+flip(@split22) elseif x2 > 5*bakseg2 z = s*@shrink02*flip(z)+p-1.98*@split12+flip(@split22) endif endif elseif @setbackfn2 == 1 if x2 <= seg z = s*@shrink02*@backfn2(z)+p+@split02 else z = -s*@shrink02*@backfn2(z)+p-@split02 endif endif elseif @pick == 3 ;<><><><> if @setbackfn2 == 0 if y2 <= b2 if x2 <= bakseg3 z = s*@shrink03*flip(z)+p+2.25*@split12-flip(@split22-0.25) elseif x2 > bakseg3 && x2 <= 2*bakseg3 z = -s*@shrink03*flip(z)+p+0.75*@split12-flip(@split22-0.25) elseif x2 > 2*bakseg3 && x2 <= 3*bakseg3 z = s*@shrink03*flip(z)+p+1.25*@split12-flip(@split22-0.25) elseif x2 > 3*bakseg3 && x2 <= 4*bakseg3 z = -s*@shrink03*flip(z)+p-0.25*@split12-flip(@split22-0.25) elseif x2 > 4*bakseg3 && x2 <= 5*bakseg3 z = s*@shrink03*flip(z)+p+0.25*@split12-flip(@split22-0.25) elseif x2 > 4*bakseg3 && x2 <= 6*bakseg3 z = -s*@shrink03*flip(z)+p-1.25*@split12-flip(@split22-0.25) elseif x2 > 6*bakseg3 && x2 <= 7*bakseg3 z = s*@shrink03*flip(z)+p-0.75*@split12-flip(@split22-0.25) elseif x2 > 7*bakseg3 z = -s*@shrink03*flip(z)+p-2.25*@split12-flip(@split22-0.25) endif elseif y2 > b2 if x2 <= bakseg3 z = -s*@shrink03*flip(z)+p+2.25*@split12+flip(@split22-0.25) elseif x2 > bakseg3 && x2 <= 2*bakseg3 z = s*@shrink03*flip(z)+p+0.75*@split12+flip(@split22-0.25) elseif x2 > 2*bakseg3 && x2 <= 3*bakseg3 z = -s*@shrink03*flip(z)+p+1.25*@split12+flip(@split22-0.25) elseif x2 > 3*bakseg3 && x2 <= 4*bakseg3 z = s*@shrink03*flip(z)+p-0.25*@split12+flip(@split22-0.25) elseif x2 > 4*bakseg3 && x2 <= 5*bakseg3 z = -s*@shrink03*flip(z)+p+0.25*@split12+flip(@split22-0.25) elseif x2 > 5*bakseg3 && x2 <= 6*bakseg3 z = s*@shrink03*flip(z)+p-1.25*@split12+flip(@split22-0.25) elseif x2 > 6*bakseg3 && x2 <= 7*bakseg3 z = -s*@shrink03*flip(z)+p-0.75*@split12+flip(@split22-0.25) elseif x2 > 7*bakseg3 z = s*@shrink03*flip(z)+p-2.25*@split12+flip(@split22-0.25) endif endif elseif @setbackfn2 == 1 if x2 <= seg z = s*@shrink03*@backfn2(z)+p+@split02 else z = -s*@shrink03*@backfn2(z)+p-@split02 endif endif ; if @setbackfn == 0 ; if y <= b ; if x <= bakseg ; z = s*@shrinkbak*flip(z)+p+1.98*@split1-flip(@split2) ; elseif x > bakseg && x <= 2*bakseg ; z = -s*@shrinkbak*flip(z)+p+0.66*@split1-flip(@split2) ; elseif x > 2*bakseg && x <= 3*bakseg ; z = s*@shrinkbak*flip(z)+p+0.66*@split1-flip(@split2) ; elseif x > 3*bakseg && x <= 4*bakseg ; z = -s*@shrinkbak*flip(z)+p-0.66*@split1-flip(@split2) ; elseif x > 4*bakseg && x <= 5*bakseg ; z = s*@shrinkbak*flip(z)+p-0.66*@split1-flip(@split2) ; elseif x > 5*bakseg ; z = -s*@shrinkbak*flip(z)+p-1.98*@split1-flip(@split2) ; endif ; elseif y > b ; if x <= bakseg ; z = -s*@shrinkbak*flip(z)+p+1.98*@split1+flip(@split2) ; elseif x > bakseg && x <= 2*bakseg ; z = s*@shrinkbak*flip(z)+p+0.66*@split1+flip(@split2) ; elseif x > 2*bakseg && x <= 3*bakseg ; z = -s*@shrinkbak*flip(z)+p+0.66*@split1+flip(@split2) ; elseif x > 3*bakseg && x <= 4*bakseg ; z = s*@shrinkbak*flip(z)+p-0.66*@split1+flip(@split2) ; elseif x > 4*bakseg && x <= 5*bakseg ; z = -s*@shrinkbak*flip(z)+p-0.66*@split1+flip(@split2) ; elseif x > 5*bakseg ; z = s*@shrinkbak*flip(z)+p-1.98*@split1+flip(@split2) ; endif ; endif ; elseif @setbackfn == 1 ; if x <= seg && y < b ; z = s*@shrinkbak*@backfn1(z)+flip(p)+flip(@split1)-@split2 ; elseif x <= seg && y > b ; z = -s*@shrinkbak*@backfn1(z)+flip(p)+flip(@split1)+@split2 ; elseif x > seg && y < b ; z = s*@shrinkbak*@backfn1(z)+flip(p)-flip(@split1)-@split2 ; elseif x > seg && y > b ; z = -s*@shrinkbak*@backfn1(z)+flip(p)-flip(@split1)+@split2 ; endif ; else ; if y < b ; if x <= bakseg ; z = -s*@shrinkbak*@backfn1(z)+p+2.66*@split1 ; elseif x > bakseg && x <= 2*bakseg ; z = s*@shrinkbak*@backfn1(z)+p ; elseif x > 2*bakseg && x <= 3*bakseg ; z = -s*@shrinkbak*@backfn1(z)+p+1.33*@split1 ; elseif x > 3*bakseg && x <= 4*bakseg ; z = s*@shrinkbak*@backfn1(z)+p-1.33*@split1 ; elseif x > 4*bakseg && x <= 5*bakseg ; z = -s*@shrinkbak*@backfn1(z)+p ; elseif x > 5*bakseg && x <= 6*bakseg ; z = s*@shrinkbak*@backfn1(z)+p-2.66*@split1 ; endif ; else ; if x <= bakseg ; z = -s*@shrinkbak*@backfn1(z)+p+2.66*@split1 ; elseif x > bakseg && x <= 2*bakseg ; z = s*@shrinkbak*@backfn1(z)+p ; elseif x > 2*bakseg && x <= 3*bakseg ; z = -s*@shrinkbak*@backfn1(z)+p+1.33*@split1 ; elseif x > 3*bakseg && x <= 4*bakseg ; z = s*@shrinkbak*@backfn1(z)+p-1.33*@split1 ; elseif x > 4*bakseg && x <= 5*bakseg ; z = -s*@shrinkbak*@backfn1(z)+p ; elseif x > 5*bakseg && x <= 6*bakseg ; z = s*@shrinkbak*@backfn1(z)+p-2.66*@split1 ; endif ; endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Crosswaves3" param pick enum = "<>" "<><>" "<><><>" "<><><><>" default = 0 caption = "Pick:" endparam ;<> (0) heading caption = "Background" visible = @pick == 0 enabled = @pick == 0 endheading func @backfn0 default = flip() caption = " - function" visible = @pick == 0 enabled = @pick == 0 endfunc float param shrink0 default = 1.02 caption = " - shrink/expand" visible = @pick == 0 enabled = @pick == 0 endparam float param zoom0 default = 1 caption = " - move in/out" visible = @pick == 0 enabled = @pick == 0 endparam float param zoom1 default = 0 caption = " - move up/down" visible = @pick == 0 enabled = @pick == 0 endparam param Switch0 enum = "flip <>, other /\" "flip ><, other \/" "flip <<, other //" \ "flip >>, other \\" "flip ^, other ><" "flip v, other <>" "flip \\, other <<" \ "flip //, other >>" default = 0 caption = " - arrangement" visible = @pick == 0 enabled = @pick == 0 endparam ;<><> (1) heading caption = "Background:" visible = @pick == 1 enabled = @pick == 1 endheading param setbackfn1 enum = "Flip" "Choose" default = 0 caption = "Function" visible = @pick == 1 enabled = @pick == 1 endparam func @backfn1 default = sqr() caption = " - which one?" visible = @pick == 1 && @setbackfn1 == 1 enabled = @pick == 1 && @setbackfn1 == 1 endfunc float param shrink01 default = 1 caption = " - shrink" visible = @pick == 1 && @setbackfn1 == 0 enabled = @pick == 1 && @setbackfn1 == 0 endparam float param split01 default = 1 caption = " - split" visible = @pick == 1 && @setbackfn1 == 0 enabled = @pick == 1 && @setbackfn1 == 0 endparam float param split11 default = 1 caption = " - split L/R" visible = @pick == 1 && @setbackfn1 == 0 enabled = @pick == 1 && @setbackfn1 == 0 endparam float param split21 default = 0 caption = " - split U/D" visible = @pick == 1 && @setbackfn1 == 0 enabled = @pick == 1 && @setbackfn1 == 0 endparam param switchbak1 enum = "Flipped" "Unflipped" default = 1 caption = " - switch" visible = @pick == 2 enabled = @pick == 2 endparam ;<><><> or <><><><> (2 or 3) heading caption = "BACKGROUND:" visible = @pick >= 2 enabled = @pick >= 2 endheading param setbackfn2 enum = "Flip" "Choose" default = 0 caption = "Function" visible = @pick >= 2 enabled = @pick >= 2 endparam func @backfn2 default = sqr() caption = " - which one?" visible = @pick >= 2 && @setbackfn2 == 1 enabled = @pick >= 2 && @setbackfn2 == 1 endfunc float param split12 default = 1 caption = " - split L/R" visible = @pick >= 2 && @setbackfn2 == 0 enabled = @pick >= 2 && @setbackfn2 == 0 endparam float param split22 default = 0 caption = " - split U/D" visible = @pick >= 2 && @setbackfn2 == 0 enabled = @pick >= 2 && @setbackfn2 == 0 endparam float param shrink02 default = 1 caption = " - shrink" visible = @pick == 2 && @setbackfn2 == 1 enabled = @pick == 2 && @setbackfn2 == 1 endparam float param shrink03 default = 1 caption = " - shrink" visible = @pick == 3 enabled = @pick == 3 endparam float param split02 default = 0 caption = " - split" visible = @pick >= 2 && @setbackfn2 == 1 enabled = @pick >= 2 && @setbackfn2 == 1 endparam param switchbak2 enum = "Flipped" "Unflipped" default = 1 caption = " - switch" visible = @pick >= 2 enabled = @pick >= 2 endparam heading caption = "WAVES:" endheading param setwavefn enum = "Fixed" "Choose" default = 0 caption = "Function" endparam func wavefn caption = " - which one?" default = sqr() visible = @setwavefn == 1 endfunc float param shrinkwav caption = " - shrink" default = 3 visible = @setwavefn == 1 endparam float param shift caption = " - shift" default = 0 visible = @setwavefn == 1 endparam float param shiftud caption = " - shift up/down" default = 0 visible = @setwavefn == 1 endparam param switchwave enum = "Point in" "Point out" default = 1 caption = " - orientation" visible = @setwavefn == 1 endparam float param ratio caption = "Slope" default = 0.75 endparam int param waveamp caption = "Amplitude" default = 50 endparam param setwaveheight enum = "= amplitude x2" "Choose" default = 0 caption = " - wave height" visible = @setwavefn == 1 endparam float param wavethickness caption = " - how much?" default = 100 min = 0 visible = @setwaveheight == 1 endparam func fn1 caption = "Shape" default = cos() endfunc float param wd caption = "Number" default = 3 endparam heading caption = "BORDERS:" endheading float param border caption = " - width" default = 2 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(man+)" "fn1(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Tri-out { init: z = 0 float x = #x float y = #y int h = #height int w = #width float ratio = #width/#height p = #pixel float a = w/2 float b = h/2 loop: if @switch == 0 s = 1 else s = -1 endif if @choice == 0 ;"Pattern 1" if x > @border && x < w-@border && y > @border && y < h-@border ;left upper quadrant: if y <= b-@border/2 && x <= a-@border/2 if (x-0.66*@border)/y > ratio && (w/2-x-0.66*@border)/y > ratio ;T z = s*@shrink*fn1(z)+flip(p)+ratio*flip(@shift)-@shift elseif (x+0.66*@border)/y < ratio && (w/2-x+0.66*@border)/y < ratio ;B z = s*@shrink*fn1(z)+flip(p)+ratio*flip(@shift)-@shift elseif x/(y-0.66*@border) < ratio && (w/2-x)/(y+0.66*@border) > ratio ;L z = s*@shrink*fn1(z)+flip(p)+ratio*flip(@shift)-@shift elseif x/(y+0.66*@border) > ratio && (w/2-x)/(y-0.66*@border) < ratio ;R z = s*@shrink*fn1(z)+flip(p)+ratio*flip(@shift)-@shift else if @switchb == 0 z = ident(z)+p else z = -s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;right upper quadrant: elseif y <= b-@border/2 && x > a+@border/2 if (w-x-0.66*@border)/y > ratio && (w-x+0.66*@border)/(b-y) < ratio ;T z = s*@shrink*fn1(z)+flip(p)-ratio*flip(@shift)-@shift elseif (w-x+0.66*@border)/y < ratio && (w-x-0.66*@border)/(b-y) > ratio ;B z = s*@shrink*fn1(z)+flip(p)-ratio*flip(@shift)-@shift elseif (w-x-0.66*@border)/y > ratio && (w-x-0.66*@border)/(b-y) > ratio ;L z = s*@shrink*fn1(z)+flip(p)-ratio*flip(@shift)-@shift elseif (w-x+0.66*@border)/y < ratio && (w-x+0.66*@border)/(b-y) < ratio ;R z = s*@shrink*fn1(z)+flip(p)-ratio*flip(@shift)-@shift else if @switchb == 0 z = ident(z)+p else z = s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;right lower quadrant: elseif y > b+@border/2 && x > a+@border/2 if (w-x)/(h-y-0.66*@border) < ratio && (y-b)/(w-x-0.66*@border) < 1/ratio ;T z = s*@shrink*fn1(z)-flip(p)+ratio*flip(@shift)-@shift elseif (w-x)/(h-y+0.66*@border) > ratio && (y-b)/(w-x+0.66*@border) > 1/ratio ;B z = s*@shrink*fn1(z)-flip(p)+ratio*flip(@shift)-@shift elseif (w-x)/(h-y-0.66*@border) < ratio && (y-b)/(w-x+0.66*@border) > 1/ratio ;R z = s*@shrink*fn1(z)-flip(p)+ratio*flip(@shift)-@shift elseif (w-x)/(h-y+0.66*@border) > ratio && (y-b)/(w-x-0.66*@border) < 1/ratio ;L z = s*@shrink*fn1(z)-flip(p)+ratio*flip(@shift)-@shift else if @switchb == 0 z = ident(z)+p else z = s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;left lower quadrant: elseif y > b+@border/2 && x <= a-@border/2 if x/(h-y-0.66*@border) <= ratio && (x-0.66*@border)/(y-b) > ratio ;T z = s*@shrink*fn1(z)-flip(p)-ratio*flip(@shift)-@shift elseif x/(h-y+0.66*@border) > ratio && (x+0.66*@border)/(y-b) < ratio ;B z = s*@shrink*fn1(z)-flip(p)-ratio*flip(@shift)-@shift elseif x/(h-y-0.66*@border) <= ratio && (x+0.66*@border)/(y-b) < ratio ;L z = s*@shrink*fn1(z)-flip(p)-ratio*flip(@shift)-@shift elseif x/(h-y+0.66*@border) > ratio && (x-0.66*@border)/(y-b) > ratio ;R z = s*@shrink*fn1(z)-flip(p)-ratio*flip(@shift)-@shift else if @switchb == 0 z = ident(z)+p else z = -s*@shrinkb*@borderfn(z)+p+@shiftb endif endif else if @switchb == 0 z = ident(z)+p else if x < w/2 z = s*@shrinkb*@borderfn(z)+p+@shiftb else z = -s*@shrinkb*@borderfn(z)+p-@shiftb endif endif endif endif elseif @choice == 1 ;"Pattern 2" if x > @border && x < w-@border && y > @border && y < h-@border ;left upper quadrant: if y <= b-@border/2 && x <= a-@border/2 if (x-0.66*@border)/y > ratio && (w/2-x-0.66*@border)/y > ratio ;T z = s*@shrink*fn1(z)+p-ratio*flip(@shift)+@shift elseif (x+0.66*@border)/y < ratio && (w/2-x+0.66*@border)/y < ratio ;B z = s*@shrink*fn1(z)+p-ratio*flip(@shift)+@shift elseif x/(y-0.66*@border) < ratio && (w/2-x)/(y+0.66*@border) > ratio ;L z = s*@shrink*fn1(z)+p-ratio*flip(@shift)+@shift elseif x/(y+0.66*@border) > ratio && (w/2-x)/(y-0.66*@border) < ratio ;R z = s*@shrink*fn1(z)+p-ratio*flip(@shift)+@shift else if @switchb == 0 z = ident(z)+p else z = -s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;right upper quadrant: elseif y <= b-@border/2 && x > a+@border/2 if (w-x-0.66*@border)/y > ratio && (w-x+0.66*@border)/(b-y) < ratio ;T z = -s*@shrink*fn1(z)+p-ratio*flip(@shift)-@shift elseif (w-x+0.66*@border)/y < ratio && (w-x-0.66*@border)/(b-y) > ratio ;B z = -s*@shrink*fn1(z)+p-ratio*flip(@shift)-@shift elseif (w-x-0.66*@border)/y > ratio && (w-x-0.66*@border)/(b-y) > ratio ;L z = -s*@shrink*fn1(z)+p-ratio*flip(@shift)-@shift elseif (w-x+0.66*@border)/y < ratio && (w-x+0.66*@border)/(b-y) < ratio ;R z = -s*@shrink*fn1(z)+p-ratio*flip(@shift)-@shift else if @switchb == 0 z = ident(z)+p else z = s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;right lower quadrant: elseif y > b+@border/2 && x > a+@border/2 if (w-x)/(h-y-0.66*@border) < ratio && (y-b)/(w-x-0.66*@border) < 1/ratio ;T z = -s*@shrink*fn1(z)+p+ratio*flip(@shift)-@shift elseif (w-x)/(h-y+0.66*@border) > ratio && (y-b)/(w-x+0.66*@border) > 1/ratio ;B z = -s*@shrink*fn1(z)+p+ratio*flip(@shift)-@shift elseif (w-x)/(h-y-0.66*@border) < ratio && (y-b)/(w-x+0.66*@border) > 1/ratio ;R z = -s*@shrink*fn1(z)+p+ratio*flip(@shift)-@shift elseif (w-x)/(h-y+0.66*@border) > ratio && (y-b)/(w-x-0.66*@border) < 1/ratio ;L z = -s*@shrink*fn1(z)+p+ratio*flip(@shift)-@shift else if @switchb == 0 z = ident(z)+p else z = s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;left lower quadrant: elseif y > b+@border/2 && x <= a-@border/2 if x/(h-y-0.66*@border) <= ratio && (x-0.66*@border)/(y-b) > ratio ;T z = s*@shrink*fn1(z)+p+ratio*flip(@shift)+@shift elseif x/(h-y+0.66*@border) > ratio && (x+0.66*@border)/(y-b) < ratio ;B z = s*@shrink*fn1(z)+p+ratio*flip(@shift)+@shift elseif x/(h-y-0.66*@border) <= ratio && (x+0.66*@border)/(y-b) < ratio ;L z = s*@shrink*fn1(z)+p+ratio*flip(@shift)+@shift elseif x/(h-y+0.66*@border) > ratio && (x-0.66*@border)/(y-b) > ratio ;R z = s*@shrink*fn1(z)+p+ratio*flip(@shift)+@shift else if @switchb == 0 z = ident(z)+p else z = -s*@shrinkb*@borderfn(z)+p+@shiftb endif endif else if @switchb == 0 z = ident(z)+p else if x < w/2 z = s*@shrinkb*@borderfn(z)+p+@shiftb else z = -s*@shrinkb*@borderfn(z)+p-@shiftb endif endif endif else if @switchb == 0 z = ident(z)+p else if x < w/2 z = s*@shrinkb*@borderfn(z)+p+@shiftb else z = -s*@shrinkb*@borderfn(z)+p-@shiftb endif endif endif elseif @choice == 2 ;"Pattern 3" if x > @border && x < w-@border && y > @border && y < h-@border ;left upper quadrant: if y <= b-@border/2 && x <= a-@border/2 if (x-0.66*@border)/y > ratio && (w/2-x-0.66*@border)/y > ratio ;T z = -s*@shrink*fn1(z)+flip(p)+ratio*flip(@shift1)-@shift2 elseif (x+0.66*@border)/y < ratio && (w/2-x+0.66*@border)/y < ratio ;B z = s*@shrink*fn1(z)+flip(p)+ratio*flip(@shift1)-@shift2 elseif x/(y-0.66*@border) < ratio && (w/2-x)/(y+0.66*@border) > ratio ;L z = s*@shrink*fn1(z)+p-ratio*flip(0.75*@shift1)+1.33*@shift2 elseif x/(y+0.66*@border) > ratio && (w/2-x)/(y-0.66*@border) < ratio ;R z = -s*@shrink*fn1(z)+p-ratio*flip(0.75*@shift1)+1.33*@shift2 else if @switchb == 0 z = ident(z)+p else z = -s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;right upper quadrant: elseif y <= b-@border/2 && x > a+@border/2 if (w-x-0.66*@border)/y > ratio && (w-x+0.66*@border)/(b-y) < ratio ;T z = -s*@shrink*fn1(z)+flip(p)-ratio*flip(@shift1)-@shift2 elseif (w-x+0.66*@border)/y < ratio && (w-x-0.66*@border)/(b-y) > ratio ;B z = s*@shrink*fn1(z)+flip(p)-ratio*flip(@shift1)-@shift2 elseif (w-x-0.66*@border)/y > ratio && (w-x-0.66*@border)/(b-y) > ratio ;L z = s*@shrink*fn1(z)+p-ratio*flip(0.75*@shift1)-1.33*@shift2 elseif (w-x+0.66*@border)/y < ratio && (w-x+0.66*@border)/(b-y) < ratio ;R z = -s*@shrink*fn1(z)+p-ratio*flip(0.75*@shift1)-1.33*@shift2 else if @switchb == 0 z = ident(z)+p else z = s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;right lower quadrant: elseif y > b+@border/2 && x > a+@border/2 if (w-x)/(h-y-0.66*@border) < ratio && (y-b)/(w-x-0.66*@border) < 1/ratio ;T z = s*@shrink*fn1(z)-flip(p)+ratio*flip(@shift1)-@shift2 elseif (w-x)/(h-y+0.66*@border) > ratio && (y-b)/(w-x+0.66*@border) > 1/ratio ;B z = -s*@shrink*fn1(z)-flip(p)+ratio*flip(@shift1)-@shift2 elseif (w-x)/(h-y-0.66*@border) < ratio && (y-b)/(w-x+0.66*@border) > 1/ratio ;R z = -s*@shrink*fn1(z)+p+ratio*flip(0.75*@shift1)-1.33*@shift2 elseif (w-x)/(h-y+0.66*@border) > ratio && (y-b)/(w-x-0.66*@border) < 1/ratio ;L z = s*@shrink*fn1(z)+p+ratio*flip(0.75*@shift1)-1.33*@shift2 else if @switchb == 0 z = ident(z)+p else z = s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;left lower quadrant: elseif y > b+@border/2 && x <= a-@border/2 if x/(h-y-0.66*@border) <= ratio && (x-0.66*@border)/(y-b) > ratio ;T z = s*@shrink*fn1(z)-flip(p)-ratio*flip(@shift1)-@shift2 elseif x/(h-y+0.66*@border) > ratio && (x+0.66*@border)/(y-b) < ratio ;B z = -s*@shrink*fn1(z)-flip(p)-ratio*flip(@shift1)-@shift2 elseif x/(h-y-0.66*@border) <= ratio && (x+0.66*@border)/(y-b) < ratio ;L z = s*@shrink*fn1(z)+p+ratio*flip(0.75*@shift1)+1.33*@shift2 elseif x/(h-y+0.66*@border) > ratio && (x-0.66*@border)/(y-b) > ratio ;R z = -s*@shrink*fn1(z)+p+ratio*flip(0.75*@shift1)+1.33*@shift2 else if @switchb == 0 z = ident(z)+p else z = -s*@shrinkb*@borderfn(z)+p+@shiftb endif endif else if @switchb == 0 z = ident(z)+p else if x < w/2 z = s*@shrinkb*@borderfn(z)+p+@shiftb else z = -s*@shrinkb*@borderfn(z)+p-@shiftb endif endif endif else if @switchb == 0 z = ident(z)+p else if x < w/2 z = s*@shrinkb*@borderfn(z)+p+@shiftb else z = -s*@shrinkb*@borderfn(z)+p-@shiftb endif endif endif else ;"Pattern 4" if x > @border && x < w-@border && y > @border && y < h-@border ;left upper quadrant: if y <= b-@border/2 && x <= a-@border/2 if (x-0.66*@border)/y > ratio && (w/2-x-0.66*@border)/y > ratio ;T z = -s*@shrink*fn1(z)+flip(p)+ratio*flip(@shift1)-@shift2-@moreshift elseif (x+0.66*@border)/y < ratio && (w/2-x+0.66*@border)/y < ratio ;B z = s*@shrink*fn1(z)+flip(p)+ratio*flip(@shift1)-@shift2+@moreshift elseif x/(y-0.66*@border) < ratio && (w/2-x)/(y+0.66*@border) > ratio ;L z = s*@shrink*fn1(z)+p-ratio*flip(0.75*@shift1)+1.32*@shift2+@moreshift elseif x/(y+0.66*@border) > ratio && (w/2-x)/(y-0.66*@border) < ratio ;R z = -s*@shrink*fn1(z)+p-ratio*flip(0.75*@shift1)+1.32*@shift2-@moreshift else if @switchb == 0 z = ident(z)+p else z = -s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;right upper quadrant: elseif y <= b-@border/2 && x > a+@border/2 if (w-x-0.66*@border)/y > ratio && (w-x+0.66*@border)/(b-y) < ratio ;T z = -s*@shrink*fn1(z)+flip(p)-ratio*flip(@shift1)-@shift2-@moreshift elseif (w-x+0.66*@border)/y < ratio && (w-x-0.66*@border)/(b-y) > ratio ;B z = s*@shrink*fn1(z)+flip(p)-ratio*flip(@shift1)-@shift2+@moreshift elseif (w-x-0.66*@border)/y > ratio && (w-x-0.66*@border)/(b-y) > ratio ;L z = s*@shrink*fn1(z)+p-ratio*flip(0.75*@shift1)-1.32*@shift2+@moreshift elseif (w-x+0.66*@border)/y < ratio && (w-x+0.66*@border)/(b-y) < ratio ;R z = -s*@shrink*fn1(z)+p-ratio*flip(0.75*@shift1)-1.32*@shift2-@moreshift else if @switchb == 0 z = ident(z)+p else z = s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;right lower quadrant: elseif y > b+@border/2 && x > a+@border/2 if (w-x)/(h-y-0.66*@border) < ratio && (y-b)/(w-x-0.66*@border) < 1/ratio ;T z = s*@shrink*fn1(z)-flip(p)+ratio*flip(@shift1)-@shift2+@moreshift elseif (w-x)/(h-y+0.66*@border) > ratio && (y-b)/(w-x+0.66*@border) > 1/ratio ;B z = -s*@shrink*fn1(z)-flip(p)+ratio*flip(@shift1)-@shift2-@moreshift elseif (w-x)/(h-y-0.66*@border) < ratio && (y-b)/(w-x+0.66*@border) > 1/ratio ;R z = -s*@shrink*fn1(z)+p+ratio*flip(0.75*@shift1)-1.32*@shift2-@moreshift elseif (w-x)/(h-y+0.66*@border) > ratio && (y-b)/(w-x-0.66*@border) < 1/ratio ;L z = s*@shrink*fn1(z)+p+ratio*flip(0.75*@shift1)-1.32*@shift2+@moreshift else if @switchb == 0 z = ident(z)+p else z = s*@shrinkb*@borderfn(z)+p+@shiftb endif endif ;left lower quadrant: elseif y > b+@border/2 && x <= a-@border/2 if x/(h-y-0.66*@border) <= ratio && (x-0.66*@border)/(y-b) > ratio ;T z = s*@shrink*fn1(z)-flip(p)-ratio*flip(@shift1)-@shift2+@moreshift elseif x/(h-y+0.66*@border) > ratio && (x+0.66*@border)/(y-b) < ratio ;B z = -s*@shrink*fn1(z)-flip(p)-ratio*flip(@shift1)-@shift2-@moreshift elseif x/(h-y-0.66*@border) <= ratio && (x+0.66*@border)/(y-b) < ratio ;L z = s*@shrink*fn1(z)+p+ratio*flip(0.75*@shift1)+1.32*@shift2+@moreshift elseif x/(h-y+0.66*@border) > ratio && (x-0.66*@border)/(y-b) > ratio ;R z = -s*@shrink*fn1(z)+p+ratio*flip(0.75*@shift1)+1.32*@shift2-@moreshift else if @switchb == 0 z = ident(z)+p else z = -s*@shrinkb*@borderfn(z)+p+@shiftb endif endif else if @switchb == 0 z = ident(z)+p else if x < w/2 z = s*@shrinkb*@borderfn(z)+p+@shiftb else z = -s*@shrinkb*@borderfn(z)+p-@shiftb endif endif endif else if @switchb == 0 z = ident(z)+p else if x < w/2 z = s*@shrinkb*@borderfn(z)+p+@shiftb else z = -s*@shrinkb*@borderfn(z)+p-@shiftb endif endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) default: title = "Tri-out" method = multipass param choice enum = "Pattern 1" "Pattern 2" "Pattern 3" "Pattern 4" default = 0 caption = "Choice" endparam param switch enum = "One way..." "...or the other" default = 0 caption = "Switch" endparam func fn1 caption = "FUNCTION" default = sqr() endfunc float param shrink caption = " - shrink" default = 2 endparam float param shift1 caption = " - shift U/D" default = 0.75 enabled = @choice == 2 || @choice == 3 visible = @choice == 2 || @choice == 3 endparam float param shift2 caption = " - shift L/R" default = 0.75 enabled = @choice == 2 || @choice == 3 visible = @choice == 2 || @choice == 3 endparam float param shift caption = " - shift" default = 0.75 enabled = @choice == 0 || @choice == 1 visible = @choice == 0 || @choice == 1 endparam float param moreshift caption = " - shift more" default = 0.75 enabled = @choice == 2 || @choice == 3 visible = @choice == 2 || @choice == 3 endparam heading text = "BORDERS:" endheading param switchb enum = "Ident" "Choose" default = 0 caption = " - function" endparam float param border caption = " - width" default = 2 endparam func borderfn caption = " - function" default = sqr() enabled = @switchb == 1 visible = @switchb == 1 endfunc float param shrinkb caption = " - shrink" default = 4 endparam float param shiftb caption = " - shift" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn(r+i)" "1/fn(r-i)" "1/fn(-r+i)" "1/fn(-r-i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Diag-Grid7 { init: x = #x y = #y z = (0,0) complex p = #pixel float w = #width/@checks float h = #height/@checks w2 = #width/2 h2 = #height/2 float ratio = #height/#width loop: if @switch == 0 s = 1 else s = -1 endif if y > @border/2 && y <= h*1-@border/2 if x > @border/2 && x <= w*1-@border/2 if x*y-@border < ratio*x^2 && (w-x)*(h-y) > x*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif x*y-@border < ratio*x^2 && (w-x)*(h-y) < x*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*y > ratio*x^2 && (w-x)*(h-y) > x*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*y > ratio*x^2 && (w-x)*(h-y) < x*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border/2 && x <= w*2-@border/2 if (x-w)*y-@border < ratio*(x-w)^2 && (w*2-x)*(h-y) > (x-w)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w)*y-@border < ratio*(x-w)^2 && (w*2-x)*(h-y) < (x-w)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*y > ratio*(x-w)^2 && (w*2-x)*(h-y) > (x-w)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*y > ratio*(x-w)^2 && (w*2-x)*(h-y) < (x-w)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border/2 && x <= w*3-@border/2 if (x-w*2)*y-@border < ratio*(x-w*2)^2 && (w*3-x)*(h-y) > (x-w*2)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*y-@border < ratio*(x-w*2)^2 && (w*3-x)*(h-y) < (x-w*2)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*y > ratio*(x-w*2)^2 && (w*3-x)*(h-y) > (x-w*2)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*y > ratio*(x-w*2)^2 && (w*3-x)*(h-y) < (x-w*2)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border/2 && x <= w*4-@border/2 if (x-w*3)*y-@border < ratio*(x-w*3)^2 && (w*4-x)*(h-y) > (x-w*3)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*y-@border < ratio*(x-w*3)^2 && (w*4-x)*(h-y) < (x-w*3)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*y > ratio*(x-w*3)^2 && (w*4-x)*(h-y) > (x-w*3)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*y > ratio*(x-w*3)^2 && (w*4-x)*(h-y) < (x-w*3)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border/2 && x <= w*5-@border/2 if (x-w*4)*y-@border < ratio*(x-w*4)^2 && (w*5-x)*(h-y) > (x-w*4)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*y-@border < ratio*(x-w*4)^2 && (w*5-x)*(h-y) < (x-w*4)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*y > ratio*(x-w*4)^2 && (w*5-x)*(h-y) > (x-w*4)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*y > ratio*(x-w*4)^2 && (w*5-x)*(h-y) < (x-w*4)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border/2 && x <= w*6-@border/2 if (x-w*5)*y-@border < ratio*(x-w*5)^2 && (w*6-x)*(h-y) > (x-w*5)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*y-@border < ratio*(x-w*5)^2 && (w*6-x)*(h-y) < (x-w*5)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*y > ratio*(x-w*5)^2 && (w*6-x)*(h-y) > (x-w*5)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*y > ratio*(x-w*5)^2 && (w*6-x)*(h-y) < (x-w*5)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border/2 && x <= w*7-@border/2 if (x-w*6)*y-@border < ratio*(x-w*6)^2 && (w*7-x)*(h-y) > (x-w*6)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*y-@border < ratio*(x-w*6)^2 && (w*7-x)*(h-y) < (x-w*6)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*y > ratio*(x-w*6)^2 && (w*7-x)*(h-y) > (x-w*6)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*y > ratio*(x-w*6)^2 && (w*7-x)*(h-y) < (x-w*6)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border/2 && x <= w*8-@border/2 if (x-w*7)*y-@border < ratio*(x-w*7)^2 && (w*8-x)*(h-y) > (x-w*7)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*y-@border < ratio*(x-w*7)^2 && (w*8-x)*(h-y) < (x-w*7)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*y > ratio*(x-w*7)^2 && (w*8-x)*(h-y) > (x-w*7)*y if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*y > ratio*(x-w*7)^2 && (w*8-x)*(h-y) < (x-w*7)*y if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*1+@border/2 && y <= h*2-@border/2 if x > @border/2 && x <= w*1-@border/2 if x*(y-h)-@border < ratio*x^2 && (w-x)*(h*2-y) > x*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif x*(y-h)-@border < ratio*x^2 && (w-x)*(h*2-y) < x*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h) > ratio*x^2 && (w-x)*(h*2-y) > x*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h) > ratio*x^2 && (w-x)*(h*2-y) < x*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border/2 && x <= w*2-@border/2 if (x-w)*(y-h)-@border < ratio*(x-w)^2 && (w*2-x)*(h*2-y) > (x-w)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w)*(y-h)-@border < ratio*(x-w)^2 && (w*2-x)*(h*2-y) < (x-w)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h) > ratio*(x-w)^2 && (w*2-x)*(h*2-y) > (x-w)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h) > ratio*(x-w)^2 && (w*2-x)*(h*2-y) < (x-w)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border/2 && x <= w*3-@border/2 if (x-w*2)*(y-h)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*2-y) > (x-w*2)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*2-y) < (x-w*2)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h) > ratio*(x-w*2)^2 && (w*3-x)*(h*2-y) > (x-w*2)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h) > ratio*(x-w*2)^2 && (w*3-x)*(h*2-y) < (x-w*2)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border/2 && x <= w*4-@border/2 if (x-w*3)*(y-h)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*2-y) > (x-w*3)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*2-y) < (x-w*3)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h) > ratio*(x-w*3)^2 && (w*4-x)*(h*2-y) > (x-w*3)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h) > ratio*(x-w*3)^2 && (w*4-x)*(h*2-y) < (x-w*3)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border/2 && x <= w*5-@border/2 if (x-w*4)*(y-h)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*2-y) > (x-w*4)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*2-y) < (x-w*4)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h) > ratio*(x-w*4)^2 && (w*5-x)*(h*2-y) > (x-w*4)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h) > ratio*(x-w*4)^2 && (w*5-x)*(h*2-y) < (x-w*4)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border/2 && x <= w*6-@border/2 if (x-w*5)*(y-h)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*2-y) > (x-w*5)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*2-y) < (x-w*5)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h) > ratio*(x-w*5)^2 && (w*6-x)*(h*2-y) > (x-w*5)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h) > ratio*(x-w*5)^2 && (w*6-x)*(h*2-y) < (x-w*5)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border/2 && x <= w*7-@border/2 if (x-w*6)*(y-h)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*2-y) > (x-w*6)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*2-y) < (x-w*6)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h) > ratio*(x-w*6)^2 && (w*7-x)*(h*2-y) > (x-w*6)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h) > ratio*(x-w*6)^2 && (w*7-x)*(h*2-y) < (x-w*6)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border/2 && x <= w*8-@border/2 if (x-w*7)*(y-h)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*2-y) > (x-w*7)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*2-y) < (x-w*7)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h) > ratio*(x-w*7)^2 && (w*8-x)*(h*2-y) > (x-w*7)*(y-h) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h) > ratio*(x-w*7)^2 && (w*8-x)*(h*2-y) < (x-w*7)*(y-h) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*2+@border/2 && y <= h*3-@border/2 if x > @border/2 && x <= w*1-@border/2 if x*(y-h*2)-@border < ratio*x^2 && (w-x)*(h*3-y) > x*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif x*(y-h*2)-@border < ratio*x^2 && (w-x)*(h*3-y) < x*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*2) > ratio*x^2 && (w-x)*(h*3-y) > x*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*2) > ratio*x^2 && (w-x)*(h*3-y) < x*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border/2 && x <= w*2-@border/2 if (x-w)*(y-h*2)-@border < ratio*(x-w)^2 && (w*2-x)*(h*3-y) > (x-w)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w)*(y-h*2)-@border < ratio*(x-w)^2 && (w*2-x)*(h*3-y) < (x-w)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*2) > ratio*(x-w)^2 && (w*2-x)*(h*3-y) > (x-w)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*2) > ratio*(x-w)^2 && (w*2-x)*(h*3-y) < (x-w)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border/2 && x <= w*3-@border/2 if (x-w*2)*(y-h*2)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*3-y) > (x-w*2)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*2)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*3-y) < (x-w*2)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*2) > ratio*(x-w*2)^2 && (w*3-x)*(h*3-y) > (x-w*2)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*2) > ratio*(x-w*2)^2 && (w*3-x)*(h*3-y) < (x-w*2)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border/2 && x <= w*4-@border/2 if (x-w*3)*(y-h*2)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*3-y) > (x-w*3)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*2)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*3-y) < (x-w*3)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*2) > ratio*(x-w*3)^2 && (w*4-x)*(h*3-y) > (x-w*3)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*2) > ratio*(x-w*3)^2 && (w*4-x)*(h*3-y) < (x-w*3)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border/2 && x <= w*5-@border/2 if (x-w*4)*(y-h*2)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*3-y) > (x-w*4)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*2)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*3-y) < (x-w*4)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*2) > ratio*(x-w*4)^2 && (w*5-x)*(h*3-y) > (x-w*4)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*2) > ratio*(x-w*4)^2 && (w*5-x)*(h*3-y) < (x-w*4)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border/2 && x <= w*6-@border/2 if (x-w*5)*(y-h*2)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*3-y) > (x-w*5)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*2)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*3-y) < (x-w*5)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*2) > ratio*(x-w*5)^2 && (w*6-x)*(h*3-y) > (x-w*5)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*2) > ratio*(x-w*5)^2 && (w*6-x)*(h*3-y) < (x-w*5)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border/2 && x <= w*7-@border/2 if (x-w*6)*(y-h*2)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*3-y) > (x-w*6)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*2)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*3-y) < (x-w*6)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*2) > ratio*(x-w*6)^2 && (w*7-x)*(h*3-y) > (x-w*6)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*2) > ratio*(x-w*6)^2 && (w*7-x)*(h*3-y) < (x-w*6)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border/2 && x <= w*8-@border/2 if (x-w*7)*(y-h*2)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*3-y) > (x-w*7)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*2)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*3-y) < (x-w*7)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*2) > ratio*(x-w*7)^2 && (w*8-x)*(h*3-y) > (x-w*7)*(y-h*2) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*2) > ratio*(x-w*7)^2 && (w*8-x)*(h*3-y) < (x-w*7)*(y-h*2) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*3+@border/2 && y <= h*4-@border/2 if x > @border/2 && x <= w*1-@border/2 if x*(y-h*3)-@border < ratio*x^2 && (w-x)*(h*4-y) > x*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif x*(y-h*3)-@border < ratio*x^2 && (w-x)*(h*4-y) < x*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*3) > ratio*x^2 && (w-x)*(h*4-y) > x*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*3) > ratio*x^2 && (w-x)*(h*4-y) < x*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border/2 && x <= w*2-@border/2 if (x-w)*(y-h*3)-@border < ratio*(x-w)^2 && (w*2-x)*(h*4-y) > (x-w)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w)*(y-h*3)-@border < ratio*(x-w)^2 && (w*2-x)*(h*4-y) < (x-w)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*3) > ratio*(x-w)^2 && (w*2-x)*(h*4-y) > (x-w)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*3) > ratio*(x-w)^2 && (w*2-x)*(h*4-y) < (x-w)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border/2 && x <= w*3-@border/2 if (x-w*2)*(y-h*3)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*4-y) > (x-w*2)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*3)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*4-y) < (x-w*2)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*3) > ratio*(x-w*2)^2 && (w*3-x)*(h*4-y) > (x-w*2)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*3) > ratio*(x-w*2)^2 && (w*3-x)*(h*4-y) < (x-w*2)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border/2 && x <= w*4-@border/2 if (x-w*3)*(y-h*3)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*4-y) > (x-w*3)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*3)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*4-y) < (x-w*3)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*3) > ratio*(x-w*3)^2 && (w*4-x)*(h*4-y) > (x-w*3)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*3) > ratio*(x-w*3)^2 && (w*4-x)*(h*4-y) < (x-w*3)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border/2 && x <= w*5-@border/2 if (x-w*4)*(y-h*3)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*4-y) > (x-w*4)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*3)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*4-y) < (x-w*4)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*3) > ratio*(x-w*4)^2 && (w*5-x)*(h*4-y) > (x-w*4)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*3) > ratio*(x-w*4)^2 && (w*5-x)*(h*4-y) < (x-w*4)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border/2 && x <= w*6-@border/2 if (x-w*5)*(y-h*3)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*4-y) > (x-w*5)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*3)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*4-y) < (x-w*5)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*3) > ratio*(x-w*5)^2 && (w*6-x)*(h*4-y) > (x-w*5)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*3) > ratio*(x-w*5)^2 && (w*6-x)*(h*4-y) < (x-w*5)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border/2 && x <= w*7-@border/2 if (x-w*6)*(y-h*2)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*4-y) > (x-w*6)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*3)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*4-y) < (x-w*6)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*3) > ratio*(x-w*6)^2 && (w*7-x)*(h*4-y) > (x-w*6)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*3) > ratio*(x-w*6)^2 && (w*7-x)*(h*4-y) < (x-w*6)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border/2 && x <= w*8-@border/2 if (x-w*7)*(y-h*3)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*4-y) > (x-w*7)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*3)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*4-y) < (x-w*7)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*3) > ratio*(x-w*7)^2 && (w*8-x)*(h*4-y) > (x-w*7)*(y-h*3) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*3) > ratio*(x-w*7)^2 && (w*8-x)*(h*4-y) < (x-w*7)*(y-h*3) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*4+@border/2 && y <= h*5-@border/2 if x > @border/2 && x <= w*1-@border/2 if x*(y-h*4)-@border < ratio*x^2 && (w-x)*(h*5-y) > x*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif x*(y-h*4)-@border < ratio*x^2 && (w-x)*(h*5-y) < x*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*4) > ratio*x^2 && (w-x)*(h*5-y) > x*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*4) > ratio*x^2 && (w-x)*(h*5-y) < x*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border/2 && x <= w*2-@border/2 if (x-w)*(y-h*4)-@border < ratio*(x-w)^2 && (w*2-x)*(h*5-y) > (x-w)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w)*(y-h*4)-@border < ratio*(x-w)^2 && (w*2-x)*(h*5-y) < (x-w)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*4) > ratio*(x-w)^2 && (w*2-x)*(h*5-y) > (x-w)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*4) > ratio*(x-w)^2 && (w*2-x)*(h*5-y) < (x-w)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border/2 && x <= w*3-@border/2 if (x-w*2)*(y-h*4)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*5-y) > (x-w*2)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*4)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*5-y) < (x-w*2)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*4) > ratio*(x-w*2)^2 && (w*3-x)*(h*5-y) > (x-w*2)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*4) > ratio*(x-w*2)^2 && (w*3-x)*(h*5-y) < (x-w*2)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border/2 && x <= w*4-@border/2 if (x-w*3)*(y-h*4)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*5-y) > (x-w*3)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*4)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*5-y) < (x-w*3)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*4) > ratio*(x-w*3)^2 && (w*4-x)*(h*5-y) > (x-w*3)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*4) > ratio*(x-w*3)^2 && (w*4-x)*(h*5-y) < (x-w*3)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border/2 && x <= w*5-@border/2 if (x-w*4)*(y-h*4)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*5-y) > (x-w*4)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*4)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*5-y) < (x-w*4)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*4) > ratio*(x-w*4)^2 && (w*5-x)*(h*5-y) > (x-w*4)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*4) > ratio*(x-w*4)^2 && (w*5-x)*(h*5-y) < (x-w*4)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border/2 && x <= w*6-@border/2 if (x-w*5)*(y-h*4)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*5-y) > (x-w*5)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*4)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*5-y) < (x-w*5)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*4) > ratio*(x-w*5)^2 && (w*6-x)*(h*5-y) > (x-w*5)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*4) > ratio*(x-w*5)^2 && (w*6-x)*(h*5-y) < (x-w*5)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border/2 && x <= w*7-@border/2 if (x-w*6)*(y-h*4)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*5-y) > (x-w*6)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*4)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*5-y) < (x-w*6)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*4) > ratio*(x-w*6)^2 && (w*7-x)*(h*5-y) > (x-w*6)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*4) > ratio*(x-w*6)^2 && (w*7-x)*(h*5-y) < (x-w*6)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border/2 && x <= w*8-@border/2 if (x-w*7)*(y-h*4)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*5-y) > (x-w*7)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*4)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*5-y) < (x-w*7)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*4) > ratio*(x-w*7)^2 && (w*8-x)*(h*5-y) > (x-w*7)*(y-h*4) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*4) > ratio*(x-w*7)^2 && (w*8-x)*(h*5-y) < (x-w*7)*(y-h*4) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*5+@border/2 && y <= h*6-@border/2 if x > @border/2 && x <= w*1-@border/2 if x*(y-h*5)-@border < ratio*x^2 && (w-x)*(h*6-y) > x*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif x*(y-h*5)-@border < ratio*x^2 && (w-x)*(h*6-y) < x*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*5) > ratio*x^2 && (w-x)*(h*6-y) > x*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*5) > ratio*x^2 && (w-x)*(h*6-y) < x*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border/2 && x <= w*2-@border/2 if (x-w)*(y-h*5)-@border < ratio*(x-w)^2 && (w*2-x)*(h*6-y) > (x-w)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w)*(y-h*5)-@border < ratio*(x-w)^2 && (w*2-x)*(h*6-y) < (x-w)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*5) > ratio*(x-w)^2 && (w*2-x)*(h*6-y) > (x-w)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*5) > ratio*(x-w)^2 && (w*2-x)*(h*6-y) < (x-w)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border/2 && x <= w*3-@border/2 if (x-w*2)*(y-h*5)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*6-y) > (x-w*2)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*5)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*6-y) < (x-w*2)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*5) > ratio*(x-w*2)^2 && (w*3-x)*(h*6-y) > (x-w*2)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*5) > ratio*(x-w*2)^2 && (w*3-x)*(h*6-y) < (x-w*2)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border/2 && x <= w*4-@border/2 if (x-w*3)*(y-h*5)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*6-y) > (x-w*3)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*5)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*6-y) < (x-w*3)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*5) > ratio*(x-w*3)^2 && (w*4-x)*(h*6-y) > (x-w*3)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*5) > ratio*(x-w*3)^2 && (w*4-x)*(h*6-y) < (x-w*3)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border/2 && x <= w*5-@border/2 if (x-w*4)*(y-h*5)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*6-y) > (x-w*4)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*5)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*6-y) < (x-w*4)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*5) > ratio*(x-w*4)^2 && (w*5-x)*(h*6-y) > (x-w*4)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*5) > ratio*(x-w*4)^2 && (w*5-x)*(h*6-y) < (x-w*4)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border/2 && x <= w*6-@border/2 if (x-w*5)*(y-h*5)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*6-y) > (x-w*5)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*5)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*6-y) < (x-w*5)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*5) > ratio*(x-w*5)^2 && (w*6-x)*(h*6-y) > (x-w*5)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*5) > ratio*(x-w*5)^2 && (w*6-x)*(h*6-y) < (x-w*5)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border/2 && x <= w*7-@border/2 if (x-w*6)*(y-h*5)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*6-y) > (x-w*6)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*5)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*6-y) < (x-w*6)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*5) > ratio*(x-w*6)^2 && (w*7-x)*(h*6-y) > (x-w*6)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*5) > ratio*(x-w*6)^2 && (w*7-x)*(h*6-y) < (x-w*6)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border/2 && x <= w*8-@border/2 if (x-w*7)*(y-h*5)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*6-y) > (x-w*7)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*5)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*6-y) < (x-w*7)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*5) > ratio*(x-w*7)^2 && (w*8-x)*(h*6-y) > (x-w*7)*(y-h*5) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*5) > ratio*(x-w*7)^2 && (w*8-x)*(h*6-y) < (x-w*7)*(y-h*5) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*6+@border/2 && y <= h*7-@border/2 if x > @border/2 && x <= w*1-@border/2 if x*(y-h*6)-@border < ratio*x^2 && (w-x)*(h*7-y) > x*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif x*(y-h*6)-@border < ratio*x^2 && (w-x)*(h*7-y) < x*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*6) > ratio*x^2 && (w-x)*(h*7-y) > x*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*6) > ratio*x^2 && (w-x)*(h*7-y) < x*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border/2 && x <= w*2-@border/2 if (x-w)*(y-h*6)-@border < ratio*(x-w)^2 && (w*2-x)*(h*7-y) > (x-w)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w)*(y-h*6)-@border < ratio*(x-w)^2 && (w*2-x)*(h*7-y) < (x-w)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*6) > ratio*(x-w)^2 && (w*2-x)*(h*7-y) > (x-w)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*6) > ratio*(x-w)^2 && (w*2-x)*(h*7-y) < (x-w)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border/2 && x <= w*3-@border/2 if (x-w*2)*(y-h*6)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*7-y) > (x-w*2)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*6)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*7-y) < (x-w*2)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*6) > ratio*(x-w*2)^2 && (w*3-x)*(h*7-y) > (x-w*2)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*6) > ratio*(x-w*2)^2 && (w*3-x)*(h*7-y) < (x-w*2)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border/2 && x <= w*4-@border/2 if (x-w*3)*(y-h*6)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*7-y) > (x-w*3)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*6)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*7-y) < (x-w*3)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*6) > ratio*(x-w*3)^2 && (w*4-x)*(h*7-y) > (x-w*3)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*6) > ratio*(x-w*3)^2 && (w*4-x)*(h*7-y) < (x-w*3)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border/2 && x <= w*5-@border/2 if (x-w*4)*(y-h*6)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*7-y) > (x-w*4)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*6)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*7-y) < (x-w*4)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*6) > ratio*(x-w*4)^2 && (w*5-x)*(h*7-y) > (x-w*4)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*6) > ratio*(x-w*4)^2 && (w*5-x)*(h*7-y) < (x-w*4)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border/2 && x <= w*6-@border/2 if (x-w*5)*(y-h*6)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*7-y) > (x-w*5)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*6)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*7-y) < (x-w*5)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*6) > ratio*(x-w*5)^2 && (w*6-x)*(h*7-y) > (x-w*5)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*6) > ratio*(x-w*5)^2 && (w*6-x)*(h*7-y) < (x-w*5)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border/2 && x <= w*7-@border/2 if (x-w*6)*(y-h*6)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*7-y) > (x-w*6)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*6)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*7-y) < (x-w*6)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*6) > ratio*(x-w*6)^2 && (w*7-x)*(h*7-y) > (x-w*6)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*6) > ratio*(x-w*6)^2 && (w*7-x)*(h*7-y) < (x-w*6)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border/2 && x <= w*8-@border/2 if (x-w*7)*(y-h*6)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*7-y) > (x-w*7)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*6)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*7-y) < (x-w*7)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*6) > ratio*(x-w*7)^2 && (w*8-x)*(h*7-y) > (x-w*7)*(y-h*6) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*6) > ratio*(x-w*7)^2 && (w*8-x)*(h*7-y) < (x-w*7)*(y-h*6) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*7+@border/2 && y <= h*8-@border/2 if x > @border/2 && x <= w*1-@border/2 if x*(y-h*7)-@border < ratio*x^2 && (w-x)*(h*8-y) > x*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif x*(y-h*7)-@border < ratio*x^2 && (w-x)*(h*8-y) < x*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*7) > ratio*x^2 && (w-x)*(h*8-y) > x*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif x*(y-h*7) > ratio*x^2 && (w-x)*(h*8-y) < x*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border/2 && x <= w*2-@border/2 if (x-w)*(y-h*7)-@border < ratio*(x-w)^2 && (w*2-x)*(h*8-y) > (x-w)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w)*(y-h*7)-@border < ratio*(x-w)^2 && (w*2-x)*(h*8-y) < (x-w)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*7) > ratio*(x-w)^2 && (w*2-x)*(h*8-y) > (x-w)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w)*(y-h*7) > ratio*(x-w)^2 && (w*2-x)*(h*8-y) < (x-w)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border/2 && x <= w*3-@border/2 if (x-w*2)*(y-h*7)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*8-y) > (x-w*2)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*7)-@border < ratio*(x-w*2)^2 && (w*3-x)*(h*8-y) < (x-w*2)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*7) > ratio*(x-w*2)^2 && (w*3-x)*(h*8-y) > (x-w*2)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*7) > ratio*(x-w*2)^2 && (w*3-x)*(h*8-y) < (x-w*2)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border/2 && x <= w*4-@border/2 if (x-w*3)*(y-h*7)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*8-y) > (x-w*3)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*7)-@border < ratio*(x-w*3)^2 && (w*4-x)*(h*8-y) < (x-w*3)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*7) > ratio*(x-w*3)^2 && (w*4-x)*(h*8-y) > (x-w*3)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*7) > ratio*(x-w*3)^2 && (w*4-x)*(h*8-y) < (x-w*3)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border/2 && x <= w*5-@border/2 if (x-w*4)*(y-h*7)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*8-y) > (x-w*4)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*7)-@border < ratio*(x-w*4)^2 && (w*5-x)*(h*8-y) < (x-w*4)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*7) > ratio*(x-w*4)^2 && (w*5-x)*(h*8-y) > (x-w*4)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*7) > ratio*(x-w*4)^2 && (w*5-x)*(h*8-y) < (x-w*4)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border/2 && x <= w*6-@border/2 if (x-w*5)*(y-h*7)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*8-y) > (x-w*5)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*7)-@border < ratio*(x-w*5)^2 && (w*6-x)*(h*8-y) < (x-w*5)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*7) > ratio*(x-w*5)^2 && (w*6-x)*(h*8-y) > (x-w*5)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*7) > ratio*(x-w*5)^2 && (w*6-x)*(h*8-y) < (x-w*5)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border/2 && x <= w*7-@border/2 if (x-w*6)*(y-h*7)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*8-y) > (x-w*6)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*7)-@border < ratio*(x-w*6)^2 && (w*7-x)*(h*8-y) < (x-w*6)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*7) > ratio*(x-w*6)^2 && (w*7-x)*(h*8-y) > (x-w*6)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*7) > ratio*(x-w*6)^2 && (w*7-x)*(h*8-y) < (x-w*6)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border/2 && x <= w*8-@border/2 if (x-w*7)*(y-h*7)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*8-y) > (x-w*7)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*7)-@border < ratio*(x-w*7)^2 && (w*8-x)*(h*8-y) < (x-w*7)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*7) > ratio*(x-w*7)^2 && (w*8-x)*(h*8-y) > (x-w*7)*(y-h*7) if x < w2 z = s*@shrink2*fn2(z)+p+@shift2 else z = -s*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*7) > ratio*(x-w*7)^2 && (w*8-x)*(h*8-y) < (x-w*7)*(y-h*7) if x < w2 z = s*@shrink1*fn1(z)+p+@shift1 else z = -s*@shrink1*fn1(z)+p-@shift1 endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x < w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && ((|real(z)|)%@mod) <= @bailout) || \ (@test == 2 && ((|imag(z)|)%@mod) <= @bailout) || \ (@test == 3 && (sqr(real(z))%@mod) <= @bailout) || \ (@test == 4 && (sqr(imag(z))%@mod) <= @bailout) || \ (@test == 5 && (sqr(flip(z))) <= @bailout) || \ (@test == 6 && (sqr(conj(z))) <= @bailout) default: title = "Diag-Grid_too" heading caption = "DIRECTION:" endheading param switch enum = "This way..." "...or that way" caption = "Switch" default = 0 endparam heading caption = "GRID SIZE (max 8x8):" endheading float param checks caption = "Number x Number" default = 4 max = 8 min = 1 endparam func fn1 caption = "FN1" default = sqr() endfunc float param shrink1 caption = " - shrink it" default = 1 endparam float param shift1 caption = " - shift it" default = 1 endparam func fn2 caption = "FN2" default = sqr() endfunc float param shrink2 caption = " - shrink it" default = 2 endparam float param shift2 caption = " - shift it" default = 1 endparam heading caption = "BORDERS (square only):" endheading float param border caption = " - thickness" default = 2 endparam func borderfn caption = " - function" default = zero() endfunc float param shrinkb caption = " - shrink it" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real mod" "imag mod" "sqr real mod" "sqr imag mod" \ "flip" "conj" endparam int param mod caption = "Modifier" default = 2 enabled = @test <= 4 visible = @test <= 4 endparam param bailout caption = " - value" default = 128 min = 1 endparam } 15x15 { ;15x15 (225 fractals) init: z = 0 float x = #x float y = #y float ratio = #height/#width float h = #height float w = #width complex p = #pixel loop: if @Switch == 0 s = 1 else s = -1 endif if y > @border/2 && y < h/15-@border/2 ;Row1 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink1*fn1(z)+p+ratio*flip(conj(p))-@shift1*flip(0)+3.65*@shift1io+conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.255)+3.375*@shift2io+conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)+3.1*@shift2io+conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.775)+2.825*@shift2io+conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.055)+2.55*@shift2io+conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.325)+2.3*@shift2io+conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.6)+2.025*@shift2io+conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))+1.8*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.6)-2.025*@shift2io+conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.325)-2.3*@shift2io+conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.055)-2.55*@shift2io+conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.775)-2.825*@shift2io+conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)-3.1*@shift2io+conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.255)-3.375*@shift2io+conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink1*fn1(z)+p-ratio*flip(conj(p))-@shift1*flip(0)-3.65*@shift1io+conj(@shift4io/100) endif elseif y > h/15+@border/2 && y < 2*h/15-@border/2 ;Row2 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)+3.375*@shift2io +conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0.025)+3.1*@shift1io+conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.25)+2.825*@shift2io+conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)+2.55*@shift2io+conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.795)+2.3*@shift2io+conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.075)+2.025*@shift2io+conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.325)+1.75*@shift2io+conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))+1.55*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.325)-1.75*@shift2io+conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.075)-2.025*@shift2io+conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.795)-2.3*@shift2io+conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)-2.55*@shift2io+conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.25)-2.825*@shift2io+conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0.025)-3.1*@shift1io+conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)-3.375*@shift2io+conj(@shift4io/100) endif elseif y > 2*h/15+@border/2 && y < 3*h/15-@border/2 ;Row3 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.525)+3.1*@shift2io+conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)+2.825*@shift2io+conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0)+2.55*@shift1io+conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.25)+2.3*@shift2io+conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)+2.025*@shift2io+conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.8)+1.75*@shift2io+conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.075)+1.5*@shift2io+conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))+1.275*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.075)-1.5*@shift2io+conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.8)-1.75*@shift2io+conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)-2.025*@shift2io+conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col2 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.25)-2.3*@shift2io+conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)-2.55*@shift1io+conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col4 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)-2.825*@shift2io+conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.525)-3.1*@shift2io+conj(@shift4io/100) endif elseif y > 3*h/15+@border/2 && y < 4*h/15-@border/2 ;Row4 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.8)+2.825*@shift2io+conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.55)+2.55*@shift2io+conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)+2.3*@shift2io+conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0.0)+2.025*@shift1io+conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.275)+1.75*@shift2io+conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)+1.5*@shift2io+conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.8)+1.225*@shift2io+conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))+1*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.8)-1.225*@shift2io+conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)-1.5*@shift2io+conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.275)-1.75*@shift2io+conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0.025)-2.025*@shift1io+conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)-2.3*@shift2io+conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.55)-2.55*@shift2io+conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.8)-2.825*@shift2io+conj(@shift4io/100) endif elseif y > 4*h/15+@border/2 && y < 5*h/15-@border/2 ;Row5 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.075)+2.55*@shift2io+conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.8)+2.3*@shift2io+conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.55)+2.025*@shift2io+conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)+1.75*@shift2io+conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink1*fn1(z)+p+ratio*flip(conj(p))-@shift1*flip(0)+1.5*@shift1io+conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.275)+1.225*@shift2io+conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)+0.975*@shift2io+conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))+0.75*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)-0.95*@shift2io+conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.275)-1.225*@shift2io+conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)-1.5*@shift1io+conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)-1.75*@shift2io+conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.55)-2.025*@shift2io+conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.8)-2.3*@shift2io+conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.075)-2.55*@shift2io+conj(@shift4io/100) endif elseif y > 5*h/15+@border/2 && y < 6*h/15-@border/2 ;Row6 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.325)+2.3*@shift2io+conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.075)+2.025*@shift2io+conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.825)+1.75*@shift2io+conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.55)+1.5*@shift2io+conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)+1.225*@shift2io+conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0)+0.95*@shift1io+conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.275)+0.7*@shift2io+conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))+0.475*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.275)-0.7*@shift2io+conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)-0.95*@shift1io+conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)-1.225*@shift2io+conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.55)-1.5*@shift2io+conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.825)-1.75*@shift2io+conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.075)-2.025*@shift2io+conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.325)-2.3*@shift2io+conj(@shift4io/100) endif elseif y > 6*h/15+@border/2 && y < 7*h/15-@border/2 ;Row7 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.6)+2.025*@shift2io+conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.35)+1.75*@shift2io+conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.075)+1.5*@shift2io+conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.825)+1.225*@shift2io+conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.525)+0.95*@shift2io+conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)+0.7*@shift2io+conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink1*fn1(z)+p+ratio*flip(conj(p))-@shift1*flip(0)+0.425*@shift1io+conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))+0.2125*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)-0.425*@shift1io+conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)-0.7*@shift2io+conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.525)-0.95*@shift2io+conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.825)-1.225*@shift2io+conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.075)-1.5*@shift2io+conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.35)-1.75*@shift2io+conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.6)-2.025*@shift2io+conj(@shift4io/100) endif elseif y > 7*h/15+@border/2 && y < 8*h/15-@border/2 ;Row8 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*1.4*@shrink3*fn3(z)+p+1.825*@shift3io elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*1.4*@shrink3*fn3(z)+p+1.55*@shift3io elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*1.4*@shrink3*fn3(z)+p+1.275*@shift3io elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*1.4*@shrink3*fn3(z)+p+1*@shift3io elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*1.4*@shrink3*fn3(z)+p+0.75*@shift3io elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*1.4*@shrink3*fn3(z)+p+0.475*@shift3io elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*1.4*@shrink3*fn3(z)+p+0.2*@shift3io elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = s*@shrink3*ident(z)+p elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*1.4*@shrink3*fn3(z)+p-0.2*@shift3io elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*1.4*@shrink3*fn3(z)+p-0.475*@shift3io elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*1.4*@shrink3*fn3(z)+p-0.75*@shift3io elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*1.4*@shrink3*fn3(z)+p-1*@shift3io elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*1.4*@shrink3*fn3(z)+p-1.275*@shift3io elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*1.4*@shrink3*fn3(z)+p-1.55*@shift3io elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*1.4*@shrink3*fn3(z)+p-1.825*@shift3io endif elseif y > 8*h/15+@border/2 && y < 9*h/15-@border/2 ;Row9 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.6)+2.025*@shift2io-conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.325)+1.75*@shift2io-conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.075)+1.5*@shift2io-conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.8)+1.225*@shift2io-conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)+0.95*@shift2io-conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.275)+0.7*@shift2io-conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)+0.425*@shift1io-conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = -s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))-0.2125*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0)-0.425*@shift1io-conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.275)-0.7*@shift2io-conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)-0.95*@shift2io-conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.8)-1.225*@shift2io-conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.05)-1.5*@shift2io-conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.35)-1.75*@shift2io-conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.6)-2.025*@shift2io-conj(@shift4io/100) endif elseif y > 9*h/15+@border/2 && y < 10*h/15-@border/2 ;Row10 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.325)+2.3*@shift2io-conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.075)+2.025*@shift2io-conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.8)+1.75*@shift2io-conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)+1.5*@shift2io-conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.265)+1.225*@shift2io-conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink1*fn1(z)+p-ratio*flip(conj(p))-@shift1*flip(0)+0.975*@shift1io-conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.25)+0.7*@shift2io-conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = -s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))-0.475*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.25)-0.7*@shift2io-conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink1*fn1(z)+p+ratio*flip(conj(p))-@shift1*flip(0)-0.975*@shift1io-conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.265)-1.225*@shift2io-conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)-1.5*@shift2io-conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.8)-1.75*@shift2io-conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.075)-2.025*@shift2io-conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.325)-2.3*@shift2io-conj(@shift4io/100) endif elseif y > 10*h/15+@border/2 && y < 11*h/15-@border/2 ;Row11 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(1.075)+2.55*@shift2io-conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.8)+2.3*@shift2io-conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)+2.025*@shift2io-conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.275)+1.75*@shift2io-conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)+1.5*@shift1io-conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)+1.225*@shift2io-conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.525)+0.95*@shift2io-conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = -s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))-0.75*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.55)-0.95*@shift2io-conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)-1.225*@shift2io-conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0)-1.5*@shift1io-conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.275)-1.75*@shift2io-conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)-2.025*@shift2io-conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.8)-2.3*@shift2io-conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(1.075)-2.55*@shift2io-conj(@shift4io/100) endif elseif y > 11*h/15+@border/2 && y < 12*h/15-@border/2 ;Row12 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.8)+2.825*@shift2io-conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)+2.55*@shift2io-conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.275)+2.3*@shift2io-conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)+2.025*@shift1io-conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)+1.775*@shift2io-conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.525)+1.5*@shift2io-conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.8)+1.225*@shift2io-conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = -s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))-1*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.8)-1.225*@shift2io-conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.525)-1.5*@shift2io-conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)-1.75*@shift2io-conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0)-2.025*@shift1io-conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.255)-2.3*@shift2io-conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.55)-2.55*@shift2io-conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.8)-2.825*@shift2io-conj(@shift4io/100) endif elseif y > 12*h/15+@border/2 && y < 13*h/15-@border/2 ;Row13 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.525)+3.1*@shift2io-conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.275)+2.825*@shift2io-conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)+2.55*@shift1io-conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)+2.3*@shift2io-conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.525)+2.025*@shift2io-conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.8)+1.75*@shift2io-conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.075)+1.5*@shift2io-conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = -s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))-1.275*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.075)-1.5*@shift2io-conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.8)-1.75*@shift2io-conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.525)-2.025*@shift2io-conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col2 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.25)-2.3*@shift2io-conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink1*fn1(z)+p+ratio*flip(conj(p))-@shift1*flip(0)-2.55*@shift1io-conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col4 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.275)-2.825*@shift2io-conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.525)-3.1*@shift2io-conj(@shift4io/100) endif elseif y > 13*h/15+@border/2 && y < 14*h/15-@border/2 ;Row14 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))-@shift2*flip(0.275)+3.375*@shift2io-conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)+3.1*@shift1io-conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)+2.825*@shift2io-conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.525)+2.55*@shift2io-conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.8)+2.3*@shift2io-conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.075)+2.025*@shift2io-conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.325)+1.75*@shift2io-conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = -s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))-1.55*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.325)-1.75*@shift2io-conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.075)-2.025*@shift2io-conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.8)-2.3*@shift2io-conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.525)-2.55*@shift2io-conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)-2.825*@shift2io-conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0)-3.1*@shift1io-conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))-@shift2*flip(0.275)-3.375*@shift2io-conj(@shift4io/100) endif elseif y > 14*h/15+@border/2 && y < 15*h/15-@border/2 ;Row15 if x > 0*w/15+@border/2 && x < 1*w/15-@border/2 ;col1 z = s*@shrink1*fn1(z)+p-ratio*flip(conj(p))+@shift1*flip(0)+3.65*@shift1io-conj(@shift4io/100) elseif x > w/15+@border/2 && x < 2*w/15-@border/2 ;col2 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.275)+3.375*@shift2io-conj(@shift4io/100) elseif x > 2*w/15+@border/2 && x < 3*w/15-@border/2 ;col3 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.525)+3.1*@shift2io-conj(@shift4io/100) elseif x > 3*w/15+@border/2 && x < 4*w/15-@border/2 ;col4 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(0.775)+2.825*@shift2io-conj(@shift4io/100) elseif x > 4*w/15+@border/2 && x < 5*w/15-@border/2 ;col5 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.055)+2.55*@shift2io-conj(@shift4io/100) elseif x > 5*w/15+@border/2 && x < 6*w/15-@border/2 ;col6 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.325)+2.3*@shift2io-conj(@shift4io/100) elseif x > 6*w/15+@border/2 && x < 7*w/15-@border/2 ;col7 z = s*@shrink2*fn2(z)+p-ratio*flip(conj(p))+@shift2*flip(1.6)+2.025*@shift2io-conj(@shift4io/100) elseif x > 7*w/15+@border/2 && x < 8*w/15-@border/2 ;col8 z = -s*1.4*@shrink3*fn3(z)+@shift3*flip(conj(p))-1.8*@shift3io elseif x > 8*w/15+@border/2 && x < 9*w/15-@border/2 ;col9 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.6)-2.025*@shift2io-conj(@shift4io/100) elseif x > 9*w/15+@border/2 && x < 10*w/15-@border/2 ;col10 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.325)-2.3*@shift2io-conj(@shift4io/100) elseif x > 10*w/15+@border/2 && x < 11*w/15-@border/2 ;col11 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(1.055)-2.55*@shift2io-conj(@shift4io/100) elseif x > 11*w/15+@border/2 && x < 12*w/15-@border/2 ;col12 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.775)-2.825*@shift2io-conj(@shift4io/100) elseif x > 12*w/15+@border/2 && x < 13*w/15-@border/2 ;col13 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.525)-3.1*@shift2io-conj(@shift4io/100) elseif x > 13*w/15+@border/2 && x < 14*w/15-@border/2 ;col14 z = -s*@shrink2*fn2(z)+p+ratio*flip(conj(p))+@shift2*flip(0.275)-3.375*@shift2io-conj(@shift4io/100) elseif x > 14*w/15+@border/2 && x < 15*w/15-@border/2 ;col15 z = -s*@shrink1*fn1(z)+p+ratio*flip(conj(p))+@shift1*flip(0*@shift1)-3.65*@shift1io-conj(@shift4io/100) endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && ((|real(z)|)%@mod) <= @bailout) || \ (@test == 2 && ((|imag(z)|)%@mod) <= @bailout) || \ (@test == 3 && (sqr(real(z))%@mod) <= @bailout) || \ (@test == 4 && (sqr(imag(z))%@mod) <= @bailout) || \ (@test == 5 && (sqr(flip(z))) <= @bailout) || \ (@test == 6 && (sqr(conj(z))) <= @bailout) default: title = "15x15" heading caption = "Description" text = "A 15x15 (225 squares) grid of fractals. Works best with \ square image (800x800, 640x640...)" endheading heading caption = "'X' squares" endheading func fn1 caption = " - function" default = cabs() endfunc float param shrink1 caption = " - shrink" default = 1.41 endparam float param shift1io caption = " - shift" default = 1 endparam heading caption = "'+' squares" endheading func fn3 caption = " - function" default = cabs() endfunc float param shrink3 caption = " - shrink" default = 1 endparam float param shift3 caption = " - move around" default = 1 endparam float param shift3io caption = " - move in/out" default = 1 endparam heading caption = "The rest" endheading func fn2 caption = " - function" default = cabs() endfunc float param shift2 caption = " - move around" default = 1 endparam float param shift2io caption = " - move in/out" default = 1 endparam float param shrink2 caption = " - shrink" default = 1.41 endparam float param shift4io caption = "Shift All" default = 0 endparam param Switch enum = "Point out" "Point in" default = 0 ; "Point in" is the default caption = "Switch in/out" endparam heading caption = "BORDERS:" endheading float param border caption = " - width" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real mod" "imag mod" "sqr real mod" "sqr imag mod" \ "flip" "conj" endparam int param mod caption = "mod =" default = 2 enabled = @test >= 1 && @test <= 4 visible = @test >= 1 && @test <= 4 endparam param bailout caption = " - value" default = 4.0 min = 1 endparam float param shift1 caption = "(Disabled)" default = 1 max = 1 min = 1 visible = 0 endparam } <>/<><><><> { ; bailout test (with modification) is taken from fractint.ufm (spider) init: ;x1 and y1, width and height symbols are reversed to rotate 90 degrees z = 0 x1 = #y y1 = #x x2 = #x y2 = #y b1 = #width/2 w1 = #height b2 = #height/2 float w2 = #width float seg = #width/2 float seg1 = #height/2 float bakseg1 = #width/4 float bakseg2 = #width/6 float bakseg3 = #width/8 p = @fn1(#pixel) loop: if @Switch0 == 0 ;"<>" slu = -1 sru = 1 slb = 1 srb = -1 elseif @Switch0 == 1 ;"><" slu = 1 sru = -1 slb = -1 srb = 1 elseif @Switch0 == 2 ;"<<" slu = -1 sru = -1 slb = 1 srb = 1 elseif @Switch0 == 3 ;">>" slu = 1 sru = 1 slb = -1 srb = -1 elseif @Switch0 == 4 ;"^" slu = -1 sru = 1 slb = -1 srb = 1 elseif @Switch0 == 5 ;"v" slu = 1 sru = -1 slb = 1 srb = -1 elseif @Switch0 == 6 ;"//" slu = 1 sru = 1 slb = 1 srb = 1 else ;"\\" slu = -1 sru = -1 slb = -1 srb = -1 endif if @switchbak1 == 0 || @switchbak2 == 0 s = 1 else s = -1 endif if @pick == 0 ;<> if @setbackfn == 0 if y1 < b1 ;left half if x1 <= seg1 ;upper 1/4 z = slu*@shrink0*flip(z)+p-@zoom1+flip(@zoom0) elseif x1 > seg1 && x1 <= w-seg1 ;middle 1/2 if x1 < w/2 z = slu*@shrink0*flip(z)+p-@zoom1-flip(@zoom0) else z = slb*@shrink0*flip(z)+p+@zoom1+flip(@zoom0) endif elseif x1 > w-seg1 ;bottom 1/4 z = slb*@shrink0*flip(z)+p+@zoom1+flip(@zoom0) endif else ;right half if x1 <= seg1 ;upper 1/4 z = sru*@shrink0*flip(z)+p-@zoom1-flip(@zoom0) elseif x1 > seg1 && x1 < w-seg1 ;middle 1/2 if x1 < w/2 z = sru*@shrink0*flip(z)+p-@zoom1-flip(@zoom0) else z = srb*@shrink0*flip(z)+p+@zoom1+flip(@zoom0) endif elseif x1 >= w-seg1 ;bottom 1/4 z = srb*@shrink0*flip(z)+p+@zoom1-flip(@zoom0) endif endif else if x2 <= seg z = s*@shrink01*@backfn0(z)+p+@split01 else z = -s*@shrink01*@backfn0(z)+p-@split01 endif endif elseif @pick == 1 ;<><> if @setbackfn1 == 0 if y2 <= b2 if x2 <= bakseg1 z = s*@shrink01*flip(z)+p-2*@split11-flip(@split21) elseif x2 > bakseg1 && x2 <= 2*bakseg1 z = -s*@shrink01*flip(z)+p-flip(@split21) elseif x2 > 2*bakseg1 && x2 <= 3*bakseg1 z = s*@shrink01*flip(z)+p-flip(@split21) elseif x2 > 3*bakseg1 && x2 <= 4*bakseg1 z = -s*@shrink01*flip(z)+p-2*@split11-flip(@split21) endif elseif y2 > b2 if x2 <= bakseg1 z = -s*@shrink01*flip(z)+p+2*@split11+flip(@split21) elseif x2 > bakseg1 && x2 <= 2*bakseg1 z = s*@shrink01*flip(z)+p+flip(@split21) elseif x2 > 2*bakseg1 && x2 <= 3*bakseg1 z = -s*@shrink01*flip(z)+p+flip(@split21) elseif x2 > 3*bakseg1 && x2 <= 4*bakseg1 z = s*@shrink01*flip(z)+p+2*@split11+flip(@split21) endif endif else if x2 <= seg z = s*@shrink01*@backfn1(z)+p+@split01 else z = -s*@shrink01*@backfn1(z)+p-@split01 endif endif elseif @pick == 2 ;<><><> if @setbackfn2 == 0 if y2 <= b2 if x2 <= bakseg2 z = s*@shrink02*flip(z)+p-2*@split12-flip(@split22) elseif x2 > bakseg2 && x2 <= 2*bakseg2 z = -s*@shrink02*flip(z)+p+0.66*@split12-flip(@split22) elseif x2 > 2*bakseg2 && x2 <= 3*bakseg2 z = s*@shrink02*flip(z)+p-0.66*@split12-flip(@split22) elseif x2 > 3*bakseg2 && x2 <= 4*bakseg2 z = -s*@shrink02*flip(z)+p-0.66*@split12-flip(@split22) elseif x2 > 4*bakseg2 && x2 <= 5*bakseg2 z = s*@shrink02*flip(z)+p+0.66*@split12-flip(@split22) elseif x2 > 5*bakseg2 z = -s*@shrink02*flip(z)+p-2*@split12-flip(@split22) endif elseif y2 > b2 if x2 <= bakseg2 z = -s*@shrink02*flip(z)+p+2*@split12+flip(@split22) elseif x2 > bakseg2 && x2 <= 2*bakseg2 z = s*@shrink02*flip(z)+p-0.66*@split12+flip(@split22) elseif x2 > 2*bakseg2 && x2 <= 3*bakseg2 z = -s*@shrink02*flip(z)+p+0.66*@split12+flip(@split22) elseif x2 > 3*bakseg2 && x2 <= 4*bakseg2 z = s*@shrink02*flip(z)+p+0.66*@split12+flip(@split22) elseif x2 > 4*bakseg2 && x2 <= 5*bakseg2 z = -s*@shrink02*flip(z)+p-0.66*@split12+flip(@split22) elseif x2 > 5*bakseg2 z = s*@shrink02*flip(z)+p+2*@split12+flip(@split22) endif endif elseif @setbackfn2 == 1 if x2 <= seg z = s*@shrink02*@backfn2(z)+p+@split02 else z = -s*@shrink02*@backfn2(z)+p-@split02 endif endif elseif @pick == 3 ;<><><><> if @setbackfn2 == 0 if y2 <= b2 if x2 <= bakseg3 z = s*@shrink03*flip(z)+p-2.25*@split12+flip(@split22-0.25) elseif x2 > bakseg3 && x2 <= 2*bakseg3 z = -s*@shrink03*flip(z)+p+0.75*@split12-flip(@split22-0.25) elseif x2 > 2*bakseg3 && x2 <= 3*bakseg3 z = s*@shrink03*flip(z)+p-1.25*@split12+flip(@split22-0.25) elseif x2 > 3*bakseg3 && x2 <= 4*bakseg3 z = -s*@shrink03*flip(z)+p-0.25*@split12-flip(@split22-0.25) elseif x2 > 4*bakseg3 && x2 <= 5*bakseg3 z = s*@shrink03*flip(z)+p+0.25*@split12-flip(@split22-0.25) elseif x2 > 4*bakseg3 && x2 <= 6*bakseg3 z = -s*@shrink03*flip(z)+p-1.25*@split12-flip(@split22-0.25) elseif x2 > 6*bakseg3 && x2 <= 7*bakseg3 z = s*@shrink03*flip(z)+p+0.75*@split12+flip(@split22-0.25) elseif x2 > 7*bakseg3 z = -s*@shrink03*flip(z)+p-2.25*@split12-flip(@split22-0.25) endif elseif y2 > b2 if x2 <= bakseg3 z = -s*@shrink03*flip(z)+p+2.25*@split12+flip(@split22-0.25) elseif x2 > bakseg3 && x2 <= 2*bakseg3 z = s*@shrink03*flip(z)+p-0.75*@split12-flip(@split22-0.25) elseif x2 > 2*bakseg3 && x2 <= 3*bakseg3 z = -s*@shrink03*flip(z)+p+1.25*@split12+flip(@split22-0.25) elseif x2 > 3*bakseg3 && x2 <= 4*bakseg3 z = s*@shrink03*flip(z)+p-0.25*@split12+flip(@split22-0.25) elseif x2 > 4*bakseg3 && x2 <= 5*bakseg3 z = -s*@shrink03*flip(z)+p+0.25*@split12+flip(@split22-0.25) elseif x2 > 5*bakseg3 && x2 <= 6*bakseg3 z = s*@shrink03*flip(z)+p+1.25*@split12-flip(@split22-0.25) elseif x2 > 6*bakseg3 && x2 <= 7*bakseg3 z = -s*@shrink03*flip(z)+p-0.75*@split12+flip(@split22-0.25) elseif x2 > 7*bakseg3 z = s*@shrink03*flip(z)+p+2.25*@split12-flip(@split22-0.25) endif endif elseif @setbackfn2 == 1 if x2 <= seg z = s*@shrink03*@backfn2(z)+p+@split02 else z = -s*@shrink03*@backfn2(z)+p-@split02 endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "<>/<><><><>" heading caption = "PIXEL (#pixel = fn(#pixel)):" endheading func fn1 default = flip() caption = "Pixel function" endfunc heading caption = "BACKGROUND:" endheading param pick enum = "<>" "<><>" "<><><>" "<><><><>" default = 0 caption = " - choose" endparam ;<> (0) param setbackfn enum = "Flip" "Choose" default = 0 caption = " - function" visible = @pick == 0 enabled = @pick == 0 endparam func @backfn0 default = sqr() caption = " - which one?" visible = @pick == 0 && @setbackfn == 1 enabled = @pick == 0 && @setbackfn == 1 endfunc float param shrink0 default = 1.02 caption = " - shrink/expand" visible = @pick == 0 && @setbackfn == 0 enabled = @pick == 0 && @setbackfn == 0 endparam float param zoom0 default = 1 caption = " - move in/out" visible = @pick == 0 && @setbackfn == 0 enabled = @pick == 0 && @setbackfn == 0 endparam float param zoom1 default = 0 caption = " - move up/down" visible = @pick == 0 && @setbackfn == 0 enabled = @pick == 0 && @setbackfn == 0 endparam param Switch0 enum = "flip <>, other /\" "flip ><, other \/" "flip <<, other //" \ "flip >>, other \\" "flip ^, other ><" "flip v, other <>" "flip \\, other <<" \ "flip //, other >>" default = 0 caption = " - arrangement" visible = @pick == 0 && @pick == 0 enabled = @pick == 0 && @pick == 0 endparam ;<><> (1) param setbackfn1 enum = "Flip" "Choose" default = 0 caption = " - function" visible = @pick == 1 enabled = @pick == 1 endparam func @backfn1 default = sqr() caption = " - which one?" visible = @pick == 1 && @setbackfn1 == 1 enabled = @pick == 1 && @setbackfn1 == 1 endfunc float param shrink01 default = 1 caption = " - shrink" visible = @pick == 1 && @setbackfn1 == 0 enabled = @pick == 1 && @setbackfn1 == 0 endparam float param split01 default = 1 caption = " - split" visible = @pick == 1 && @setbackfn1 == 0 enabled = @pick == 1 && @setbackfn1 == 0 endparam float param split11 default = 1 caption = " - split L/R" visible = @pick == 1 && @setbackfn1 == 0 enabled = @pick == 1 && @setbackfn1 == 0 endparam float param split21 default = 0 caption = " - split U/D" visible = @pick == 1 && @setbackfn1 == 0 enabled = @pick == 1 && @setbackfn1 == 0 endparam param switchbak1 enum = "Flipped" "Unflipped" default = 1 caption = " - switch" visible = @pick == 2 enabled = @pick == 2 endparam ;<><><> or <><><><> (2 or 3) param setbackfn2 enum = "Flip" "Choose" default = 0 caption = " - function" visible = @pick >= 2 enabled = @pick >= 2 endparam func @backfn2 default = sqr() caption = " - which one?" visible = @pick >= 2 && @setbackfn2 == 1 enabled = @pick >= 2 && @setbackfn2 == 1 endfunc float param split12 default = 1 caption = " - split L/R" visible = @pick >= 2 && @setbackfn2 == 0 enabled = @pick >= 2 && @setbackfn2 == 0 endparam float param split22 default = 0 caption = " - split U/D" visible = @pick >= 2 && @setbackfn2 == 0 enabled = @pick >= 2 && @setbackfn2 == 0 endparam float param shrink02 default = 1 caption = " - shrink" visible = @pick == 2 && @setbackfn2 == 1 enabled = @pick == 2 && @setbackfn2 == 1 endparam float param shrink03 default = 1 caption = " - shrink" visible = @pick == 3 enabled = @pick == 3 endparam float param split02 default = 0 caption = " - split" visible = @pick >= 2 && @setbackfn2 == 1 enabled = @pick >= 2 && @setbackfn2 == 1 endparam param switchbak2 enum = "Flipped" "Unflipped" default = 1 caption = " - switch" visible = @pick >= 2 enabled = @pick >= 2 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(man+)" "fn1(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 10 min = 1 endparam } GridMan { init: x = #x y = #y z = (0,0) xc = |#x-#width/2| yc = |#y-#height/2| complex p = #pixel float w = #width/@checks float h = #height/@checks float w2 = #width/2 float h2 = #height/2 if @switch == 0 if x < w2 s = 1 sb = 1 slr = -1 sud = -1 else s = -1 sb = -1 slr = 1 sud = 1 endif else if x < w2 s = -1 sb = -1 slr = 1 sud = 1 else s = 1 sb = 1 slr = -1 sud = -1 endif endif loop: if y > @border/2 && y <= h*1-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*1+@border/2 && y <= h*2-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*2+@border/2 && y <= h*3-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*3+@border/2 && y <= h*4-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*4+@border/2 && y <= h*5-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*5+@border/2 && y <= h*6-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*6+@border/2 && y <= h*7-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*7+@border/2 && y <= h*8-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*8+@border/2 && y <= h*9-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*9+@border/2 && y <= h*10-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*10+@border/2 && y <= h*11-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*11+@border/2 && y <= h*12-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*12+@border/2 && y <= h*13-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*13+@border/2 && y <= h*14-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*14+@border/2 && y <= h*15-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*15+@border/2 && y <= h*16-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*16+@border/2 && y <= h*17-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*17+@border/2 && y <= h*18-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*18+@border/2 && y <= h*19-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2 && x <= w*11-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif elseif y > h*19+@border/2 && y <= h*20-@border/2 if x > 0+@border/2 && x <= w*1-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*1+@border/2 && x <= w*2-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*2+@border/2 && x <= w*3-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*3+@border/2 && x <= w*4-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*4+@border/2 && x <= w*5-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*5+@border/2 && x <= w*6-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*6+@border/2 && x <= w*7-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*7+@border/2 && x <= w*8-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*8+@border/2 && x <= w*9-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*9+@border/2 && x <= w*10-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*10+@border/2&& x <= w*11-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*11+@border/2 && x <= w*12-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*12+@border/2 && x <= w*13-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*13+@border/2 && x <= w*14-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*14+@border/2 && x <= w*15-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*15+@border/2 && x <= w*16-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*16+@border/2 && x <= w*17-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*17+@border/2 && x <= w*18-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*18+@border/2 && x <= w*19-@border/2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x > w*19+@border/2 && x <= w*20-@border/2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif else if x < w2 z = sb*@shrinkb*@borderfn(z)+p+@shiftb else z = -sb*@shrinkb*@borderfn(z)-p+@shiftb endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) <= @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) <= @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(-real(z)+imag(z))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(-real(z)-imag(z))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+@fun2(imag(z)*10))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-@fun2(imag(z)*10))) <= @bailout*10)) default: title = "GridMan" heading caption = "DIRECTION:" endheading param switch enum = "This way..." "...or that way" caption = "Switch" default = 0 endparam heading caption = "GRID:" endheading float param checks caption = "Number" default = 14 max = 20 min = 1 endparam func fn1 caption = "1010 function" default = sqr() endfunc float param shrink1 caption = " - shrink it" default = 1 endparam func fn2 caption = "0101 function" default = sqr() endfunc float param shrink2 caption = " - shrink this too" default = 2 endparam heading caption = "MOVE IT:" endheading float param hz caption = " - horizontal" default = 0 endparam float param vt caption = " - vertical" default = 0 endparam heading caption = "BORDER:" endheading float param border caption = " - thickness" default = 1 endparam func @borderfn caption = " - function" default = zero() endfunc float param shrinkb caption = " - shrink it" default = 1 endparam float param @shiftb caption = " - move it" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn2(r+i)" "fn2(r-i)" \ "fn2(-r+i)" "fn2(-r-i)" "fn2/+fn2" "fn2/-fn2" endparam func fun default = log() caption = " - function1" enabled = @test == 16 || @test == 17 visible = @test == 16 || @test == 17 endfunc func fun2 default = log() caption = " - function2" enabled = @test == 16 || @test == 17 visible = @test == 16 || @test == 17 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } GridMan_too { init: x = #x y = #y z = (0,0) xc = |#x-#width/2| yc = |#y-#height/2| complex p = #pixel float w = #width/@checksH float h = #height/@checksV ; float w2 = #width/2 ; float h2 = #height/2 ; float factor = 0.142857 if @switch == 0 if x < #width/2 s = 1 slr = -1 sud = -1 else s = -1 slr = 1 sud = 1 endif else if x < #width/2 s = -1 slr = 1 sud = 1 else s = 1 slr = -1 sud = -1 endif endif loop: if y <= h*1 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*1 && y <= h*2 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*2 && y <= h*3 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*3 && y <= h*4 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*4 && y <= h*5 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*5 && y <= h*6 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*6 && y <= h*7 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*7 && y <= h*8 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*8 && y <= h*9 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*9 && y <= h*10 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*10 && y <= h*11 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*11 && y <= h*12 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*12 && y <= h*13 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*13 && y <= h*14 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*14 && y <= h*15 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*15 && y <= h*16 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*16 && y <= h*17 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*17 && y <= h*18 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*18 && y <= h*19 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*19 && y <= h*20 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*20 && y <= h*21 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*21 && y <= h*22 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*22 && y <= h*23 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*23 && y <= h*24 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*24 && y <= h*25 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*25 && y <= h*26 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*26 && y <= h*27 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*27 && y <= h*28 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*28 && y <= h*29 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*29 && y <= h*30 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*30 && y <= h*31 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*31 && y <= h*32 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*32 && y <= h*33 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*33 && y <= h*34 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*34 && y <= h*35 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*35 && y <= h*36 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*36 && y <= h*37 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*37 && y <= h*38 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*38 && y <= h*39 if x < w*1 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) endif elseif y > h*39 && y <= h*40 if x < w*1 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*2 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*3 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*4 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*5 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*6 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*7 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*8 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*9 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*10 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*11 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*12 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*13 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*14 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*15 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*16 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*17 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*18 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*19 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*20 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*21 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*22 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*23 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*24 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*25 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*26 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*27 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*28 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*29 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*30 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*31 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*32 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*33 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*34 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*35 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*36 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*37 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*38 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*39 z = s*@shrink2*fn2(z)+p-slr*@hz-sud*flip(@vt) elseif x < w*40 z = s*@shrink1*fn1(z)+p-slr*@hz-sud*flip(@vt) endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(-real(z)+imag(z))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(-real(z)-imag(z))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+@fun2(imag(z)*10))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-@fun2(imag(z)*10))) <= @bailout*10)) default: title = "GridMan_too" param switch enum = "This way" "That way" "Flipped" caption = "Switch" default = 0 endparam float param checksH caption = "Horiz. squares" default = 14 max = 40 min = 1 endparam float param checksV caption = "Vert. squares" default = 14 max = 40 min = 1 endparam func fn1 caption = "1010..." default = sqr() endfunc float param shrink1 caption = " - shrink it" default = 1 endparam func fn2 caption = "0101..." default = sqr() endfunc float param shrink2 caption = " - shrink it too" default = 2 endparam float param hz caption = "Move horizontal" default = 0 endparam float param vt caption = "Move vertical" default = 0 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn2(r+i)" "fn2(r-i)" \ "fn2(-r+i)" "fn2(-r-i)" "fn2/+fn2" "fn2/-fn2" endparam func fun default = log() caption = " - function1" enabled = @test == 16 || @test == 17 visible = @test == 16 || @test == 17 endfunc func fun2 default = log() caption = " - function2" enabled = @test == 16 || @test == 17 visible = @test == 16 || @test == 17 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Quads2 { init: z = 0 complex p = #pixel loop: z = @factor1*fn1(z)+p+@factor2*fn2(p)+z+@factor3*fn3(p) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Quads" center = (-2.3,0) magn = 0.5 func fn1 caption = "Function 1" default = sqr() endfunc func fn2 caption = "Function 2" default = recip() endfunc func fn3 caption = "Function 3" default = sin() endfunc float param factor1 default = 0.5 endparam float param factor2 default = 2 endparam float param factor3 default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 100 min = 1 endparam } XXident1 { init: z =(@fn0(real(#pixel))+flip(@fn0(imag(#pixel))))/@factor1 loop: #z = fn2(z*z*z*@factor3) bailout: (@test == 0 && |#z| <= @bailout) || \ (@test == 1 && sqr(real(#z)) <= @bailout) || \ (@test == 2 && sqr(imag(#z)) <= @bailout) || \ (@test == 3 && (sqr(real(#z)) <= @bailout && sqr(imag(#z)) < @bailout)) || \ (@test == 4 && (sqr(real(#z)) <= @bailout || sqr(imag(#z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(#z)) + abs(imag(#z))) <= @bailout)) || \ (@test == 6 && (sqr(real(#z) + imag(#z)) <= @bailout)) default: title = "XXident1" angle = 37.0 magn = 0.2 func fn0 caption = "InitFunc" default = sin() endfunc float param factor1 default = 0.268966 caption = "Initfac" endparam func fn2 caption = "Func" default = flip() endfunc float param factor3 default = -0.076034 caption = "Opfac" endparam param test caption = "Bailout Test" default = 4 enum = "mod" "real" "imag" "or" "and" "manh" "manr" endparam param bailout caption = "Bailout value" default = 6.0 endparam } XXident2 { init: z =(@fn0(imag(#pixel*#pixel))+flip(@fn0(real(#pixel*#pixel))))/@factor1 loop: #z = fn2(z*z*z*@factor3) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "XXident2" magn = 0.5 func fn0 caption = "InitFunc" default = sin() endfunc float param factor1 default = 0.268966 caption = "Initfac" endparam func fn2 caption = "Func" default = flip() endfunc float param factor3 default = -0.076034 caption = "Opfac" endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Archer'sDream { ;eat your heart out Robin Hood init: z = 0 complex p = @fn1a(#pixel) loop: z = @factor1*fn1(z)+@factor2*fn2(z)+@factor3*fn3(p)+@factor4*fn4(p) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Archer'sDream" angle = 90.0 center = (0.0,0.5) magn = 0.6 func fn1a caption = "Pixel function" default = conj() endfunc func fn1 caption = "Function 1" default = sqr() endfunc func fn2 caption = "Function 2" default = conj() endfunc func fn3 caption = "Function 3" default = flip() endfunc func fn4 caption = "Function 4" default = sqr() endfunc float param factor1 default = 0.9 endparam float param factor2 default = 0.7 endparam float param factor3 default = 0.7 endparam float param factor4 default = 0.5 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Wavey { init: z = 0 x = #x y = #y ratio = #height/#width h = #height w = #width p = #pixel if @Switch1 == 0 s1 = 1 else s1 = -1 endif if @Switch2 == 0 s2 = 1 else s2 = -1 endif loop: ;Row2 if y > @border && y < @amp1*fn3(sqrt(|x|/(1/@freqx*1000+50)))+h/2-@ww/2 if x > @border && x < @amp2*fn3(sqrt(|y|/(1/@freqy*1000-50)))+w/2-@ww/2 z = s1*@shrink1*fn1(z)+p+ratio*flip(conj(p))+1.7*@shift1 ;col2 elseif x > @amp2*fn3(sqrt(|y|/(1/@freqy*1000-50)))+w/2+@ww/2 && x < #width-@border z = -s2*@shrink2*fn2(z)+p-ratio*flip(conj(p))-1.7*@shift2 ;col3 endif ;Row3 elseif y < #height-@border && y > @amp1*fn3(sqrt(|x|/(1/@freqx*1000+50)))+h/2+@ww/2 if x > @border && x < @amp2*fn3(sqrt(|y|/(1/@freqy*1000-50)))+w/2-@ww/2 ;col4 z = s2*@shrink2*fn2(z)+p-ratio*flip(conj(p))+1.7*@shift2 elseif x > @amp2*fn3(sqrt(|y|/(1/@freqy*1000-50)))+w/2+@ww/2 && x < #width-@border ;col3 z = -s1*@shrink1*fn1(z)+p+ratio*flip(conj(p))-1.7*@shift1 endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Wavey" heading text = "Function 1:" endheading func fn1 caption = " - function" default = sqr() endfunc float param shift1 caption = " - shift" default = 1 endparam float param shrink1 caption = " - shrink" default = 1.5 endparam param Switch1 enum = "Out" "In" default = 0 caption = " - switch" endparam heading text = "Function 2:" endheading func fn2 caption = " - function" default = sqr() endfunc float param shift2 caption = " - shift" default = 0.75 endparam float param shrink2 caption = " - shrink" default = 1 endparam param Switch2 enum = "Out" "In" default = 1 caption = " - switch" endparam heading text = "BORDERS:" endheading float param border caption = " - thickness" default = 2 endparam heading text = "WAVES:" endheading func fn3 caption = " - shape" default = sin() endfunc int param amp1 caption = " - v/amplitude" default = 50 endparam int param amp2 caption = " - h/amplitude" default = 50 endparam float param ww caption = " - width" default = 1 endparam heading text = "Wave frquency:" endheading float param freqx caption = " - horizontal" default = 1 endparam float param freqy caption = " - vertical" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Wavey_too { init: z = 0 x = #x y = #y ratio = #height/#width h = #height w = #width p = #pixel if @Switch1 == 0 s1 = 1 else s1 = -1 endif if @Switch2 == 0 s2 = 1 else s2 = -1 endif loop: if y > @border && y < @amp1*fn3(fn4(sqrt(|x|/(1/@freqx*1000+50))))+h/2-@wwh/2 if x > @border && x < @amp2*fn3(fn4(sqrt(|y|/(1/@freqy*1000-50))))+w/2-@wwv/2 z = s1*@shrink1*fn1(z)+p+ratio*flip(conj(p))+1.7*@shift1 ;col2 elseif x > @amp2*fn3(fn4(sqrt(|y|/(1/@freqy*1000-50))))+w/2+@wwv/2 && x < #width-@border z = -s2*@shrink2*fn2(z)+p-ratio*flip(conj(p))-1.7*@shift2 ;col3 else if x < w/2 z = @shrinkW*@wavFn1(z)+p+@shiftW else z = -@shrinkW*@wavFn1(z)+p-@shiftW endif endif elseif y < #height-@border && y > @amp1*fn3(fn4(sqrt(|x|/(1/@freqx*1000+50))))+h/2+@wwh/2 if x > @border && x < @amp2*fn3(fn4(sqrt(|y|/(1/@freqy*1000-50))))+w/2-@wwv/2 ;col4 z = s2*@shrink2*fn2(z)+p-ratio*flip(conj(p))+1.7*@shift2 elseif x > @amp2*fn3(fn4(sqrt(|y|/(1/@freqy*1000-50))))+w/2+@wwv/2 && x < #width-@border ;col3 z = -s1*@shrink1*fn1(z)+p+ratio*flip(conj(p))-1.7*@shift1 else if x < w/2 z = @shrinkW*@wavFn1(z)+p+@shiftW else z = -@shrinkW*@wavFn1(z)+p-@shiftW endif endif else if x < w/2 z = @shrinkW*@wavFn2(z)+p+@shiftW else z = -@shrinkW*@wavFn2(z)+p-@shiftW endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Wavey2" heading text = "Function 1:" endheading func fn1 caption = " - function" default = sqr() endfunc float param shift1 caption = " - shift" default = 1 endparam float param shrink1 caption = " - shrink" default = 1.5 endparam param Switch1 enum = "Out" "In" default = 0 caption = " - switch" endparam heading text = "Function 2:" endheading func fn2 caption = " - function" default = sqr() endfunc float param shift2 caption = " - shift" default = 0.75 endparam float param shrink2 caption = " - shrink" default = 1 endparam param Switch2 enum = "Out" "In" default = 1 caption = " - switch" endparam heading text = "BORDERS:" endheading float param border caption = " - thickness" default = 2 endparam heading text = "WAVES:" endheading func fn3 caption = " - shape1" default = sin() endfunc func fn4 caption = " - shape2" default = ident() endfunc int param amp1 caption = " - v/amplitude" default = 50 endparam int param amp2 caption = " - h/amplitude" default = 50 endparam heading text = " - thickness:" endheading float param wwh caption = " - horiz" default = 1 endparam float param wwv caption = " - vert" default = 1 endparam heading text = "Wave frequency:" endheading float param freqx caption = " - horizontal" default = 1 endparam float param freqy caption = " - vertical" default = 1 max = 19 endparam heading text = "Wave function:" endheading func wavFn2 caption = " - horiz" default = ident() endfunc func wavFn1 caption = " - vert" default = ident() endfunc float param shiftW caption = " - shift" default = 0 endparam float param shrinkW caption = " - shrink" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Wavey_3 { init: z = 0 x = #x y = #y ratio = #height/#width h = #height w = #width p = #pixel if @Switch1 == 0 s1 = 1 else s1 = -1 endif if @Switch2 == 0 s2 = 1 else s2 = -1 endif loop: if y > @border && y < @amp1*@fn3V(@fn4V(sqrt(|x|/(1/@freqx*1000+50))))+h/2-@wwh/2 if x > @border && x < @amp2*@fn3H(@fn4H(sqrt(|y|/(1/@freqy*1000-50))))+w/2-@wwv/2 z = s1*@shrink1*fn1(z)+p+ratio*flip(conj(p))+1.7*@shift1 ;col2 elseif x > @amp2*@fn3H(@fn4H(sqrt(|y|/(1/@freqy*1000-50))))+w/2+@wwv/2 && x < #width-@border z = -s2*@shrink2*fn2(z)+p-ratio*flip(conj(p))-1.7*@shift2 ;col3 else if x < w/2 z = @shrinkW*@wavFn1(z)+p+@shiftW else z = -@shrinkW*@wavFn1(z)+p-@shiftW endif endif elseif y < #height-@border && y > @amp1*@fn3V(@fn4V(sqrt(|x|/(1/@freqx*1000+50))))+h/2+@wwh/2 if x > @border && x < @amp2*@fn3H(@fn4H(sqrt(|y|/(1/@freqy*1000-50))))+w/2-@wwv/2 ;col4 z = s2*@shrink2*fn2(z)+p-ratio*flip(conj(p))+1.7*@shift2 elseif x > @amp2*@fn3H(@fn4H(sqrt(|y|/(1/@freqy*1000-50))))+w/2+@wwv/2 && x < #width-@border ;col3 z = -s1*@shrink1*fn1(z)+p+ratio*flip(conj(p))-1.7*@shift1 else if x < w/2 z = @shrinkW*@wavFn1(z)+p+@shiftW else z = -@shrinkW*@wavFn1(z)+p-@shiftW endif endif else if x < w/2 z = @shrinkW*@wavFn2(z)+p+@shiftW else z = -@shrinkW*@wavFn2(z)+p-@shiftW endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Wavey3" heading text = "Function 1:" endheading func fn1 caption = " - function" default = sqr() endfunc float param shift1 caption = " - shift" default = 1 endparam float param shrink1 caption = " - shrink" default = 1.5 endparam param Switch1 enum = "Out" "In" default = 0 caption = " - switch" endparam heading text = "Function 2:" endheading func fn2 caption = " - function" default = sqr() endfunc float param shift2 caption = " - shift" default = 0.75 endparam float param shrink2 caption = " - shrink" default = 1 endparam param Switch2 enum = "Out" "In" default = 1 caption = " - switch" endparam heading text = "BORDERS:" endheading float param border caption = " - thickness" default = 2 endparam heading text = "WAVE V:" endheading func fn3V caption = " - shape1" default = sin() endfunc func fn4V caption = " - shape2" default = ident() endfunc func wavFn1 caption = " - function" default = ident() endfunc float param wwv caption = " - thickness" default = 1 endparam int param amp1 caption = " - amplitude" default = 50 endparam float param freqy caption = " - frequency" default = 1 max = 19 endparam heading text = "WAVE H:" endheading func fn3H caption = " - shape1" default = sin() endfunc func fn4H caption = " - shape2" default = ident() endfunc int param amp2 caption = " - amplitude" default = 50 endparam float param wwh caption = " - thickness" default = 1 endparam float param freqx caption = " - frequency" default = 1 endparam func wavFn2 caption = " - function" default = ident() endfunc float param shiftW caption = " - shift" default = 0 endparam float param shrinkW caption = " - shrink" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } 4Man4 { init: z = 0 loop: if #x >= @border+@edge && #x <= #width/2-@border/2-@edge && #y >= @border+@edge && #y <= #height/2-@border/2-@edge z = @shrink*fn1(z) + #pixel + @split - flip(@split) z = conj(flip(z))+z elseif #x >= #width/2+@border/2+@edge && #x <= #width-@border-@edge && #y >= @border+@edge && #y <= #height/2-@border/2-@edge z = @shrink*2*fn1(z) + #pixel - @split - flip(@split-0.2) elseif #x >= @border+@edge && #x <= #width/2-@border/2-@edge && #y >= #height/2+@border/2+@edge && #y <= #height-@border-@edge z = -@shrink*2*fn1(z) + #pixel + @split + flip(@split-0.2) elseif #x >= #width/2+@border/2+@edge && #x <= #width-@border-@edge && #y >= #height/2+@border/2+@edge && #y <= #height-@border-@edge z = -@shrink*fn1(z) + #pixel - @split + flip(@split) z = conj(flip(z))+ z elseif #x >= @border && #x <= #width/2-@border/2 && #y >= @border && #y <= #height/2-@border/2 z = @shrink3*fn3(z)+#pixel + @splitE elseif #x >= #width/2+@border/2 && #x <= #width-@border && #y > @border && #y <= #height/2-@border/2 z = -@shrink3*fn3(z)+#pixel - @splitE elseif #x >= @border && #x <= #width/2-@border/2 && #y > #height/2+@border/2 && #y <= #height-@border z = @shrink3*fn3(z)+#pixel + @splitE elseif #x >= #width/2+@border/2 && #x <= #width-@border && #y > #height/2+@border/2 && #y <= #height-@border z = -@shrink3*fn3(z)+#pixel - @splitE else if #x <= #width/2 z = @shrink2*fn2(z)+#pixel + @splitB else z = -@shrink2*fn2(z)+#pixel - @splitB endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "4Man4" func fn1 default = sqr() caption = "Rectangles function" endfunc float param shrink caption = " - shrink" default = 1 endparam float param split caption = " - split" default = 1 endparam heading caption = "BORDER:" endheading float param border caption = " - thickness" default = 1 endparam func fn2 default = sqr() caption = " - function" endfunc float param shrink2 caption = " - shrink" default = 2 endparam float param splitB caption = " - split" default = 0 endparam heading caption = "EDGE:" endheading int param edge caption = " - width" default = 0 endparam func fn3 default = zero() caption = " - function" endfunc float param shrink3 caption = " - shrink" default = 2 endparam float param splitE caption = " - split" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 12 visible = @test >= 12 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } 4Man6 { init: z = 0 float x = #x float y = #y float h = #height float w = #width float a = #width/4 float b = #height/4 float ratio = #height/#width loop: if (a-x)^2/a^2+@shape*(b-y)^2/b^2 < @size/10 ;top left z = -@shrink*fn1(z) + #pixel + @split+0.1 - flip(@split-0.25) elseif (a-x)^2/a^2+@shape*(b-y)^2/b^2 < @size/(10-@border/10) if #x <= #width/2 z = @shrink3*fn3(z)+#pixel + @splitE else z = -@shrink3*fn3(z)+#pixel - @splitE endif elseif (a-x)^2/a^2+@shape*(b-y+#height/2)^2/b^2 < @size/10 ;bottom left z = -@shrink*0.5*fn1(z) + #pixel + @split + flip(@split) z = conj(flip(z))+ z elseif (a-x)^2/a^2+@shape*(b-y+#height/2)^2/b^2 < @size/(10-@border/10) if #x <= #width/2 z = @shrink3*fn3(z)+#pixel + @splitE else z = -@shrink3*fn3(z)+#pixel - @splitE endif elseif (a-x+#width/2)^2/a^2+@shape*(b-y)^2/b^2 < @size/10 ;top right z = @shrink*0.5*fn1(z) + #pixel - @split - flip(@split) z = conj(flip(z))+ z elseif (a-x+#width/2)^2/a^2+@shape*(b-y)^2/b^2 < @size/(10-@border/10) if #x <= #width/2 z = @shrink3*fn3(z)+#pixel + @splitE else z = -@shrink3*fn3(z)+#pixel - @splitE endif elseif (a-x+#width/2)^2/a^2+@shape*(b-y+#height/2)^2/b^2 < @size/10 ;bottom right z = @shrink*fn1(z) + #pixel - @split-0.1 + flip(@split-0.25) elseif (a-x+#width/2)^2/a^2+@shape*(b-y+#height/2)^2/b^2 < @size/(10-@border/10) if #x <= #width/2 z = @shrink3*fn3(z)+#pixel + @splitE else z = -@shrink3*fn3(z)+#pixel - @splitE endif else if #x <= #width/2 z = @shrink2*fn2(z)+#pixel + @splitB else z = -@shrink2*fn2(z)+#pixel - @splitB endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "4Man6" heading caption = "ELLIPSES:" endheading float param size caption = " - ellipse size" default = 9 endparam float param shape caption = " - shape" default = 1 endparam func fn1 default = sqr() caption = " - function" endfunc float param shrink caption = " - shrink" default = 2 endparam float param split caption = " - split" default = 1 endparam float param border caption = " - border width" default = 0 endparam func fn3 default = zero() caption = " - function" visible = @border > 0 enabled = @border > 0 endfunc float param shrink3 caption = " - shrink" default = 2 visible = @border > 0 enabled = @border > 0 endparam float param splitE caption = " - split" default = 1 visible = @border > 0 enabled = @border > 0 endparam heading caption = "BACKGROUND:" endheading func fn2 default = sqr() caption = " - function" endfunc float param shrink2 caption = " - shrink" default = 2 endparam float param splitB caption = " - split" default = 0 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 12 visible = @test >= 12 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } MultiBoxA_too { init: complex z = (0,0) float x = #x float y = #y float h = #height float w = #width complex p = #pixel float moveX = 1/@div float moveY = 1.5*moveX colshift = (32-2*@div)/@div-1.5/@div rowshift = 3*((32-2*@div)/@div)/4 complex m = (1,0) complex n = (0,1) float ang = #pi*@ang/360.0 float ca = cos(ang) float sa = sin(ang) float r0c0 = real(m)*ca-real(n)*sa float r0c1 = real(m)*sa+real(n)*ca float r1c0 = imag(m)*ca-imag(n)*sa float r1c1 = imag(m)*sa+imag(n)*ca x1 = real(z) y1 = imag(z) t = x1 x1 = x1*r0c0 + y1*r1c0 y1 = t*r0c1 + y1*r1c1 z = x1 + flip(y1) if @switch == 0 s = 1 else s = -1 endif if @switchB == 0 sb = 1 else sb = -1 endif loop: x1 = real(z) y1 = imag(z) t = x1 x1 = x1*r0c0 + y1*r1c0 y1 = t*r0c1 + y1*r1c1 z = x1 + flip(y1) if y > @border/2 && y <= h/@div-@border/2 ;Row1 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)-0*moveX-4/@div-colshift+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)-4*moveX-4/@div-colshift+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)-8*moveX-4/@div-colshift+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)-12*moveX-4/@div-colshift+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)-16*moveX-4/@div-colshift+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)-20*moveX-4/@div-colshift+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)-24*moveX-4/@div-colshift+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)+flip(15*moveY-rowshift-@shiftR)-28*moveX-4/@div-colshift+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > h/@div+@border/2 && y <= 2*h/@div-@border/2 ;Row2 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)-0*moveX-4/@div-colshift+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)-4*moveX-4/@div-colshift+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)-8*moveX-4/@div-colshift+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)-12*moveX-4/@div-colshift+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)-16*moveX-4/@div-colshift+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)-20*moveX-4/@div-colshift+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)-24*moveX-4/@div-colshift+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)+flip(13*moveY-rowshift-@shiftR)-28*moveX-4/@div-colshift+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 2*h/@div+@border/2 && y <= 3*h/@div-@border/2 ;Row3 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)-0*moveX-4/@div-colshift+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)-4*moveX-4/@div-colshift+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)-8*moveX-4/@div-colshift+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)-12*moveX-4/@div-colshift+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)-16*moveX-4/@div-colshift+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)-20*moveX-4/@div-colshift+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)-24*moveX-4/@div-colshift+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)+flip(11*moveY-rowshift-@shiftR)-28*moveX-4/@div-colshift+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 3*h/@div+@border/2 && y <= 4*h/@div-@border/2 ;Row4 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)-0*moveX-4/@div-colshift+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)-4*moveX-4/@div-colshift+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)-8*moveX-4/@div-colshift+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)-12*moveX-4/@div-colshift+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)-16*moveX-4/@div-colshift+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)-20*moveX-4/@div-colshift+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)-24*moveX-4/@div-colshift+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)+flip(9*moveY-rowshift-@shiftR)-28*moveX-4/@div-colshift+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 4*h/@div+@border/2 && y <= 5*h/@div-@border/2 ;Row5 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)+flip(7*moveY-rowshift-@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 5*h/@div+@border/2 && y <= 6*h/@div-@border/2 ;Row6 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)+flip(5*moveY-rowshift-@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 6*h/@div+@border/2 && y <= 7*h/@div-@border/2 ;Row7 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)+flip(3*moveY-rowshift-@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 7*h/@div+@border/2 && y <= 8*h/@div-@border/2 ;Row8 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)+flip(moveY-rowshift-@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 8*h/@div+@border/2 && y <= 9*h/@div-@border/2 ;Row9 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)-flip(moveY+rowshift+@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 9*h/@div+@border/2 && y <= 10*h/@div-@border/2 ;Row10 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)-flip(3*moveY+rowshift+@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 10*h/@div+@border/2 && y <= 11*h/@div-@border/2 ;Row11 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)-flip(5*moveY+rowshift+@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 11*h/@div+@border/2 && y <= 12*h/@div-@border/2 ;Row12 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)-flip(7*moveY+rowshift+@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 12*h/@div+@border/2 && y <= 13*h/@div-@border/2 ;Row13 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)-flip(9*moveY+rowshift+@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 13*h/@div+@border/2 && y <= 14*h/@div-@border/2 ;Row14 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)-flip(11*moveY+rowshift+@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 14*h/@div+@border/2 && y <= 15*h/@div-@border/2 ;Row15 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)-flip(13*moveY+rowshift+@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif elseif y > 15*h/@div+@border/2 && y <= 16*h/@div-@border/2 ;Row16 if x > 0*w/@div+@border/2 && x <= 1*w/@div-@border/2 ;col1 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)+28*moveX-colshift+@shiftL elseif x > w/@div+@border/2 && x <= 2*w/@div-@border/2 ;col2 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)+24*moveX-colshift+@shiftL elseif x > 2*w/@div+@border/2 && x <= 3*w/@div-@border/2 ;col3 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)+20*moveX-colshift+@shiftL elseif x > 3*w/@div+@border/2 && x <= 4*w/@div-@border/2 ;col4 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)+16*moveX-colshift+@shiftL elseif x > 4*w/@div+@border/2 && x <= 5*w/@div-@border/2 ;col5 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)+12*moveX-colshift+@shiftL elseif x > 5*w/@div+@border/2 && x <= 6*w/@div-@border/2 ;col6 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)+8*moveX-colshift+@shiftL elseif x > 6*w/@div+@border/2 && x <= 7*w/@div-@border/2 ;col7 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)+4*moveX-colshift+@shiftL elseif x > 7*w/@div+@border/2 && x <= 8*w/@div-@border/2 ;col8 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)+0*moveX-colshift+@shiftL elseif x > 8*w/@div+@border/2 && x <= 9*w/@div-@border/2 ;col9 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)-0*moveX-colshift-4/@div+@shiftL elseif x > 9*w/@div+@border/2 && x <= 10*w/@div-@border/2 ;col10 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)-4*moveX-colshift-4/@div+@shiftL elseif x > 10*w/@div+@border/2 && x <= 11*w/@div-@border/2 ;col11 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)-8*moveX-colshift-4/@div+@shiftL elseif x > 11*w/@div+@border/2 && x <= 12*w/@div-@border/2 ;col12 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)-12*moveX-colshift-4/@div+@shiftL elseif x > 12*w/@div+@border/2 && x <= 13*w/@div-@border/2 ;col13 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)-16*moveX-colshift-4/@div+@shiftL elseif x > 13*w/@div+@border/2 && x <= 14*w/@div-@border/2 ;col14 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)-20*moveX-colshift-4/@div+@shiftL elseif x > 14*w/@div+@border/2 && x <= 15*w/@div-@border/2 ;col15 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)-24*moveX-colshift-4/@div+@shiftL elseif x > 15*w/@div+@border/2 && x <= 16*w/@div-@border/2 ;col16 z = s*@shrink*fn1(z)+conj(p)-flip(15*moveY+rowshift+@shiftR)-28*moveX-colshift-4/@div+@shiftL else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif else if x < #width/2 z = sb*@shrinkB*@bakfn(z)+p+@shiftB else z = -sb*@shrinkB*@bakfn(z)+p-@shiftB endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "MultiBoxA_too" center = (0,0) heading caption = "BOXES:" endheading int param div caption = " - number" default = 8 endparam func fn1 caption = " - function" default = sqr() endfunc param ang caption = " - rotation (degrees)" default = 0.0 endparam float param shrink caption = " - shrink" default = 5 endparam float param shiftL caption = " - shift left/right" default = 0 endparam float param shiftR caption = " - shift up/down" default = 0 endparam param Switch enum = "One way..." "...or the other" default = 0 caption = " - switch" endparam heading caption = "BORDER:" endheading float param border caption = " - thickness" default = 1 endparam func bakfn caption = " - function" default = ident() endfunc param SwitchB enum = "One way..." "...or the other" default = 0 caption = " - switch" endparam float param shrinkB caption = " - shrink" default = 5 endparam float param shiftB caption = " - shift" default = 0 endparam ; heading ; caption = "BORDER:" ; endheading ; float param border ; caption = "Thickness" ; default = 1 ; endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } CSM { init: z = 0 p = fn1(#pixel) if @switch == 0 s = -1 else s = 1 endif loop: z = s*@mag*fn2(z)+p+recip(p)-@shift bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "CSM1" ; center = (0,-1) func fn1 default = cos() caption = "Pixel function" endfunc func fn2 default = sqr() caption = "Fractal function" endfunc param switch enum = "One way..." "...or the other" default = 1 caption = " - switch" endparam float param mag default = -0.71 caption = "Shrink" endparam float param shift default = 0 caption = "Shift" endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 12 visible = @test >= 12 endfunc float param bailout caption = " - value" default = 4.0 min = 1 endparam } CSM2 { init: z = 0 p = fn1(#pixel) if @switch == 0 s = 1 else s = -1 endif loop: z = s*z^(@seed+1)+p+fn2(p) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "CSM2" center = (-1.5,0) param seed default = (1,0) min = (0,-100) caption = "Function seed" endparam func fn1 default = sin() caption = "1st pixel function" endfunc func fn2 default = cotan() caption = "2nd pixel function" endfunc param switch enum = "One way..." "...or the other" default = 0 caption = "Switch" endparam heading caption = "BAILOUT:" endheading param bailout caption = " - value" default = 4.0 min = 1 endparam param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc } CSM3 { init: z = 0 p = fn2(#pixel) if @switch == 0 s = 1 else s = -1 endif loop: z = s*fn1(z)+p+fn3(p) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "CSM3" magn = 0.7 func fn1 default = sqr() caption = "Function" endfunc func fn2 default = cos() caption = "1st pixel function" endfunc func fn3 default = cos() caption = "2nd pixel function" endfunc param switch enum = "One way..." "...or the other" default = 1 caption = "Switch" endparam heading caption = "BAILOUT:" endheading param bailout caption = " - value" default = 128 min = 1 endparam param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc } Diag-Grid9_ii { init: float w = #width/@checksH float h = #height/@checksV w2 = #width/2 h2 = #height/2 x1 = #x y1 = #y if @fit == 0 x = #x y = #y else x = #x+w2 y = #y+h2 endif z = (0,0) complex p = #pixel float ratio = h/w loop: if @switch1 == 0 s1 = 1 else s1 = -1 endif if @switch2 == 0 s2 = 1 else s2 = -1 endif if y > @border1/2 && y < h*1-@border1/2 ;row 1 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h-y) > (x-w*0+@border/2)*(y+@border/2) if x1 < w2-@border2/2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 elseif x1 > w2+@border2/2 z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h-y) < (x-w*0-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h-y) > (x-w*0+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h-y) < (x-w*0-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h-y) > (x-w*1+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h-y) < (x-w*1-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h-y) > (x-w*1+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h-y) < (x-w*1-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h-y) > (x-w*2+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h-y) < (x-w*2-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h-y) > (x-w*2+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h-y) < (x-w*2-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h-y) > (x-w*3+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h-y) < (x-w*3-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h-y) > (x-w*3+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h-y) < (x-w*3-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h-y) > (x-w*4+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h-y) < (x-w*4-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h-y) > (x-w*4+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h-y) < (x-w*4-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h-y) > (x-w*5+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h-y) < (x-w*5-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h-y) > (x-w*5+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h-y) < (x-w*5-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h-y) > (x-w*6+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h-y) < (x-w*6-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h-y) > (x-w*6+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h-y) < (x-w*6-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h-y) > (x-w*7+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h-y) < (x-w*7-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h-y) > (x-w*7+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h-y) < (x-w*7-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h-y) > (x-w*8+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h-y) < (x-w*8-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h-y) > (x-w*8+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h-y) < (x-w*8-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h-y) > (x-w*9+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h-y) < (x-w*9-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h-y) > (x-w*9+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h-y) < (x-w*9-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h-y) > (x-w*10+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h-y) < (x-w*10-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h-y) > (x-w*10+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h-y) < (x-w*10-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h-y) > (x-w*11+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h-y) < (x-w*11-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h-y) > (x-w*11+@border/2)*(y+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h-y) < (x-w*11-@border/2)*(y-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*1+@border1/2 && y < h*2-@border1/2 ;row 2 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*2-y) > (x-w*0+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*2-y) < (x-w*0-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*2-y) > (x-w*0+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*2-y) < (x-w*0-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*2-y) > (x-w*1+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*2-y) < (x-w*1-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*2-y) > (x-w*1+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*2-y) < (x-w*1-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*2-y) > (x-w*2+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*2-y) < (x-w*2-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*2-y) > (x-w*2+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*2-y) < (x-w*2-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*2-y) > (x-w*3+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*2-y) < (x-w*3-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*2-y) > (x-w*3+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*2-y) < (x-w*3-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*2-y) > (x-w*4+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*2-y) < (x-w*4-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*2-y) > (x-w*4+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*2-y) < (x-w*4-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*2-y) > (x-w*5+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*2-y) < (x-w*5-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*2-y) > (x-w*5+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*2-y) < (x-w*5-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*2-y) > (x-w*6+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*2-y) < (x-w*6-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*2-y) > (x-w*6+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*2-y) < (x-w*6-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*2-y) > (x-w*7+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*2-y) < (x-w*7-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*2-y) > (x-w*7+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*2-y) < (x-w*7-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*2-y) > (x-w*8+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*2-y) < (x-w*8-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*2-y) > (x-w*8+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*2-y) < (x-w*8-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*2-y) > (x-w*9+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*2-y) < (x-w*9-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*2-y) > (x-w*9+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*2-y) < (x-w*9-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*2-y) > (x-w*10+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*2-y) < (x-w*10-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*2-y) > (x-w*10+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*2-y) < (x-w*10-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*2-y) > (x-w*11+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*2-y) < (x-w*11-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*2-y) > (x-w*11+@border/2)*(y-h+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*2-y) < (x-w*11-@border/2)*(y-h-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*2+@border1/2 && y < h*3-@border1/2 ;row 3 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*2+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*3-y) > (x-w*0+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*2+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*3-y) < (x-w*0-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*2-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*3-y) > (x-w*0+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*2-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*3-y) < (x-w*0-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*2+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*3-y) > (x-w*1+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*2+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*3-y) < (x-w*1-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*2-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*3-y) > (x-w*1+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*2-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*3-y) < (x-w*1-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*2+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*3-y) > (x-w*2+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*2+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*3-y) < (x-w*2-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*2-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*3-y) > (x-w*2+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*2-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*3-y) < (x-w*2-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*2+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*3-y) > (x-w*3+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*2+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*3-y) < (x-w*3-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*2-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*3-y) > (x-w*3+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*2-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*3-y) < (x-w*3-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*2+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*3-y) > (x-w*4+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*2+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*3-y) < (x-w*4-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*2-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*3-y) > (x-w*4+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*2-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*3-y) < (x-w*4-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*2+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*3-y) > (x-w*5+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*2+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*3-y) < (x-w*5-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*2-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*3-y) > (x-w*5+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*2-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*3-y) < (x-w*5-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*2+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*3-y) > (x-w*6+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*2+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*3-y) < (x-w*6-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*2-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*3-y) > (x-w*6+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*2-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*3-y) < (x-w*6-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*2+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*3-y) > (x-w*7+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*2+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*3-y) < (x-w*7-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*2-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*3-y) > (x-w*7+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*2-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*3-y) < (x-w*7-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*2+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*3-y) > (x-w*8+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*2+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*3-y) < (x-w*8-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*2-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*3-y) > (x-w*8+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*2-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*3-y) < (x-w*8-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*2+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*3-y) > (x-w*9+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*2+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*3-y) < (x-w*9-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*2-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*3-y) > (x-w*9+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*2-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*3-y) < (x-w*9-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*2+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*3-y) > (x-w*10+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*2+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*3-y) < (x-w*10-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*2-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*3-y) > (x-w*10+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*2-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*3-y) < (x-w*10-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*2+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*3-y) > (x-w*11+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*2+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*3-y) < (x-w*11-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*2-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*3-y) > (x-w*11+@border/2)*(y-h*2+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*2-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*3-y) < (x-w*11-@border/2)*(y-h*2-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*3+@border1/2 && y < h*4-@border1/2 ;row 4 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*3+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*4-y) > (x-w*0+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*3+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*4-y) < (x-w*0-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*3-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*4-y) > (x-w*0+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*3-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*4-y) < (x-w*0-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*3+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*4-y) > (x-w*1+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*3+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*4-y) < (x-w*1-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*3-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*4-y) > (x-w*1+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*3-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*4-y) < (x-w*1-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*3+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*4-y) > (x-w*2+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*3+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*4-y) < (x-w*2-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*3-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*4-y) > (x-w*2+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*3-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*4-y) < (x-w*2-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*3+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*4-y) > (x-w*3+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*3+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*4-y) < (x-w*3-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*3-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*4-y) > (x-w*3+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*3-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*4-y) < (x-w*3-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*3+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*4-y) > (x-w*4+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*3+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*4-y) < (x-w*4-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*3-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*4-y) > (x-w*4+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*3-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*4-y) < (x-w*4-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*3+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*4-y) > (x-w*5+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*3+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*4-y) < (x-w*5-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*3-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*4-y) > (x-w*5+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*3-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*4-y) < (x-w*5-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*3+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*4-y) > (x-w*6+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*3+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*4-y) < (x-w*6-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*3-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*4-y) > (x-w*6+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*3-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*4-y) < (x-w*6-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*3+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*4-y) > (x-w*7+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*3+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*4-y) < (x-w*7-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*3-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*4-y) > (x-w*7+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*3-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*4-y) < (x-w*7-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*3+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*4-y) > (x-w*8+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*3+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*4-y) < (x-w*8-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*3-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*4-y) > (x-w*8+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*3-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*4-y) < (x-w*8-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*3+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*4-y) > (x-w*9+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*3+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*4-y) < (x-w*9-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*3-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*4-y) > (x-w*9+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*3-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*4-y) < (x-w*9-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*3+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*4-y) > (x-w*10+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*3+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*4-y) < (x-w*10-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*3-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*4-y) > (x-w*10+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*3-@border/2) > ratio*(x-w*10)^2 && (w*9-x)*(h*4-y) < (x-w*10-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*3+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*4-y) > (x-w*11+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*3+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*4-y) < (x-w*11-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*3-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*4-y) > (x-w*11+@border/2)*(y-h*3+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*3-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*4-y) < (x-w*11-@border/2)*(y-h*3-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*4+@border1/2 && y < h*5-@border1/2 ;row 5 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*4+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*5-y) > (x-w*0+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*4+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*5-y) < (x-w*0-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*4-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*5-y) > (x-w*0+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*4-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*5-y) < (x-w*0-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*4+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*5-y) > (x-w*1+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*4+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*5-y) < (x-w*1-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*4-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*5-y) > (x-w*1+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*4-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*5-y) < (x-w*1-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*4+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*5-y) > (x-w*2+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*4+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*5-y) < (x-w*2-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*4-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*5-y) > (x-w*2+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*4-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*5-y) < (x-w*2-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*4+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*5-y) > (x-w*3+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*4+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*5-y) < (x-w*3-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*4-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*5-y) > (x-w*3+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*4-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*5-y) < (x-w*3-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*4+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*5-y) > (x-w*4+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*4+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*5-y) < (x-w*4-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*4-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*5-y) > (x-w*4+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*4-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*5-y) < (x-w*4-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*4+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*5-y) > (x-w*5+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*4+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*5-y) < (x-w*5-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*4-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*5-y) > (x-w*5+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*4-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*5-y) < (x-w*5-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*4+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*5-y) > (x-w*6+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*4+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*5-y) < (x-w*6-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*4-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*5-y) > (x-w*6+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*4-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*5-y) < (x-w*6-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*4+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*5-y) > (x-w*7+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*4+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*5-y) < (x-w*7-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*4-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*5-y) > (x-w*7+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*4-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*5-y) < (x-w*7-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*4+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*5-y) > (x-w*8+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*4+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*5-y) < (x-w*8-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*4-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*5-y) > (x-w*8+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*4-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*5-y) < (x-w*8-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*4+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*5-y) > (x-w*9+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*4+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*5-y) < (x-w*9-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*4-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*5-y) > (x-w*9+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*4-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*5-y) < (x-w*9-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*4+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*5-y) > (x-w*10+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*4+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*5-y) < (x-w*10-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*4-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*5-y) > (x-w*10+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*4-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*5-y) < (x-w*10-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*4+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*5-y) > (x-w*11+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*4+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*5-y) < (x-w*11-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*4-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*5-y) > (x-w*11+@border/2)*(y-h*4+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*4-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*5-y) < (x-w*11-@border/2)*(y-h*4-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*5+@border1/2 && y < h*6-@border1/2 ;row 6 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*5+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*6-y) > (x-w*0+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*5+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*6-y) < (x-w*0-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*5-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*6-y) > (x-w*0+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*5-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*6-y) < (x-w*0-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*5+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*6-y) > (x-w*1+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*5+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*6-y) < (x-w*1-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*5-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*6-y) > (x-w*1+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*5-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*6-y) < (x-w*1-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*5+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*6-y) > (x-w*2+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*5+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*6-y) < (x-w*2-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*5-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*6-y) > (x-w*2+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*5-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*6-y) < (x-w*2-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*5+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*6-y) > (x-w*3+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*5+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*6-y) < (x-w*3-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*5-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*6-y) > (x-w*3+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*5-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*6-y) < (x-w*3-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*5+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*6-y) > (x-w*4+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*5+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*6-y) < (x-w*4-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*5-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*6-y) > (x-w*4+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*5-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*6-y) < (x-w*4-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*5+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*6-y) > (x-w*5+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*5+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*6-y) < (x-w*5-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*5-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*6-y) > (x-w*5+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*5-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*6-y) < (x-w*5-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*5+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*6-y) > (x-w*6+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*5+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*6-y) < (x-w*6-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*5-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*6-y) > (x-w*6+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*5-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*6-y) < (x-w*6-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*5+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*6-y) > (x-w*7+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*5+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*6-y) < (x-w*7-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*5-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*6-y) > (x-w*7+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*5-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*6-y) < (x-w*7-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*5+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*6-y) > (x-w*8+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*5+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*6-y) < (x-w*8-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*5-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*6-y) > (x-w*8+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*5-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*6-y) < (x-w*8-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*5+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*6-y) > (x-w*9+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*5+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*6-y) < (x-w*9-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*5-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*6-y) > (x-w*9+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*5-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*6-y) < (x-w*9-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*5+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*6-y) > (x-w*10+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*5+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*6-y) < (x-w*10-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*5-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*6-y) > (x-w*10+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*5-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*6-y) < (x-w*10-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*5+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*6-y) > (x-w*11+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*5+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*6-y) < (x-w*11-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*5-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*6-y) > (x-w*11+@border/2)*(y-h*5+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*5-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*6-y) < (x-w*11-@border/2)*(y-h*5-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*6+@border1/2 && y < h*7-@border1/2 ;row 7 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*6+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*7-y) > (x-w*0+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*6+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*7-y) < (x-w*0-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*6-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*7-y) > (x-w*0+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*6-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*7-y) < (x-w*0-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*6+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*7-y) > (x-w*1+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*6+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*7-y) < (x-w*1-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*6-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*7-y) > (x-w*1+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*6-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*7-y) < (x-w*1-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*6+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*7-y) > (x-w*2+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*6+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*7-y) < (x-w*2-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*6-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*7-y) > (x-w*2+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*6-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*7-y) < (x-w*2-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*6+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*7-y) > (x-w*3+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*6+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*7-y) < (x-w*3-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*6-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*7-y) > (x-w*3+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*6-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*7-y) < (x-w*3-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*6+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*7-y) > (x-w*4+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*6+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*7-y) < (x-w*4-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*6-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*7-y) > (x-w*4+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*6-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*7-y) < (x-w*4-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*6+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*7-y) > (x-w*5+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*6+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*7-y) < (x-w*5-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*6-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*7-y) > (x-w*5+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*6-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*7-y) < (x-w*5-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*6+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*7-y) > (x-w*6+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*6+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*7-y) < (x-w*6-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*6-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*7-y) > (x-w*6+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*6-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*7-y) < (x-w*6-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*6+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*7-y) > (x-w*7+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*6+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*7-y) < (x-w*7-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*6-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*7-y) > (x-w*7+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*6-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*7-y) < (x-w*7-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*6+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*7-y) > (x-w*8+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*6+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*7-y) < (x-w*8-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*6-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*7-y) > (x-w*8+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*6-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*7-y) < (x-w*8-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*6+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*7-y) > (x-w*9+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*6+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*7-y) < (x-w*9-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*6-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*7-y) > (x-w*9+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*6-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*7-y) < (x-w*9-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*6+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*7-y) > (x-w*10+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*6+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*7-y) < (x-w*10-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*6-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*7-y) > (x-w*10+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*6-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*7-y) < (x-w*10-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*6+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*7-y) > (x-w*11+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*6+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*7-y) < (x-w*11-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*6-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*7-y) > (x-w*11+@border/2)*(y-h*6+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*6-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*7-y) < (x-w*11-@border/2)*(y-h*6-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*7+@border1/2 && y < h*8-@border1/2 ;row 8 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*7+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*8-y) > (x-w*0+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*7+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*8-y) < (x-w*0-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*7-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*8-y) > (x-w*0+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*7-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*8-y) < (x-w*0-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*7+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*8-y) > (x-w*1+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*7+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*8-y) < (x-w*1-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*7-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*8-y) > (x-w*1+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*7-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*8-y) < (x-w*1-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*7+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*8-y) > (x-w*2+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*7+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*8-y) < (x-w*2-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*7-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*8-y) > (x-w*2+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*7-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*8-y) < (x-w*2-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*7+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*8-y) > (x-w*3+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*7+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*8-y) < (x-w*3-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*7-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*8-y) > (x-w*3+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*7-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*8-y) < (x-w*3-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*7+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*8-y) > (x-w*4+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*7+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*8-y) < (x-w*4-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*7-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*8-y) > (x-w*4+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*7-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*8-y) < (x-w*4-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*7+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*8-y) > (x-w*5+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*7+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*8-y) < (x-w*5-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*7-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*8-y) > (x-w*5+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*7-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*8-y) < (x-w*5-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*7+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*8-y) > (x-w*6+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*7+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*8-y) < (x-w*6-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*7-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*8-y) > (x-w*6+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*7-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*8-y) < (x-w*6-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*7+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*8-y) > (x-w*7+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*7+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*8-y) < (x-w*7-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*7-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*8-y) > (x-w*7+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*7-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*8-y) < (x-w*7-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*7+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*8-y) > (x-w*8+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*7+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*8-y) < (x-w*8-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*7-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*8-y) > (x-w*8+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*7-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*8-y) < (x-w*8-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*7+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*8-y) > (x-w*9+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*7+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*8-y) < (x-w*9-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*7-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*8-y) > (x-w*9+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*7-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*8-y) < (x-w*9-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*7+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*8-y) > (x-w*10+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*7+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*8-y) < (x-w*10-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*7-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*8-y) > (x-w*10+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*7-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*8-y) < (x-w*10-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*7+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*8-y) > (x-w*11+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*7+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*8-y) < (x-w*11-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*7-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*8-y) > (x-w*11+@border/2)*(y-h*7+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*7-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*8-y) < (x-w*11-@border/2)*(y-h*7-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*8+@border1/2 && y < h*9-@border1/2 ;row 9 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*8+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*9-y) > (x-w*0+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*8+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*9-y) < (x-w*0-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*8-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*9-y) > (x-w*0+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*8-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*9-y) < (x-w*0-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*8+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*9-y) > (x-w*1+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*8+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*9-y) < (x-w*1-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*8-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*9-y) > (x-w*1+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*8-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*9-y) < (x-w*1-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*8+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*9-y) > (x-w*2+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*8+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*9-y) < (x-w*2-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*8-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*9-y) > (x-w*2+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*8-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*9-y) < (x-w*2-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*8+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*9-y) > (x-w*3+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*8+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*9-y) < (x-w*3-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*8-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*9-y) > (x-w*3+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*8-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*9-y) < (x-w*3-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*8+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*9-y) > (x-w*4+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*8+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*9-y) < (x-w*4-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*8-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*9-y) > (x-w*4+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*8-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*9-y) < (x-w*4-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*8+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*9-y) > (x-w*5+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*8+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*9-y) < (x-w*5-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*8-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*9-y) > (x-w*5+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*8-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*9-y) < (x-w*5-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*8+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*9-y) > (x-w*6+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*8+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*9-y) < (x-w*6-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*8-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*9-y) > (x-w*6+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*8-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*9-y) < (x-w*6-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*8+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*9-y) > (x-w*7+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*8+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*9-y) < (x-w*7-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*8-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*9-y) > (x-w*7+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*8-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*9-y) < (x-w*7-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*8+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*9-y) > (x-w*8+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*8+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*9-y) < (x-w*8-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*8-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*9-y) > (x-w*8+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*8-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*9-y) < (x-w*8-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*8+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*9-y) > (x-w*9+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*8+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*9-y) < (x-w*9-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*8-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*9-y) > (x-w*9+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*8-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*9-y) < (x-w*9-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*8+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*9-y) > (x-w*10+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*8+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*9-y) < (x-w*10-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*8-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*9-y) > (x-w*10+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*8-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*9-y) < (x-w*10-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*8+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*9-y) > (x-w*11+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*8+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*9-y) < (x-w*11-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*8-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*9-y) > (x-w*11+@border/2)*(y-h*8+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*8-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*9-y) < (x-w*11-@border/2)*(y-h*8-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*9+@border1/2 && y < h*10-@border1/2 ;row 10 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*9+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*10-y) > (x-w*0+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*9+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*10-y) < (x-w*0-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*9-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*10-y) > (x-w*0+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*9-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*10-y) < (x-w*0-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*9+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*10-y) > (x-w*1+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*9+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*10-y) < (x-w*1-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*9-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*10-y) > (x-w*1+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*9-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*10-y) < (x-w*1-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*9+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*10-y) > (x-w*2+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*9+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*10-y) < (x-w*2-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*9-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*10-y) > (x-w*2+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*9-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*10-y) < (x-w*2-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*9+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*10-y) > (x-w*3+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*9+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*10-y) < (x-w*3-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*9-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*10-y) > (x-w*3+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*9-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*10-y) < (x-w*3-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*9+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*10-y) > (x-w*4+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*9+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*10-y) < (x-w*4-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*9-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*10-y) > (x-w*4+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*9-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*10-y) < (x-w*4-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*9+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*10-y) > (x-w*5+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*9+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*10-y) < (x-w*5-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*9-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*10-y) > (x-w*5+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*9-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*10-y) < (x-w*5-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*9+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*10-y) > (x-w*6+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*9+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*10-y) < (x-w*6-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*9-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*10-y) > (x-w*6+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*9-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*10-y) < (x-w*6-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*9+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*10-y) > (x-w*7+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*9+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*10-y) < (x-w*7-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*9-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*10-y) > (x-w*7+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*9-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*10-y) < (x-w*7-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*9+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*10-y) > (x-w*8+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*9+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*10-y) < (x-w*8-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*9-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*10-y) > (x-w*8+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*9-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*10-y) < (x-w*8-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*9+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*10-y) > (x-w*9+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*9+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*10-y) < (x-w*9-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*9-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*10-y) > (x-w*9+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*9-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*10-y) < (x-w*9-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*9+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*10-y) > (x-w*10+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*9+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*10-y) < (x-w*10-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*9-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*10-y) > (x-w*10+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*9-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*10-y) < (x-w*10-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*9+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*10-y) > (x-w*11+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*9+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*10-y) < (x-w*11-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*9-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*10-y) > (x-w*11+@border/2)*(y-h*9+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*9-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*10-y) < (x-w*11-@border/2)*(y-h*9-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*10+@border1/2 && y < h*11-@border1/2 ;row 11 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*10+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*11-y) > (x-w*0+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*10+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*11-y) < (x-w*0-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*10-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*11-y) > (x-w*0+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*10-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*11-y) < (x-w*0-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*10+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*11-y) > (x-w*1+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*10+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*11-y) < (x-w*1-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*10-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*11-y) > (x-w*1+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*10-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*11-y) < (x-w*1-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*10+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*11-y) > (x-w*2+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*10+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*11-y) < (x-w*2-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*10-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*11-y) > (x-w*2+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*10-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*11-y) < (x-w*2-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*10+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*11-y) > (x-w*3+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*10+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*11-y) < (x-w*3-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*10-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*11-y) > (x-w*3+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*10-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*11-y) < (x-w*3-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*10+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*11-y) > (x-w*4+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*10+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*11-y) < (x-w*4-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*10-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*11-y) > (x-w*4+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*10-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*11-y) < (x-w*4-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*10+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*11-y) > (x-w*5+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*10+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*11-y) < (x-w*5-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*10-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*11-y) > (x-w*5+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*10-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*11-y) < (x-w*5-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*10+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*11-y) > (x-w*6+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*10+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*11-y) < (x-w*6-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*10-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*11-y) > (x-w*6+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*10-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*11-y) < (x-w*6-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*10+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*11-y) > (x-w*7+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*10+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*11-y) < (x-w*7-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*10-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*11-y) > (x-w*7+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*10-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*11-y) < (x-w*7-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*10+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*11-y) > (x-w*8+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*10+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*11-y) < (x-w*8-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*10-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*11-y) > (x-w*8+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*10-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*11-y) < (x-w*8-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*10+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*11-y) > (x-w*9+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*10+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*11-y) < (x-w*9-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*10-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*11-y) > (x-w*9+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*10-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*11-y) < (x-w*9-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*10+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*11-y) > (x-w*10+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*10+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*11-y) < (x-w*10-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*10-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*11-y) > (x-w*10+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*10-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*11-y) < (x-w*10-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*10+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*11-y) > (x-w*11+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*10+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*11-y) < (x-w*11-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*10-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*11-y) > (x-w*11+@border/2)*(y-h*10+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*10-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*11-y) < (x-w*11-@border/2)*(y-h*10-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*11+@border1/2 && y < h*12-@border1/2 ;row 12 if x > @border2/2 && x <= w*1-@border2/2 if (x-w*0)*(y-h*11+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*12-y) > (x-w*0+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*11+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*12-y) < (x-w*0-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*11-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*12-y) > (x-w*0+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*11-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*12-y) < (x-w*0-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1+@border2/2 && x <= w*2-@border2/2 if (x-w*1)*(y-h*11+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*12-y) > (x-w*1+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*11+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*12-y) < (x-w*1-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*11-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*12-y) > (x-w*1+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*11-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*12-y) < (x-w*1-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2+@border2/2 && x <= w*3-@border2/2 if (x-w*2)*(y-h*11+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*12-y) > (x-w*2+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*11+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*12-y) < (x-w*2-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*11-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*12-y) > (x-w*2+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*11-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*12-y) < (x-w*2-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3+@border2/2 && x <= w*4-@border2/2 if (x-w*3)*(y-h*11+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*12-y) > (x-w*3+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*11+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*12-y) < (x-w*3-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*11-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*12-y) > (x-w*3+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*11-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*12-y) < (x-w*3-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4+@border2/2 && x <= w*5-@border2/2 if (x-w*4)*(y-h*11+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*12-y) > (x-w*4+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*11+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*12-y) < (x-w*4-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*11-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*12-y) > (x-w*4+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*11-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*12-y) < (x-w*4-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5+@border2/2 && x <= w*6-@border2/2 if (x-w*5)*(y-h*11+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*12-y) > (x-w*5+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*11+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*12-y) < (x-w*5-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*11-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*12-y) > (x-w*5+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*11-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*12-y) < (x-w*5-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6+@border2/2 && x <= w*7-@border2/2 if (x-w*6)*(y-h*11+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*12-y) > (x-w*6+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*11+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*12-y) < (x-w*6-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*11-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*12-y) > (x-w*6+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*11-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*12-y) < (x-w*6-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7+@border2/2 && x <= w*8-@border2/2 if (x-w*7)*(y-h*11+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*12-y) > (x-w*7+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*11+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*12-y) < (x-w*7-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*11-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*12-y) > (x-w*7+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*11-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*12-y) < (x-w*7-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8+@border2/2 && x <= w*9-@border2/2 if (x-w*8)*(y-h*11+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*12-y) > (x-w*8+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*11+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*12-y) < (x-w*8-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*11-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*12-y) > (x-w*8+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*11-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*12-y) < (x-w*8-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9+@border2/2 && x <= w*10-@border2/2 if (x-w*9)*(y-h*11+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*12-y) > (x-w*9+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*11+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*12-y) < (x-w*9-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*11-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*12-y) > (x-w*9+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*11-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*12-y) < (x-w*9-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10+@border2/2 && x <= w*11-@border2/2 if (x-w*10)*(y-h*11+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*12-y) > (x-w*10+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*11+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*12-y) < (x-w*10-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*11-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*12-y) > (x-w*10+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*11-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*12-y) < (x-w*10-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11+@border2/2 && x <= w*12-@border2/2 if (x-w*11)*(y-h*11+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*12-y) > (x-w*11+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*11+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*12-y) < (x-w*11-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*11-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*12-y) > (x-w*11+@border/2)*(y-h*11+@border/2) if x1 < w2-@border2/2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*11-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*12-y) < (x-w*11-@border/2)*(y-h*11-@border/2) if x1 < w2-@border2/2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 < w2-@border2/2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && ((|real(z)|)%@mod) <= @bailout) || \ (@test == 2 && ((|imag(z)|)%@mod) <= @bailout) || \ (@test == 3 && (sqr(real(z))%@mod) <= @bailout) || \ (@test == 4 && (sqr(imag(z))%@mod) <= @bailout) || \ (@test == 5 && (sqr(flip(z))) <= @bailout) || \ (@test == 6 && (sqr(conj(z))) <= @bailout) || \ (@test == 7 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 10 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 11 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 12 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 13 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 18 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 19 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Diag-Grid_too3(ii)" heading caption = "SCREEN FIT:" endheading param fit enum = "Fit even" "Fit odd (<=7.5)" caption = "Choose..." default = 0 endparam heading caption = "DIRECTIONS:" endheading param switch1 enum = "This way..." "...or that way" caption = "Switch 1" default = 0 endparam param switch2 enum = "This way..." "...or that way" caption = "Switch 2" default = 0 endparam heading caption = "GRIDSIZE (max 12x12):" endheading float param checksH caption = "Horizontal" default = 4 max = 12 min = 1 endparam float param checksV caption = "Vertical" hint = "Max gridsize 10x10 for fit all, 6.5x6.5 for fit even only" default = 4 max = 12 min = 1 endparam ; float param ratio ; caption = " - slope" ; default = 0.75 ; endparam heading caption = "FUNCTION:" endheading func fn1 caption = "Function 1" default = sqr() endfunc float param shrink1 caption = " - shrink it" default = 1 endparam float param shift1 caption = " - shift it" default = 1 endparam func fn2 caption = "Function 2" default = sqr() endfunc float param shrink2 caption = " - shrink it" default = 2 endparam float param shift2 caption = " - shift it" default = 1 endparam heading caption = "BORDER Thickness:" endheading float param border1 caption = " - Horizontal" default = 2 endparam float param border2 caption = " - Vertical" default = 2 endparam float param border caption = " - Diagonal" default = 2 endparam func borderfn caption = " - function" default = zero() endfunc float param shrinkb caption = " - shrink it" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real mod" "imag mod" "sqr real mod" "sqr imag mod" \ "flip" "conj" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 14 visible = @test >= 14 endfunc int param mod caption = " - modifier" default = 2 enabled = @test > 0 && @test <= 4 visible = @test > 0 && @test <= 4 endparam param bailout caption = " - value" default = 128 min = 1 endparam } Curvacious { init: z = 0 x = #x y = #y w = #width h = #height a = #width/2 b = #height/2 p = #pixel interval = ((w/4)^2)/(h/2) ratio = h/w if @Switch == 0 s = 1 so = 1 si = -1 else s = -1 so = -1 si = 1 endif loop: if @look == 0 ;0 if (1.68-@freq0/10)*interval*(w/2-x-@move0*20) > y^2+@border0*100 ;top left corner if y > 0*h/8+@border0/2 && y <= 1*h/8-@border0/2 ;Row1 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+2.65*@shift20 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.375*@shift10)+2.15*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.75*@shift10)+1.625*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(1.125*@shift10)+1.125*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(1.125*@shift10)-1.125*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.75*@shift10)-1.625*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.375*@shift10)-2.15*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-2.65*@shift20 endif elseif y > h/8+@border0/2 && y <= 2*h/8-@border0/2 ;Row2 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+2.35*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+1.875*@shift20 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.4*@shift10)+1.35*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.775*@shift10)+0.85*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.775*@shift10)-0.85*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.4*@shift10)-1.35*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-1.875*@shift20 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.4*@shift10)-2.4*@shift10 endif elseif y > 2*h/8+@border0/2 && y <= 3*h/8-@border0/2 ;Row3 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.725*@shift10)+2.075*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+1.55*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+1.1*@shift20 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.375*@shift10)+0.55*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.375*@shift10)-0.55*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-1.1*@shift20 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift10)-1.55*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.725*@shift10)-2.075*@shift10 endif elseif y > 3*h/8+@border0/2 && y <= 4*h/8-@border0/2 ;Row4 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-1.12*@shift10)+1.8*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.75*@shift10)+1.325*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+0.8*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+0.3*@shift20 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-0.3*@shift20 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift10)-0.8*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.75*@shift10)-1.325*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-1.12*@shift10)-1.8*@shift10 endif elseif y > 4*h/8+@border0/2 && y <= 5*h/8-@border0/2 ;Row5 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-1.12*@shift10)+1.8*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.75*@shift10)+1.325*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+0.8*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+0.3*@shift20 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-0.3*@shift20 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-0.8*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.75*@shift10)-1.325*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-1.12*@shift10)-1.8*@shift10 endif elseif y > 5*h/8+@border0/2 && y <= 6*h/8-@border0/2 ;Row6 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.725*@shift10)+2.075*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+1.55*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+1.1*@shift20 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.375*@shift10)+0.55*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.375*@shift10)-0.55*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-1.1*@shift20 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-1.55*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.725*@shift10)-2.075*@shift10 endif elseif y > 6*h/8+@border0/2 && y <= 7*h/8-@border0/2 ;Row7 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+2.35*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+1.875*@shift20 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.45*@shift10)+1.35*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.775*@shift10)+0.85*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.775*@shift10)-0.85*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.45*@shift10)-1.35*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-1.875*@shift20 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-2.4*@shift10 endif elseif y > 7*h/8+@border0/2 && y <= 8*h/8-@border0/2 ;Row8 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+2.65*@shift20 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.375*@shift10)+2.15*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.75*@shift10)+1.625*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(1.125*@shift10)+1.125*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(1.125*@shift10)-1.125*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.75*@shift10)-1.625*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.375*@shift10)-2.15*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-2.65*@shift20 endif endif elseif (1.68-@freq0/10)*interval*(w/2-x-@move0*20) > y^2-@border0*100 ;top left border0 if x <= w/2 z = @shrinkb0*@borderfn0(z)+p else z = -@shrinkb0*@borderfn0(z)+p endif elseif (1.68-@freq0/10)*interval*(w/2-x-@move0*20) > (h-y)^2+@border0*100 ;bottom left corner if y > 0*h/8-@border0/2+@border0/2 && y <= 1*h/8-@border0/2 ;Row1 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+2.65*@shift20 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.375*@shift10)+2.15*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.75*@shift10)+1.625*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(1.125*@shift10)+1.125*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(1.125*@shift10)-1.125*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.75*@shift10)-1.625*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.375*@shift10)-2.15*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-2.65*@shift20 endif elseif y > h/8+@border0/2 && y <= 2*h/8-@border0/2 ;Row2 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+2.35*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+1.875*@shift20 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.4*@shift10)+1.35*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.775*@shift10)+0.85*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.775*@shift10)-0.85*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.4*@shift10)-1.35*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-1.875*@shift20 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.4*@shift10)-2.4*@shift10 endif elseif y > 2*h/8+@border0/2 && y <= 3*h/8-@border0/2 ;Row3 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.725*@shift10)+2.075*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+1.55*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+1.1*@shift20 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.375*@shift10)+0.55*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.375*@shift10)-0.55*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-1.1*@shift20 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift10)-1.55*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.725*@shift10)-2.075*@shift10 endif elseif y > 3*h/8+@border0/2 && y <= 4*h/8-@border0/2 ;Row4 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-1.12*@shift10)+1.8*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.75*@shift10)+1.325*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+0.8*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+0.3*@shift20 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-0.3*@shift20 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift10)-0.8*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.75*@shift10)-1.325*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-1.12*@shift10)-1.8*@shift10 endif elseif y > 4*h/8+@border0/2 && y <= 5*h/8-@border0/2 ;Row5 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-1.12*@shift10)+1.8*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.75*@shift10)+1.325*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+0.8*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+0.3*@shift20 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-0.3*@shift20 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-0.8*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.75*@shift10)-1.325*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-1.12*@shift10)-1.8*@shift10 endif elseif y > 5*h/8+@border0/2 && y <= 6*h/8-@border0/2 ;Row6 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.725*@shift10)+2.075*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+1.55*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+1.1*@shift20 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.375*@shift10)+0.55*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.375*@shift10)-0.55*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-1.1*@shift20 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-1.55*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.725*@shift10)-2.075*@shift10 endif elseif y > 6*h/8+@border0/2 && y <= 7*h/8-@border0/2 ;Row7 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+2.35*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+1.875*@shift20 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.45*@shift10)+1.35*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.775*@shift10)+0.85*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.775*@shift10)-0.85*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.45*@shift10)-1.35*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-1.875*@shift20 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-2.4*@shift10 endif elseif y > 7*h/8+@border0/2 && y <= 8*h/8-@border0/2 ;Row8 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+2.65*@shift20 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.375*@shift10)+2.15*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.75*@shift10)+1.625*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(1.125*@shift10)+1.125*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(1.125*@shift10)-1.125*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.75*@shift10)-1.625*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.375*@shift10)-2.15*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-2.65*@shift20 endif endif elseif (1.68-@freq0/10)*interval*(w/2-x-@move0*20) > (h-y)^2-@border0*100 ;bottom left border if x <= w/2 z = @shrinkb0*@borderfn0(z)+p else z = -@shrinkb0*@borderfn0(z)+p endif elseif (1.68-@freq0/10)*interval*(x-w/2-@move0*20) > y^2+@border0*100 ;top right corner if y > 0*h/8+@border0/2 && y <= 1*h/8-@border0/2 ;Row1 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+2.65*@shift20 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.375*@shift10)+2.15*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.75*@shift10)+1.625*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(1.125*@shift10)+1.125*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(1.125*@shift10)-1.125*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.75*@shift10)-1.625*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.375*@shift10)-2.15*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-2.65*@shift20 endif elseif y > h/8+@border0/2 && y <= 2*h/8-@border0/2 ;Row2 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+2.35*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+1.875*@shift20 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.4*@shift10)+1.35*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.775*@shift10)+0.85*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.775*@shift10)-0.85*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.4*@shift10)-1.35*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-1.875*@shift20 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.4*@shift10)-2.4*@shift10 endif elseif y > 2*h/8+@border0/2 && y <= 3*h/8-@border0/2 ;Row3 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.725*@shift10)+2.075*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+1.55*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+1.1*@shift20 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.375*@shift10)+0.55*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.375*@shift10)-0.55*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-1.1*@shift20 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift10)-1.55*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.725*@shift10)-2.075*@shift10 endif elseif y > 3*h/8+@border0/2 && y <= 4*h/8-@border0/2 ;Row4 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-1.12*@shift10)+1.8*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.75*@shift10)+1.325*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+0.8*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+0.3*@shift20 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-0.3*@shift20 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift10)-0.8*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.75*@shift10)-1.325*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-1.12*@shift10)-1.8*@shift10 endif elseif y > 4*h/8+@border0/2 && y <= 5*h/8-@border0/2 ;Row5 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-1.12*@shift10)+1.8*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.75*@shift10)+1.325*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+0.8*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+0.3*@shift20 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-0.3*@shift20 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-0.8*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.75*@shift10)-1.325*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-1.12*@shift10)-1.8*@shift10 endif elseif y > 5*h/8+@border0/2 && y <= 6*h/8-@border0/2 ;Row6 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.725*@shift10)+2.075*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+1.55*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+1.1*@shift20 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.375*@shift10)+0.55*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.375*@shift10)-0.55*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-1.1*@shift20 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-1.55*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.725*@shift10)-2.075*@shift10 endif elseif y > 6*h/8+@border0/2 && y <= 7*h/8-@border0/2 ;Row7 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+2.35*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+1.875*@shift20 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.45*@shift10)+1.35*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.775*@shift10)+0.85*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.775*@shift10)-0.85*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.45*@shift10)-1.35*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-1.875*@shift20 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-2.4*@shift10 endif elseif y > 7*h/8+@border0/2 && y <= 8*h/8-@border0/2 ;Row8 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+2.65*@shift20 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.375*@shift10)+2.15*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.75*@shift10)+1.625*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(1.125*@shift10)+1.125*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(1.125*@shift10)-1.125*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.75*@shift10)-1.625*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.375*@shift10)-2.15*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-2.65*@shift20 endif endif elseif (1.68-@freq0/10)*interval*(x-w/2-@move0*20) > y^2-@border0*100 ;top right border if x <= w/2 z = @shrinkb0*@borderfn0(z)+p else z = -@shrinkb0*@borderfn0(z)+p endif elseif (1.68-@freq0/10)*interval*(x-w/2-@move0*20) > (h-y)^2+@border0*100 ;bottom right corner if y > 0*h/8-@border0/2+@border0/2 && y <= 1*h/8-@border0/2-@border0/2 ;Row1 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+2.65*@shift20 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.375*@shift10)+2.15*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.75*@shift10)+1.625*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(1.125*@shift10)+1.125*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(1.125*@shift10)-1.125*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.75*@shift10)-1.625*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.375*@shift10)-2.15*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-2.65*@shift20 endif elseif y > h/8+@border0/2 && y <= 2*h/8-@border0/2 ;Row2 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+2.35*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+1.875*@shift20 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.4*@shift10)+1.35*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.775*@shift10)+0.85*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.775*@shift10)-0.85*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.4*@shift10)-1.35*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-1.875*@shift20 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.4*@shift10)-2.4*@shift10 endif elseif y > 2*h/8+@border0/2 && y <= 3*h/8-@border0/2 ;Row3 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.725*@shift10)+2.075*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+1.55*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+1.1*@shift20 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(0.375*@shift10)+0.55*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(0.375*@shift10)-0.55*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-1.1*@shift20 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift10)-1.55*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.725*@shift10)-2.075*@shift10 endif elseif y > 3*h/8+@border0/2 && y <= 4*h/8-@border0/2 ;Row4 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-1.12*@shift10)+1.8*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.75*@shift10)+1.325*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift10)+0.8*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))-flip(0*@shift10)+0.3*@shift20 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))-flip(0*@shift10)-0.3*@shift20 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift10)-0.8*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-0.75*@shift10)-1.325*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))-flip(-1.12*@shift10)-1.8*@shift10 endif elseif y > 4*h/8+@border0/2 && y <= 5*h/8-@border0/2 ;Row5 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-1.12*@shift10)+1.8*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.75*@shift10)+1.325*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+0.8*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+0.3*@shift20 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-0.3*@shift20 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-0.8*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.75*@shift10)-1.325*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-1.12*@shift10)-1.8*@shift10 endif elseif y > 5*h/8+@border0/2 && y <= 6*h/8-@border0/2 ;Row6 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.725*@shift10)+2.075*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+1.55*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+1.1*@shift20 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.375*@shift10)+0.55*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.375*@shift10)-0.55*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-1.1*@shift20 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-1.55*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.725*@shift10)-2.075*@shift10 endif elseif y > 6*h/8+@border0/2 && y <= 7*h/8-@border0/2 ;Row7 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift10)+2.35*@shift10 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+1.875*@shift20 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.45*@shift10)+1.35*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.775*@shift10)+0.85*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.775*@shift10)-0.85*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.45*@shift10)-1.35*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-1.875*@shift20 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift10)-2.4*@shift10 endif elseif y > 7*h/8+@border0/2 && y <= 8*h/8-@border0/2 ;Row8 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink10*@fn10(z)+p-ratio*flip(conj(p))+flip(0*@shift10)+2.65*@shift20 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.375*@shift10)+2.15*@shift10 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(0.75*@shift10)+1.625*@shift10 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink20*@fn20(z)+p-ratio*flip(conj(p))+flip(1.125*@shift10)+1.125*@shift10 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(1.125*@shift10)-1.125*@shift10 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.75*@shift10)-1.625*@shift10 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink20*@fn20(z)+p+ratio*flip(conj(p))+flip(0.375*@shift10)-2.15*@shift10 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink10*@fn10(z)+p+ratio*flip(conj(p))+flip(0*@shift10)-2.65*@shift20 endif endif elseif (1.68-@freq0/10)*interval*(x-w/2-@move0*20) > (h-y)^2-@border0^2 ;bottom right border if x <= w/2 z = @shrinkb0*@borderfn0(z)+p else z = -@shrinkb0*@borderfn0(z)+p endif elseif (1.68-@freq0/10)*interval*(x-w/2-@move0*20) < (h-y)^2-@border0^2 ;centre0... if (x-@border0/2)*y <= ratio*(x-@border0/2)^2 && (w-x-@border0/2)*(h-y-@border0/2) > x*y ;Top z = s*@shrinkcentre0*@centfn0(z)-flip(p)+@shiftcentre0 elseif (x+@border0/2)*y > ratio*(x+@border0/2)^2 && (w-x+@border0/2)*(h-y+@border0/2) < x*y ;Bottom z = s*@shrinkcentre0*@centfn0(z)+flip(p)+@shiftcentre0 elseif x*(y+@border0/4) < ratio*x^2 && (w-x)*(h-y+@border0/4) < x*y ;Right z = -s*@shrinkcentre0*@centfn0(z)+p-1.5*@shiftcentre0 elseif x*(y-@border0/4) > ratio*x^2 && (w-x)*(h-y-@border0/4) > x*y ;Left z = s*@shrinkcentre0*@centfn0(z)+p+1.5*@shiftcentre0 else if x <= w/2 z = @shrinkb0*@borderfn0(z)+p else z = -@shrinkb0*@borderfn0(z)+p endif endif else if x <= w/2 z = @shrinkb0*@borderfn0(z)+p else z = @shrinkb0*@borderfn0(z)+p endif endif elseif @look == 1 ;1 if (@factor1-@freq1/10)*interval*(w-x-@move1*20) > (h/2-y)^2+@border1*100 \ && (@factor1-@freq1/10)*interval*(x-@move1*20) > (h/2-y)^2+@border1*100 if (x-@border1/2)*y <= ratio*(x-@border1/2)^2 && (w-x-@border1/2)*(h-y-@border1/2) > x*y ;Top z = s*@shrinkcentre1*@centfn1(z)-flip(p)+@shiftcentre1 elseif (x+@border1/2)*y > ratio*(x+@border1/2)^2 && (w-x+@border1/2)*(h-y+@border1/2) < x*y ;Bottom z = s*@shrinkcentre1*@centfn1(z)+flip(p)+@shiftcentre1 elseif x*(y+@border1/8) < ratio*x^2 && (w-x)*(h-y+@border1/4) < x*y ;Right z = -s*@shrinkcentre1*@centfn1(z)+p-1.5*@shiftcentre1 elseif x*(y-@border1/8) > ratio*x^2 && (w-x)*(h-y-@border1/4) > x*y ;Left z = s*@shrinkcentre1*@centfn1(z)+p+1.5*@shiftcentre1 else if x <= w/2 z = @shrinkb1*@borderfn1(z)+p else z = -@shrinkb1*@borderfn1(z)+p endif endif elseif (@factor1-@freq1/10)*interval*(w-x-@move1*20) > (h/2-y)^2-@border1*100 \ && (@factor1-@freq1/10)*interval*(x-@move1*20) > (h/2-y)^2-@border1*100 if x <= w/2 z = @shrinkb1*@borderfn1(z)+p else z = -@shrinkb1*@borderfn1(z)+p endif else if y > 0*h/8-@border0/2+@border0/2 && y <= 1*h/8-@border0/2 ;Row1 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink11*@fn11(z)+p+ratio*flip(conj(p))-flip(0*@shift11)+2.65*@shift21 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(0.375*@shift11)+2.15*@shift11 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(0.75*@shift11)+1.625*@shift11 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(1.125*@shift11)+1.125*@shift11 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(1.125*@shift11)-1.125*@shift11 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(0.75*@shift11)-1.625*@shift11 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(0.375*@shift11)-2.15*@shift11 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink11*@fn11(z)+p-ratio*flip(conj(p))-flip(0*@shift11)-2.65*@shift21 endif elseif y > h/8+@border0/2 && y <= 2*h/8-@border0/2 ;Row2 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift11)+2.35*@shift11 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink11*@fn11(z)+p+ratio*flip(conj(p))-flip(0*@shift11)+1.875*@shift21 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(0.4*@shift11)+1.35*@shift11 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(0.775*@shift11)+0.85*@shift11 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(0.775*@shift11)-0.85*@shift11 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(0.4*@shift11)-1.35*@shift11 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink11*@fn11(z)+p-ratio*flip(conj(p))-flip(0*@shift11)-1.875*@shift21 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(-0.4*@shift11)-2.4*@shift11 endif elseif y > 2*h/8+@border0/2 && y <= 3*h/8-@border0/2 ;Row3 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(-0.725*@shift11)+2.075*@shift11 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift11)+1.55*@shift11 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink11*@fn11(z)+p+ratio*flip(conj(p))-flip(0*@shift11)+1.1*@shift21 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(0.375*@shift11)+0.55*@shift11 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(0.375*@shift11)-0.55*@shift11 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink11*@fn11(z)+p-ratio*flip(conj(p))-flip(0*@shift11)-1.1*@shift21 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift11)-1.55*@shift11 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(-0.725*@shift11)-2.075*@shift11 endif elseif y > 3*h/8+@border0/2 && y <= 4*h/8-@border0/2 ;Row4 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(-1.12*@shift11)+1.8*@shift11 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(-0.75*@shift11)+1.325*@shift11 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))-flip(-0.35*@shift11)+0.8*@shift11 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink11*@fn11(z)+p+ratio*flip(conj(p))-flip(0*@shift11)+0.3*@shift21 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink11*@fn11(z)+p-ratio*flip(conj(p))-flip(0*@shift11)-0.3*@shift21 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(-0.35*@shift11)-0.8*@shift11 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(-0.75*@shift11)-1.325*@shift11 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))-flip(-1.12*@shift11)-1.8*@shift11 endif elseif y > 4*h/8+@border0/2 && y <= 5*h/8-@border0/2 ;Row5 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(-1.12*@shift11)+1.8*@shift11 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(-0.75*@shift11)+1.325*@shift11 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift11)+0.8*@shift11 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink11*@fn11(z)+p-ratio*flip(conj(p))+flip(0*@shift11)+0.3*@shift21 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink11*@fn11(z)+p+ratio*flip(conj(p))+flip(0*@shift11)-0.3*@shift21 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift11)-0.8*@shift11 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(-0.75*@shift11)-1.325*@shift11 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(-1.12*@shift11)-1.8*@shift11 endif elseif y > 5*h/8+@border0/2 && y <= 6*h/8-@border0/2 ;Row6 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(-0.725*@shift11)+2.075*@shift11 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift11)+1.55*@shift11 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink11*@fn11(z)+p-ratio*flip(conj(p))+flip(0*@shift11)+1.1*@shift21 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(0.375*@shift11)+0.55*@shift11 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(0.375*@shift11)-0.55*@shift11 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink11*@fn11(z)+p+ratio*flip(conj(p))+flip(0*@shift11)-1.1*@shift21 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift11)-1.55*@shift11 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(-0.725*@shift11)-2.075*@shift11 endif elseif y > 6*h/8+@border0/2 && y <= 7*h/8-@border0/2 ;Row7 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(-0.35*@shift11)+2.35*@shift11 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink11*@fn11(z)+p-ratio*flip(conj(p))+flip(0*@shift11)+1.875*@shift21 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(0.45*@shift11)+1.35*@shift11 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(0.775*@shift11)+0.85*@shift11 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(0.775*@shift11)-0.85*@shift11 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(0.45*@shift11)-1.35*@shift11 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink11*@fn11(z)+p+ratio*flip(conj(p))+flip(0*@shift11)-1.875*@shift21 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(-0.35*@shift11)-2.4*@shift11 endif elseif y > 7*h/8+@border0/2 && y <= 8*h/8-@border0/2 ;Row8 if x > 0*w/8+@border0/2 && x <= 1*w/8-@border0/2 ;col1 z = s*@shrink11*@fn11(z)+p-ratio*flip(conj(p))+flip(0*@shift11)+2.65*@shift21 elseif x > w/8+@border0/2 && x <= 2*w/8-@border0/2 ;col2 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(0.375*@shift11)+2.15*@shift11 elseif x > 2*w/8+@border0/2 && x <= 3*w/8-@border0/2 ;col3 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(0.75*@shift11)+1.625*@shift11 elseif x > 3*w/8+@border0/2 && x <= 4*w/8-@border0/2 ;col4 z = s*@shrink21*@fn21(z)+p-ratio*flip(conj(p))+flip(1.125*@shift11)+1.125*@shift11 elseif x > 4*w/8+@border0/2 && x <= 5*w/8-@border0/2 ;col5 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(1.125*@shift11)-1.125*@shift11 elseif x > 5*w/8+@border0/2 && x <= 6*w/8-@border0/2 ;col6 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(0.75*@shift11)-1.625*@shift11 elseif x > 6*w/8+@border0/2 && x <= 7*w/8-@border0/2 ;col7 z = -s*@shrink21*@fn21(z)+p+ratio*flip(conj(p))+flip(0.375*@shift11)-2.15*@shift11 elseif x > 7*w/8+@border0/2 ;col8 z = -s*@shrink11*@fn11(z)+p+ratio*flip(conj(p))+flip(0*@shift11)-2.65*@shift21 endif endif endif elseif @look == 2 ;2 if @factor2*sqrt(|(a-x)^2/a^2-(b-y)^2/b^2|) > |ratio| if x*y <= ratio*x^2 && (w-x)*(h-y) > x*y ;Top z = s*@shrinkouter2*@fn12(z)+flip(p)-@shiftouterv2 elseif x*y > ratio*x^2 && (w-x)*(h-y) <= x*y ;Bottom z = -s*@shrinkouter2*@fn12(z)+flip(p)+@shiftouterv2 elseif x*y <= ratio*x^2 && (w-x)*(h-y) <= x*y ;Right z = s*@shrinkouter2*@fn12(z)+p-@shiftouterh2 elseif x*y > ratio*x^2 && (w-x)*(h-y) > x*y ;Left z = -s*@shrinkouter2*@fn12(z)+p+@shiftouterh2 endif else if sqrt(|x|) < a z = @shrinkmiddle*@fn22(z)+p+@shiftmiddle else z = -@shrinkmiddle*@fn22(z)+p-@shiftmiddle endif endif elseif @look == 3 ;3 if @factor3*sqrt(|(a-x)^2/a^2-(b-y)^2/b^2|)-sqrt(@border3/10000) > |ratio| ;outer if x*y <= ratio*x^2 && (w-x)*(h-y) > x*y ;Top z = so*@shrinkouter3*@fn13(z)+flip(p)-@shiftouterv3 elseif x*y > ratio*x^2 && (w-x)*(h-y) < x*y ;Bottom z = -so*@shrinkouter3*@fn13(z)+flip(p)+@shiftouterv3 elseif x*y <= ratio*x^2 && (w-x)*(h-y) < x*y ;Right z = so*@shrinkouter3*@fn13(z)+p-@shiftouterh3 elseif x*y > ratio*x^2 && (w-x)*(h-y) > x*y ;Left z = -so*@shrinkouter3*@fn13(z)+p+@shiftouterh3 endif elseif @factor3*sqrt(|(a-x)^2/a^2-(b-y)^2/b^2|) > |ratio| z = zero(z)+p else ;inner if (x-@border3/2)*y <= ratio*(x-@border3/2)^2 && (w-x-@border3/2)*(h-y-@border3/2) > x*y ;Top z = -si*@shrink23*@fn23(z)-flip(p)+@shift23v elseif (x+@border3/2)*y > ratio*(x+@border3/2)^2 && (w-x+@border3/2)*(h-y+@border3/2) < x*y ;Bottom z = -si*@shrink23*@fn23(z)+flip(p)+@shift23v elseif x*(y+@border3/6) < ratio*x^2 && (w-x)*(h-y+@border3/6) < x*y ;Right z = si*@shrink23*@fn23(z)+p-@shift23h elseif x*(y-@border3/6) > ratio*x^2 && (w-x)*(h-y-@border3/6) > x*y ;Left z = -si*@shrink23*@fn23(z)+p+@shift23h endif endif endif bailout: |z| < 100000 default: title = "Curvacious" param Switch enum = "Point out" "Point in" default = 0 caption = "Switch in/out" endparam param look enum = "Parabolae1" "Parabolae2" "Hyperbolae1" "Hyperbolae2" default = 0 caption = "Change pattern" endparam ;0 heading caption = "CORNERS:" enabled = @look == 0 visible = @look == 0 endheading func fn10 caption = "X function" default = sqr() enabled = @look == 0 visible = @look == 0 endfunc float param shift20 caption = " - shift X" default = 1 enabled = @look == 0 visible = @look == 0 endparam float param shrink10 caption = " - shrink X" default = 5 enabled = @look == 0 visible = @look == 0 endparam func fn20 caption = "Non-X function" default = sqr() enabled = @look == 0 visible = @look == 0 endfunc float param shift10 caption = " - shift non-X" default = 1 enabled = @look == 0 visible = @look == 0 endparam float param shrink20 caption = " - shrink non-X" default = 5 enabled = @look == 0 visible = @look == 0 endparam heading caption = "CENTRE:" enabled = @look == 0 visible = @look == 0 endheading func centfn0 caption = " - function" default = sqr() enabled = @look == 0 visible = @look == 0 endfunc float param shrinkcentre0 caption = " - shrink" default = 1.5 enabled = @look == 0 visible = @look == 0 endparam float param shiftcentre0 caption = " - shift" default = 0 enabled = @look == 0 visible = @look == 0 endparam heading caption = "BORDERS:" enabled = @look == 0 visible = @look == 0 endheading float param border0 caption = " - thickness" default = 2 min = 0 enabled = @look == 0 visible = @look == 0 endparam func borderfn0 caption = " - function" default = recip() enabled = @look == 0 visible = @look == 0 endfunc float param shrinkb0 caption = " - shrink" default = 1 enabled = @look == 0 visible = @look == 0 endparam float param freq0 caption = " - move U/D" default = 0 max = 18 min = -10000 enabled = @look == 0 visible = @look == 0 endparam float param move0 caption = " - move L/R" default = 0 min = 0 enabled = @look == 0 visible = @look == 0 endparam ;1 heading caption = "BACKGROUND:" enabled = @look == 1 visible = @look == 1 endheading func fn11 caption = "X function" default = sqr() enabled = @look == 1 visible = @look == 1 endfunc float param shift21 caption = " - shift X" default = 1 enabled = @look == 1 visible = @look == 1 endparam float param shrink11 caption = " - shrink X" default = 5 enabled = @look == 1 visible = @look == 1 endparam func fn21 caption = "Non-X function" default = sqr() enabled = @look == 1 visible = @look == 1 endfunc float param shift11 caption = " - shift non-X" default = 1 enabled = @look == 1 visible = @look == 1 endparam float param shrink21 caption = " - shrink non-X" default = 5 enabled = @look == 1 visible = @look == 1 endparam heading caption = "CENTRE:" enabled = @look == 1 visible = @look == 1 endheading float param factor1 caption = "Distort" default = 1.68 enabled = @look == 1 visible = @look == 1 endparam func centfn1 caption = " - function" default = sqr() enabled = @look == 1 visible = @look == 1 endfunc float param shrinkcentre1 caption = " - shrink" default = 3 enabled = @look == 1 visible = @look == 1 endparam float param shiftcentre1 caption = " - shift" default = 0.4 enabled = @look == 1 visible = @look == 1 endparam heading caption = "BORDERS:" enabled = @look == 1 visible = @look == 1 endheading float param border1 caption = " - thickness" default = 2 min = 0 enabled = @look == 1 visible = @look == 1 endparam func borderfn1 caption = " - function" default = recip() enabled = @look == 1 visible = @look == 1 endfunc float param shrinkb1 caption = " - shrink" default = 1 enabled = @look == 1 visible = @look == 1 endparam float param freq1 caption = " - move U/D" default = 0 max = 18 min = -10000 enabled = @look == 1 visible = @look == 1 endparam float param move1 caption = " - move L/R" default = 10 min = 0 enabled = @look == 1 visible = @look == 1 endparam ;2 heading caption = "Outer" enabled = @look == 2 visible = @look == 2 endheading func fn12 caption = " - function" default = cos() enabled = @look == 2 visible = @look == 2 endfunc float param shrinkouter2 caption = " - shrink" default = 2 enabled = @look == 2 visible = @look == 2 endparam float param shiftouterv2 caption = " - vertical shift" default = -1 enabled = @look == 2 visible = @look == 2 endparam float param shiftouterh2 caption = " - horiz. shift" default = -1 enabled = @look == 2 visible = @look == 2 endparam heading caption = "Centre" enabled = @look == 2 visible = @look == 2 endheading func fn22 caption = " - function" default = sqr() enabled = @look == 2 visible = @look == 2 endfunc float param shrinkmiddle caption = " - shrink" default = 3 enabled = @look == 2 visible = @look == 2 endparam float param shiftmiddle caption = " - shift" default = 0.15 enabled = @look == 2 visible = @look == 2 endparam heading caption = "Hyperfactor:" enabled = @look == 2 visible = @look == 2 endheading float param factor2 caption = " - value" default = 4 enabled = @look == 2 visible = @look == 2 endparam ;3 heading caption = "Hyperfactor:" enabled = @look == 3 visible = @look == 3 endheading float param factor3 caption = " - value" default = 4 enabled = @look == 3 visible = @look == 3 endparam heading caption = "Outer" enabled = @look == 3 visible = @look == 3 endheading func fn13 caption = " - function" default = cos() enabled = @look == 3 visible = @look == 3 endfunc float param shrinkouter3 caption = " - shrink" default = 2 enabled = @look == 3 visible = @look == 3 endparam float param shiftouterv3 caption = " - vertical shift" default = -1 enabled = @look == 3 visible = @look == 3 endparam float param shiftouterh3 caption = " - horiz. shift" default = -1 enabled = @look == 3 visible = @look == 3 endparam heading caption = "Centre" enabled = @look == 3 visible = @look == 3 endheading func fn23 caption = " - function" default = sqr() enabled = @look == 3 visible = @look == 3 endfunc float param shrink23 caption = " - shrink" default = 4 enabled = @look == 3 visible = @look == 3 endparam float param shift23h caption = " - horiz. shift" default = 0.4 enabled = @look == 3 visible = @look == 3 endparam float param shift23v caption = " - vert. shift" default = 0.4 enabled = @look == 3 visible = @look == 3 endparam heading caption = "Borders" enabled = @look == 3 visible = @look == 3 endheading float param border3 caption = " - value" default = 4 min = 0 enabled = @look == 3 visible = @look == 3 endparam } Diag-Only { init: float w = #width/@checksH float h = #height/@checksV w2 = #width/2 h2 = #height/2 x1 = #x y1 = #y x = #x y = #y z = (0,0) complex p = #pixel float ratio = h/w if #width > #height && #width - #height > #height/3 float lti = 1.5 float ltr = #width/#height*lti else float ltr = 2 float lti = #height/#width*ltr endif loop: if @switch1 == 0 s1 = 1 else s1 = -1 endif if @switch2 == 0 s2 = 1 else s2 = -1 endif if y <= h*1 ;row 1 if x <= w*1 ;col 1 if (x-w*0)*(y+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h-y+@border/2) < (x-w*0)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 elseif x1 > w2 z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h-y-@border/2) > (x-w*0)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h-y+@border/2) < (x-w*0)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h-y-@border/2) > (x-w*0)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 ;col 2 if (x-w*1)*(y+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h-y+@border/2) < (x-w*1)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h-y-@border/2) > (x-w*1)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h-y+@border/2) < (x-w*1)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h-y-@border/2) > (x-w*1)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 ;col 3 if (x-w*2)*(y+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h-y+@border/2) < (x-w*2)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h-y-@border/2) > (x-w*2)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h-y+@border/2) < (x-w*2)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h-y-@border/2) > (x-w*2)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 ;col 4 if (x-w*3)*(y+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h-y+@border/2) < (x-w*3)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h-y-@border/2) > (x-w*3)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h-y+@border/2) < (x-w*3)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h-y-@border/2) > (x-w*3)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 ;col 5 if (x-w*4)*(y+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h-y+@border/2) < (x-w*4)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h-y-@border/2) > (x-w*4)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h-y+@border/2) < (x-w*4)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h-y-@border/2) > (x-w*4)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 ;col 6 if (x-w*5)*(y+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h-y+@border/2) < (x-w*5)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h-y-@border/2) > (x-w*5)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h-y+@border/2) < (x-w*5)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h-y-@border/2) > (x-w*5)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 ;col 7 if (x-w*6)*(y+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h-y+@border/2) < (x-w*6)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h-y-@border/2) > (x-w*6)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h-y+@border/2) < (x-w*6)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h-y-@border/2) > (x-w*6)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 ;col 8 if (x-w*7)*(y+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h-y+@border/2) < (x-w*7)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h-y-@border/2) > (x-w*7)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h-y+@border/2) < (x-w*7)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h-y-@border/2) > (x-w*7)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 ;col 9 if (x-w*8)*(y+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h-y+@border/2) < (x-w*8)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h-y-@border/2) > (x-w*8)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h-y+@border/2) < (x-w*8)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h-y-@border/2) > (x-w*8)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 ;col 10 if (x-w*9)*(y+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h-y+@border/2) < (x-w*9)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h-y-@border/2) > (x-w*9)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h-y+@border/2) < (x-w*9)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h-y-@border/2) > (x-w*9)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 ;col 11 if (x-w*10)*(y+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h-y+@border/2) < (x-w*10)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h-y-@border/2) > (x-w*10)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h-y+@border/2) < (x-w*10)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h-y-@border/2) > (x-w*10)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 ;col 12 if (x-w*11)*(y+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h-y+@border/2) < (x-w*11)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h-y-@border/2) > (x-w*11)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h-y+@border/2) < (x-w*11)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h-y-@border/2) > (x-w*11)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 ;col 13 if (x-w*12)*(y+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h-y+@border/2) < (x-w*12)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h-y-@border/2) > (x-w*12)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h-y+@border/2) < (x-w*12)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h-y-@border/2) > (x-w*12)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 ;col 14 if (x-w*13)*(y+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h-y+@border/2) < (x-w*13)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h-y-@border/2) > (x-w*13)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h-y+@border/2) < (x-w*13)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h-y-@border/2) > (x-w*13)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 ;col 15 if (x-w*14)*(y+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h-y+@border/2) < (x-w*14)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h-y-@border/2) > (x-w*14)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h-y+@border/2) < (x-w*14)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h-y-@border/2) > (x-w*14)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 ;col 16 if (x-w*15)*(y+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h-y+@border/2) < (x-w*15)*(y-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h-y-@border/2) > (x-w*15)*(y+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h-y+@border/2) < (x-w*15)*(y-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h-y-@border/2) > (x-w*15)*(y+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*1 && y <= h*2 ;row 2 if x <= w*1 if (x-w*0)*(y-h+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*2-y+@border/2) < (x-w*0)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*2-y-@border/2) > (x-w*0)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*2-y+@border/2) < (x-w*0)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*2-y-@border/2) > (x-w*0)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*2-y+@border/2) < (x-w*1)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*2-y-@border/2) > (x-w*1)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*2-y+@border/2) < (x-w*1)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*2-y-@border/2) > (x-w*1)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*2-y+@border/2) < (x-w*2)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*2-y-@border/2) > (x-w*2)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*2-y+@border/2) < (x-w*2)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*2-y-@border/2) > (x-w*2)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*2-y+@border/2) < (x-w*3)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*2-y-@border/2) > (x-w*3)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*2-y+@border/2) < (x-w*3)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*2-y-@border/2) > (x-w*3)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*2-y+@border/2) < (x-w*4)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*2-y-@border/2) > (x-w*4)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*2-y+@border/2) < (x-w*4)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*2-y-@border/2) > (x-w*4)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*2-y+@border/2) < (x-w*5)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*2-y-@border/2) > (x-w*5)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*2-y+@border/2) < (x-w*5)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*2-y-@border/2) > (x-w*5)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*2-y+@border/2) < (x-w*6)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*2-y-@border/2) > (x-w*6)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*2-y+@border/2) < (x-w*6)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*2-y-@border/2) > (x-w*6)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*2-y+@border/2) < (x-w*7)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*2-y-@border/2) > (x-w*7)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*2-y+@border/2) < (x-w*7)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*2-y-@border/2) > (x-w*7)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*2-y+@border/2) < (x-w*8)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*2-y-@border/2) > (x-w*8)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*2-y+@border/2) < (x-w*8)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*2-y-@border/2) > (x-w*8)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*2-y+@border/2) < (x-w*9)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*2-y-@border/2) > (x-w*9)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*2-y+@border/2) < (x-w*9)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*2-y-@border/2) > (x-w*9)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*2-y+@border/2) < (x-w*10)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*2-y-@border/2) > (x-w*10)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*2-y+@border/2) < (x-w*10)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*2-y-@border/2) > (x-w*10)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*2-y+@border/2) < (x-w*11)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*2-y-@border/2) > (x-w*11)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*2-y+@border/2) < (x-w*11)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*2-y-@border/2) > (x-w*11)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*2-y+@border/2) < (x-w*12)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*2-y-@border/2) > (x-w*12)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*2-y+@border/2) < (x-w*12)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*2-y-@border/2) > (x-w*12)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*2-y+@border/2) < (x-w*13)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*2-y-@border/2) > (x-w*13)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*2-y+@border/2) < (x-w*13)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*2-y-@border/2) > (x-w*13)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*2-y+@border/2) < (x-w*14)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*2-y-@border/2) > (x-w*14)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*2-y+@border/2) < (x-w*14)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*2-y-@border/2) > (x-w*14)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*2-y+@border/2) < (x-w*15)*(y-h-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*2-y-@border/2) > (x-w*15)*(y-h+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*2-y+@border/2) < (x-w*15)*(y-h-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*2-y-@border/2) > (x-w*15)*(y-h+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*2 && y <= h*3 ;row 3 if x <= w*1 if (x-w*0)*(y-h*2+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*3-y+@border/2) < (x-w*0)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*2+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*3-y-@border/2) > (x-w*0)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*2-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*3-y+@border/2) < (x-w*0)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*2-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*3-y-@border/2) > (x-w*0)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*2+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*3-y+@border/2) < (x-w*1)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*2+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*3-y-@border/2) > (x-w*1)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*2-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*3-y+@border/2) < (x-w*1)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*2-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*3-y-@border/2) > (x-w*1)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*2+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*3-y+@border/2) < (x-w*2)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*2+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*3-y-@border/2) > (x-w*2)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*2-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*3-y+@border/2) < (x-w*2)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*2-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*3-y-@border/2) > (x-w*2)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*2+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*3-y+@border/2) < (x-w*3)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*2+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*3-y-@border/2) > (x-w*3)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*2-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*3-y+@border/2) < (x-w*3)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*2-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*3-y-@border/2) > (x-w*3)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*2+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*3-y+@border/2) < (x-w*4)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*2+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*3-y-@border/2) > (x-w*4)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*2-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*3-y+@border/2) < (x-w*4)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*2-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*3-y-@border/2) > (x-w*4)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*2+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*3-y+@border/2) < (x-w*5)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*2+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*3-y-@border/2) > (x-w*5)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*2-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*3-y+@border/2) < (x-w*5)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*2-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*3-y-@border/2) > (x-w*5)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*2+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*3-y+@border/2) < (x-w*6)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*2+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*3-y-@border/2) > (x-w*6)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*2-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*3-y+@border/2) < (x-w*6)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*2-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*3-y-@border/2) > (x-w*6)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*2+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*3-y+@border/2) < (x-w*7)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*2+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*3-y-@border/2) > (x-w*7)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*2-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*3-y+@border/2) < (x-w*7)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*2-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*3-y-@border/2) > (x-w*7)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*2+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*3-y+@border/2) < (x-w*8)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*2+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*3-y-@border/2) > (x-w*8)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*2-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*3-y+@border/2) < (x-w*8)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*2-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*3-y-@border/2) > (x-w*8)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*2+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*3-y+@border/2) < (x-w*9)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*2+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*3-y-@border/2) > (x-w*9)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*2-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*3-y+@border/2) < (x-w*9)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*2-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*3-y-@border/2) > (x-w*9)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*2+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*3-y+@border/2) < (x-w*10)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*2+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*3-y-@border/2) > (x-w*10)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*2-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*3-y+@border/2) < (x-w*10)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*2-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*3-y-@border/2) > (x-w*10)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*2+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*3-y+@border/2) < (x-w*11)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*2+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*3-y-@border/2) > (x-w*11)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*2-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*3-y+@border/2) < (x-w*11)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*2-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*3-y-@border/2) > (x-w*11)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*2+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*3-y+@border/2) < (x-w*12)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*2+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*3-y-@border/2) > (x-w*12)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*2-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*3-y+@border/2) < (x-w*12)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*2-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*3-y-@border/2) > (x-w*12)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*2+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*3-y+@border/2) < (x-w*13)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*2+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*3-y-@border/2) > (x-w*13)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*2-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*3-y+@border/2) < (x-w*13)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*2-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*3-y-@border/2) > (x-w*13)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*2+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*3-y+@border/2) < (x-w*14)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*2+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*3-y-@border/2) > (x-w*14)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*2-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*3-y+@border/2) < (x-w*14)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*2-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*3-y-@border/2) > (x-w*14)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*2+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*3-y+@border/2) < (x-w*15)*(y-h*2-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*2+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*3-y-@border/2) > (x-w*15)*(y-h*2+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*2-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*3-y+@border/2) < (x-w*15)*(y-h*2-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*2-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*3-y-@border/2) > (x-w*15)*(y-h*2+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*3 && y <= h*4 ;row 4 if x <= w*1 if (x-w*0)*(y-h*3+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*4-y+@border/2) < (x-w*0)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*3+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*4-y-@border/2) > (x-w*0)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*3-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*4-y+@border/2) < (x-w*0)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*3-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*4-y-@border/2) > (x-w*0)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*3+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*4-y+@border/2) < (x-w*1)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*3+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*4-y-@border/2) > (x-w*1)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*3-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*4-y+@border/2) < (x-w*1)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*3-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*4-y-@border/2) > (x-w*1)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*3+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*4-y+@border/2) < (x-w*2)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*3+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*4-y-@border/2) > (x-w*2)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*3-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*4-y+@border/2) < (x-w*2)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*3-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*4-y-@border/2) > (x-w*2)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*3+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*4-y+@border/2) < (x-w*3)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*3+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*4-y-@border/2) > (x-w*3)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*3-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*4-y+@border/2) < (x-w*3)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*3-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*4-y-@border/2) > (x-w*3)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*3+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*4-y+@border/2) < (x-w*4)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*3+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*4-y-@border/2) > (x-w*4)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*3-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*4-y+@border/2) < (x-w*4)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*3-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*4-y-@border/2) > (x-w*4)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*3+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*4-y+@border/2) < (x-w*5)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*3+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*4-y-@border/2) > (x-w*5)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*3-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*4-y+@border/2) < (x-w*5)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*3-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*4-y-@border/2) > (x-w*5)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*3+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*4-y+@border/2) < (x-w*6)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*3+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*4-y-@border/2) > (x-w*6)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*3-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*4-y+@border/2) < (x-w*6)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*3-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*4-y-@border/2) > (x-w*6)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*3+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*4-y+@border/2) < (x-w*7)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*3+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*4-y-@border/2) > (x-w*7)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*3-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*4-y+@border/2) < (x-w*7)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*3-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*4-y-@border/2) > (x-w*7)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*3+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*4-y+@border/2) < (x-w*8)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*3+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*4-y-@border/2) > (x-w*8)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*3-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*4-y+@border/2) < (x-w*8)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*3-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*4-y-@border/2) > (x-w*8)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*3+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*4-y+@border/2) < (x-w*9)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*3+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*4-y-@border/2) > (x-w*9)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*3-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*4-y+@border/2) < (x-w*9)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*3-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*4-y-@border/2) > (x-w*9)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*3+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*4-y+@border/2) < (x-w*10)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*3+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*4-y-@border/2) > (x-w*10)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*3-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*4-y+@border/2) < (x-w*10)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*3-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*4-y-@border/2) > (x-w*10)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*3+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*4-y+@border/2) < (x-w*11)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*3+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*4-y-@border/2) > (x-w*11)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*3-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*4-y+@border/2) < (x-w*11)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*3-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*4-y-@border/2) > (x-w*11)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*3+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*4-y+@border/2) < (x-w*12)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*3+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*4-y-@border/2) > (x-w*12)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*3-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*4-y+@border/2) < (x-w*12)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*3-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*4-y-@border/2) > (x-w*12)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*3+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*4-y+@border/2) < (x-w*13)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*3+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*4-y-@border/2) > (x-w*13)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*3-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*4-y+@border/2) < (x-w*13)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*3-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*4-y-@border/2) > (x-w*13)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*3+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*4-y+@border/2) < (x-w*14)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*3+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*4-y-@border/2) > (x-w*14)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*3-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*4-y+@border/2) < (x-w*14)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*3-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*4-y-@border/2) > (x-w*14)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*3+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*4-y+@border/2) < (x-w*15)*(y-h*3-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*3+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*4-y-@border/2) > (x-w*15)*(y-h*3+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*3-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*4-y+@border/2) < (x-w*15)*(y-h*3-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*3-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*4-y-@border/2) > (x-w*15)*(y-h*3+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*4 && y <= h*5 ;row 5 if x <= w*1 if (x-w*0)*(y-h*4+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*5-y+@border/2) < (x-w*0)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*4+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*5-y-@border/2) > (x-w*0)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*4-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*5-y+@border/2) < (x-w*0)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*4-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*5-y-@border/2) > (x-w*0)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*4+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*5-y+@border/2) < (x-w*1)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*4+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*5-y-@border/2) > (x-w*1)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*4-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*5-y+@border/2) < (x-w*1)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*4-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*5-y-@border/2) > (x-w*1)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*4+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*5-y+@border/2) < (x-w*2)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*4+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*5-y-@border/2) > (x-w*2)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*4-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*5-y+@border/2) < (x-w*2)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*4-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*5-y-@border/2) > (x-w*2)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*4+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*5-y+@border/2) < (x-w*3)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*4+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*5-y-@border/2) > (x-w*3)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*4-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*5-y+@border/2) < (x-w*3)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*4-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*5-y-@border/2) > (x-w*3)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*4+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*5-y+@border/2) < (x-w*4)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*4+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*5-y-@border/2) > (x-w*4)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*4-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*5-y+@border/2) < (x-w*4)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*4-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*5-y-@border/2) > (x-w*4)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*4+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*5-y+@border/2) < (x-w*5)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*4+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*5-y-@border/2) > (x-w*5)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*4-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*5-y+@border/2) < (x-w*5)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*4-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*5-y-@border/2) > (x-w*5)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*4+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*5-y+@border/2) < (x-w*6)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*4+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*5-y-@border/2) > (x-w*6)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*4-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*5-y+@border/2) < (x-w*6)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*4-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*5-y-@border/2) > (x-w*6)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*4+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*5-y+@border/2) < (x-w*7)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*4+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*5-y-@border/2) > (x-w*7)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*4-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*5-y+@border/2) < (x-w*7)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*4-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*5-y-@border/2) > (x-w*7)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*4+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*5-y+@border/2) < (x-w*8)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*4+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*5-y-@border/2) > (x-w*8)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*4-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*5-y+@border/2) < (x-w*8)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*4-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*5-y-@border/2) > (x-w*8)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*4+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*5-y+@border/2) < (x-w*9)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*4+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*5-y-@border/2) > (x-w*9)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*4-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*5-y+@border/2) < (x-w*9)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*4-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*5-y-@border/2) > (x-w*9)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*4+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*5-y+@border/2) < (x-w*10)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*4+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*5-y-@border/2) > (x-w*10)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*4-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*5-y+@border/2) < (x-w*10)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*4-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*5-y-@border/2) > (x-w*10)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*4+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*5-y+@border/2) < (x-w*11)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*4+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*5-y-@border/2) > (x-w*11)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*4-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*5-y+@border/2) < (x-w*11)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*4-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*5-y-@border/2) > (x-w*11)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*4+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*5-y+@border/2) < (x-w*12)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*4+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*5-y-@border/2) > (x-w*12)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*4-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*5-y+@border/2) < (x-w*12)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*4-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*5-y-@border/2) > (x-w*12)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*4+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*5-y+@border/2) < (x-w*13)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*4+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*5-y-@border/2) > (x-w*13)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*4-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*5-y+@border/2) < (x-w*13)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*4-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*5-y-@border/2) > (x-w*13)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*4+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*5-y+@border/2) < (x-w*14)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*4+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*5-y-@border/2) > (x-w*14)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*4-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*5-y+@border/2) < (x-w*14)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*4-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*5-y-@border/2) > (x-w*14)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*4+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*5-y+@border/2) < (x-w*15)*(y-h*4-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*4+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*5-y-@border/2) > (x-w*15)*(y-h*4+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*4-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*5-y+@border/2) < (x-w*15)*(y-h*4-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*4-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*5-y-@border/2) > (x-w*15)*(y-h*4+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*5 && y <= h*6 ;row 6 if x <= w*1 if (x-w*0)*(y-h*5+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*6-y+@border/2) < (x-w*0)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*5+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*6-y-@border/2) > (x-w*0)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*5-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*6-y+@border/2) < (x-w*0)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*5-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*6-y-@border/2) > (x-w*0)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*5+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*6-y+@border/2) < (x-w*1)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*5+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*6-y-@border/2) > (x-w*1)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*5-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*6-y+@border/2) < (x-w*1)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*5-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*6-y-@border/2) > (x-w*1)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*5+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*6-y+@border/2) < (x-w*2)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*5+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*6-y-@border/2) > (x-w*2)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*5-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*6-y+@border/2) < (x-w*2)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*5-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*6-y-@border/2) > (x-w*2)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*5+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*6-y+@border/2) < (x-w*3)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*5+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*6-y-@border/2) > (x-w*3)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*5-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*6-y+@border/2) < (x-w*3)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*5-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*6-y-@border/2) > (x-w*3)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*5+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*6-y+@border/2) < (x-w*4)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*5+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*6-y-@border/2) > (x-w*4)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*5-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*6-y+@border/2) < (x-w*4)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*5-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*6-y-@border/2) > (x-w*4)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*5+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*6-y+@border/2) < (x-w*5)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*5+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*6-y-@border/2) > (x-w*5)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*5-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*6-y+@border/2) < (x-w*5)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*5-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*6-y-@border/2) > (x-w*5)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*5+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*6-y+@border/2) < (x-w*6)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*5+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*6-y-@border/2) > (x-w*6)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*5-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*6-y+@border/2) < (x-w*6)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*5-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*6-y-@border/2) > (x-w*6)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*5+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*6-y+@border/2) < (x-w*7)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*5+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*6-y-@border/2) > (x-w*7)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*5-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*6-y+@border/2) < (x-w*7)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*5-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*6-y-@border/2) > (x-w*7)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*5+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*6-y+@border/2) < (x-w*8)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*5+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*6-y-@border/2) > (x-w*8)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*5-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*6-y+@border/2) < (x-w*8)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*5-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*6-y-@border/2) > (x-w*8)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*5+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*6-y+@border/2) < (x-w*9)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*5+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*6-y-@border/2) > (x-w*9)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*5-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*6-y+@border/2) < (x-w*9)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*5-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*6-y-@border/2) > (x-w*9)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*5+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*6-y+@border/2) < (x-w*10)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*5+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*6-y-@border/2) > (x-w*10)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*5-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*6-y+@border/2) < (x-w*10)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*5-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*6-y-@border/2) > (x-w*10)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*5+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*6-y+@border/2) < (x-w*11)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*5+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*6-y-@border/2) > (x-w*11)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*5-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*6-y+@border/2) < (x-w*11)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*5-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*6-y-@border/2) > (x-w*11)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*5+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*6-y+@border/2) < (x-w*12)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*5+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*6-y-@border/2) > (x-w*12)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*5-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*6-y+@border/2) < (x-w*12)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*5-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*6-y-@border/2) > (x-w*12)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*5+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*6-y+@border/2) < (x-w*13)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*5+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*6-y-@border/2) > (x-w*13)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*5-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*6-y+@border/2) < (x-w*13)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*5-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*6-y-@border/2) > (x-w*13)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*5+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*6-y+@border/2) < (x-w*14)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*5+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*6-y-@border/2) > (x-w*14)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*5-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*6-y+@border/2) < (x-w*14)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*5-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*6-y-@border/2) > (x-w*14)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*5+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*6-y+@border/2) < (x-w*15)*(y-h*5-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*5+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*6-y-@border/2) > (x-w*15)*(y-h*5+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*5-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*6-y+@border/2) < (x-w*15)*(y-h*5-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*5-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*6-y-@border/2) > (x-w*15)*(y-h*5+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*6 && y <= h*7 ;row 7 if x <= w*1 if (x-w*0)*(y-h*6+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*7-y+@border/2) < (x-w*0)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*6+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*7-y-@border/2) > (x-w*0)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*6-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*7-y+@border/2) < (x-w*0)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*6-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*7-y-@border/2) > (x-w*0)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*6+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*7-y+@border/2) < (x-w*1)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*6+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*7-y-@border/2) > (x-w*1)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*6-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*7-y+@border/2) < (x-w*1)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*6-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*7-y-@border/2) > (x-w*1)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*6+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*7-y+@border/2) < (x-w*2)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*6+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*7-y-@border/2) > (x-w*2)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*6-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*7-y+@border/2) < (x-w*2)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*6-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*7-y-@border/2) > (x-w*2)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*6+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*7-y+@border/2) < (x-w*3)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*6+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*7-y-@border/2) > (x-w*3)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*6-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*7-y+@border/2) < (x-w*3)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*6-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*7-y-@border/2) > (x-w*3)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*6+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*7-y+@border/2) < (x-w*4)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*6+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*7-y-@border/2) > (x-w*4)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*6-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*7-y+@border/2) < (x-w*4)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*6-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*7-y-@border/2) > (x-w*4)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*6+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*7-y+@border/2) < (x-w*5)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*6+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*7-y-@border/2) > (x-w*5)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*6-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*7-y+@border/2) < (x-w*5)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*6-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*7-y-@border/2) > (x-w*5)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*6+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*7-y+@border/2) < (x-w*6)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*6+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*7-y-@border/2) > (x-w*6)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*6-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*7-y+@border/2) < (x-w*6)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*6-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*7-y-@border/2) > (x-w*6)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*6+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*7-y+@border/2) < (x-w*7)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*6+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*7-y-@border/2) > (x-w*7)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*6-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*7-y+@border/2) < (x-w*7)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*6-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*7-y-@border/2) > (x-w*7)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*6+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*7-y+@border/2) < (x-w*8)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*6+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*7-y-@border/2) > (x-w*8)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*6-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*7-y+@border/2) < (x-w*8)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*6-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*7-y-@border/2) > (x-w*8)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*6+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*7-y+@border/2) < (x-w*9)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*6+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*7-y-@border/2) > (x-w*9)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*6-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*7-y+@border/2) < (x-w*9)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*6-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*7-y-@border/2) > (x-w*9)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*6+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*7-y+@border/2) < (x-w*10)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*6+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*7-y-@border/2) > (x-w*10)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*6-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*7-y+@border/2) < (x-w*10)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*6-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*7-y-@border/2) > (x-w*10)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*6+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*7-y+@border/2) < (x-w*11)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*6+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*7-y-@border/2) > (x-w*11)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*6-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*7-y+@border/2) < (x-w*11)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*6-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*7-y-@border/2) > (x-w*11)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*6+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*7-y+@border/2) < (x-w*12)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*6+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*7-y-@border/2) > (x-w*12)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*6-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*7-y+@border/2) < (x-w*12)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*6-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*7-y-@border/2) > (x-w*12)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*6+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*7-y+@border/2) < (x-w*13)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*6+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*7-y-@border/2) > (x-w*13)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*6-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*7-y+@border/2) < (x-w*13)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*6-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*7-y-@border/2) > (x-w*13)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*6+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*7-y+@border/2) < (x-w*14)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*6+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*7-y-@border/2) > (x-w*14)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*6-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*7-y+@border/2) < (x-w*14)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*6-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*7-y-@border/2) > (x-w*14)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*6+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*7-y+@border/2) < (x-w*15)*(y-h*6-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*6+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*7-y-@border/2) > (x-w*15)*(y-h*6+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*6-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*7-y+@border/2) < (x-w*15)*(y-h*6-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*6-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*7-y-@border/2) > (x-w*15)*(y-h*6+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*7 && y <= h*8 ;row 8 if x <= w*1 if (x-w*0)*(y-h*7+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*8-y+@border/2) < (x-w*0)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*7+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*8-y-@border/2) > (x-w*0)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*7-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*8-y+@border/2) < (x-w*0)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*7-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*8-y-@border/2) > (x-w*0)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*7+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*8-y+@border/2) < (x-w*1)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*7+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*8-y-@border/2) > (x-w*1)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*7-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*8-y+@border/2) < (x-w*1)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*7-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*8-y-@border/2) > (x-w*1)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*7+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*8-y+@border/2) < (x-w*2)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*7+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*8-y-@border/2) > (x-w*2)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*7-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*8-y+@border/2) < (x-w*2)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*7-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*8-y-@border/2) > (x-w*2)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*7+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*8-y+@border/2) < (x-w*3)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*7+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*8-y-@border/2) > (x-w*3)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*7-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*8-y+@border/2) < (x-w*3)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*7-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*8-y-@border/2) > (x-w*3)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*7+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*8-y+@border/2) < (x-w*4)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*7+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*8-y-@border/2) > (x-w*4)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*7-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*8-y+@border/2) < (x-w*4)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*7-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*8-y-@border/2) > (x-w*4)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*7+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*8-y+@border/2) < (x-w*5)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*7+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*8-y-@border/2) > (x-w*5)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*7-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*8-y+@border/2) < (x-w*5)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*7-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*8-y-@border/2) > (x-w*5)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*7+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*8-y+@border/2) < (x-w*6)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*7+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*8-y-@border/2) > (x-w*6)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*7-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*8-y+@border/2) < (x-w*6)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*7-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*8-y-@border/2) > (x-w*6)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*7+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*8-y+@border/2) < (x-w*7)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*7+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*8-y-@border/2) > (x-w*7)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*7-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*8-y+@border/2) < (x-w*7)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*7-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*8-y-@border/2) > (x-w*7)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*7+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*8-y+@border/2) < (x-w*8)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*7+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*8-y-@border/2) > (x-w*8)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*7-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*8-y+@border/2) < (x-w*8)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*7-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*8-y-@border/2) > (x-w*8)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*7+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*8-y+@border/2) < (x-w*9)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*7+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*8-y-@border/2) > (x-w*9)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*7-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*8-y+@border/2) < (x-w*9)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*7-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*8-y-@border/2) > (x-w*9)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*7+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*8-y+@border/2) < (x-w*10)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*7+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*8-y-@border/2) > (x-w*10)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*7-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*8-y+@border/2) < (x-w*10)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*7-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*8-y-@border/2) > (x-w*10)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*7+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*8-y+@border/2) < (x-w*11)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*7+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*8-y-@border/2) > (x-w*11)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*7-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*8-y+@border/2) < (x-w*11)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*7-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*8-y-@border/2) > (x-w*11)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*7+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*8-y+@border/2) < (x-w*12)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*7+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*8-y-@border/2) > (x-w*12)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*7-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*8-y+@border/2) < (x-w*12)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*7-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*8-y-@border/2) > (x-w*12)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*7+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*8-y+@border/2) < (x-w*13)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*7+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*8-y-@border/2) > (x-w*13)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*7-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*8-y+@border/2) < (x-w*13)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*7-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*8-y-@border/2) > (x-w*13)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*7+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*8-y+@border/2) < (x-w*14)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*7+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*8-y-@border/2) > (x-w*14)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*7-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*8-y+@border/2) < (x-w*14)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*7-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*8-y-@border/2) > (x-w*14)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*7+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*8-y+@border/2) < (x-w*15)*(y-h*7-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*7+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*8-y-@border/2) > (x-w*15)*(y-h*7+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*7-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*8-y+@border/2) < (x-w*15)*(y-h*7-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*7-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*8-y-@border/2) > (x-w*15)*(y-h*7+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*8 && y <= h*9 ;row 9 if x <= w*1 if (x-w*0)*(y-h*8+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*9-y+@border/2) < (x-w*0)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*8+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*9-y-@border/2) > (x-w*0)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*8-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*9-y+@border/2) < (x-w*0)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*8-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*9-y-@border/2) > (x-w*0)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*8+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*9-y+@border/2) < (x-w*1)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*8+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*9-y-@border/2) > (x-w*1)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*8-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*9-y+@border/2) < (x-w*1)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*8-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*9-y-@border/2) > (x-w*1)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*8+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*9-y+@border/2) < (x-w*2)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*8+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*9-y-@border/2) > (x-w*2)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*8-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*9-y+@border/2) < (x-w*2)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*8-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*9-y-@border/2) > (x-w*2)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*8+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*9-y+@border/2) < (x-w*3)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*8+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*9-y-@border/2) > (x-w*3)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*8-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*9-y+@border/2) < (x-w*3)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*8-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*9-y-@border/2) > (x-w*3)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*8+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*9-y+@border/2) < (x-w*4)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*8+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*9-y-@border/2) > (x-w*4)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*8-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*9-y+@border/2) < (x-w*4)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*8-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*9-y-@border/2) > (x-w*4)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*8+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*9-y+@border/2) < (x-w*5)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*8+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*9-y-@border/2) > (x-w*5)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*8-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*9-y+@border/2) < (x-w*5)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*8-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*9-y-@border/2) > (x-w*5)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*8+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*9-y+@border/2) < (x-w*6)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*8+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*9-y-@border/2) > (x-w*6)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*8-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*9-y+@border/2) < (x-w*6)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*8-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*9-y-@border/2) > (x-w*6)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*8+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*9-y+@border/2) < (x-w*7)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*8+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*9-y-@border/2) > (x-w*7)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*8-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*9-y+@border/2) < (x-w*7)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*8-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*9-y-@border/2) > (x-w*7)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*8+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*9-y+@border/2) < (x-w*8)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*8+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*9-y-@border/2) > (x-w*8)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*8-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*9-y+@border/2) < (x-w*8)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*8-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*9-y-@border/2) > (x-w*8)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*8+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*9-y+@border/2) < (x-w*9)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*8+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*9-y-@border/2) > (x-w*9)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*8-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*9-y+@border/2) < (x-w*9)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*8-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*9-y-@border/2) > (x-w*9)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*8+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*9-y+@border/2) < (x-w*10)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*8+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*9-y-@border/2) > (x-w*10)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*8-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*9-y+@border/2) < (x-w*10)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*8-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*9-y-@border/2) > (x-w*10)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*8+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*9-y+@border/2) < (x-w*11)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*8+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*9-y-@border/2) > (x-w*11)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*8-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*9-y+@border/2) < (x-w*11)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*8-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*9-y-@border/2) > (x-w*11)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*8+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*9-y+@border/2) < (x-w*12)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*8+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*9-y-@border/2) > (x-w*12)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*8-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*9-y+@border/2) < (x-w*12)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*8-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*9-y-@border/2) > (x-w*12)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*8+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*9-y+@border/2) < (x-w*13)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*8+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*9-y-@border/2) > (x-w*13)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*8-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*9-y+@border/2) < (x-w*13)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*8-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*9-y-@border/2) > (x-w*13)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*8+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*9-y+@border/2) < (x-w*14)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*8+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*9-y-@border/2) > (x-w*14)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*8-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*9-y+@border/2) < (x-w*14)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*8-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*9-y-@border/2) > (x-w*14)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*8+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*9-y+@border/2) < (x-w*15)*(y-h*8-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*8+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*9-y-@border/2) > (x-w*15)*(y-h*8+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*8-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*9-y+@border/2) < (x-w*15)*(y-h*8-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*8-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*9-y-@border/2) > (x-w*15)*(y-h*8+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*9 && y <= h*10 ;row 10 if x <= w*1 if (x-w*0)*(y-h*9+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*10-y+@border/2) < (x-w*0)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*9+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*10-y-@border/2) > (x-w*0)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*9-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*10-y+@border/2) < (x-w*0)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*9-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*10-y-@border/2) > (x-w*0)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*9+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*10-y+@border/2) < (x-w*1)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*9+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*10-y-@border/2) > (x-w*1)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*9-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*10-y+@border/2) < (x-w*1)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*9-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*10-y-@border/2) > (x-w*1)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*9+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*10-y+@border/2) < (x-w*2)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*9+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*10-y-@border/2) > (x-w*2)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*9-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*10-y+@border/2) < (x-w*2)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*9-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*10-y-@border/2) > (x-w*2)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*9+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*10-y+@border/2) < (x-w*3)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*9+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*10-y-@border/2) > (x-w*3)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*9-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*10-y+@border/2) < (x-w*3)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*9-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*10-y-@border/2) > (x-w*3)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*9+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*10-y+@border/2) < (x-w*4)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*9+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*10-y-@border/2) > (x-w*4)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*9-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*10-y+@border/2) < (x-w*4)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*9-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*10-y-@border/2) > (x-w*4)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*9+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*10-y+@border/2) < (x-w*5)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*9+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*10-y-@border/2) > (x-w*5)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*9-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*10-y+@border/2) < (x-w*5)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*9-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*10-y-@border/2) > (x-w*5)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*9+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*10-y+@border/2) < (x-w*6)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*9+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*10-y-@border/2) > (x-w*6)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*9-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*10-y+@border/2) < (x-w*6)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*9-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*10-y-@border/2) > (x-w*6)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*9+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*10-y+@border/2) < (x-w*7)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*9+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*10-y-@border/2) > (x-w*7)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*9-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*10-y+@border/2) < (x-w*7)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*9-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*10-y-@border/2) > (x-w*7)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*9+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*10-y+@border/2) < (x-w*8)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*9+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*10-y-@border/2) > (x-w*8)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*9-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*10-y+@border/2) < (x-w*8)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*9-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*10-y-@border/2) > (x-w*8)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*9+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*10-y+@border/2) < (x-w*9)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*9+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*10-y-@border/2) > (x-w*9)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*9-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*10-y+@border/2) < (x-w*9)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*9-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*10-y-@border/2) > (x-w*9)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*9+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*10-y+@border/2) < (x-w*10)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*9+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*10-y-@border/2) > (x-w*10)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*9-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*10-y+@border/2) < (x-w*10)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*9-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*10-y-@border/2) > (x-w*10)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*9+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*10-y+@border/2) < (x-w*11)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*9+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*10-y-@border/2) > (x-w*11)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*9-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*10-y+@border/2) < (x-w*11)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*9-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*10-y-@border/2) > (x-w*11)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*9+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*10-y+@border/2) < (x-w*12)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*9+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*10-y-@border/2) > (x-w*12)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*9-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*10-y+@border/2) < (x-w*12)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*9-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*10-y-@border/2) > (x-w*12)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*9+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*10-y+@border/2) < (x-w*13)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*9+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*10-y-@border/2) > (x-w*13)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*9-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*10-y+@border/2) < (x-w*13)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*9-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*10-y-@border/2) > (x-w*13)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*9+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*10-y+@border/2) < (x-w*14)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*9+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*10-y-@border/2) > (x-w*14)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*9-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*10-y+@border/2) < (x-w*14)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*9-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*10-y-@border/2) > (x-w*14)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*9+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*10-y+@border/2) < (x-w*15)*(y-h*9-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*9+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*10-y-@border/2) > (x-w*15)*(y-h*9+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*9-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*10-y+@border/2) < (x-w*15)*(y-h*9-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*9-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*10-y-@border/2) > (x-w*15)*(y-h*9+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*10 && y <= h*11 ;row 11 if x <= w*1 if (x-w*0)*(y-h*10+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*11-y+@border/2) < (x-w*0)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*10+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*11-y-@border/2) > (x-w*0)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*10-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*11-y+@border/2) < (x-w*0)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*10-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*11-y-@border/2) > (x-w*0)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*10+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*11-y+@border/2) < (x-w*1)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*10+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*11-y-@border/2) > (x-w*1)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*10-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*11-y+@border/2) < (x-w*1)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*10-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*11-y-@border/2) > (x-w*1)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*10+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*11-y+@border/2) < (x-w*2)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*10+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*11-y-@border/2) > (x-w*2)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*10-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*11-y+@border/2) < (x-w*2)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*10-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*11-y-@border/2) > (x-w*2)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*10+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*11-y+@border/2) < (x-w*3)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*10+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*11-y-@border/2) > (x-w*3)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*10-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*11-y+@border/2) < (x-w*3)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*10-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*11-y-@border/2) > (x-w*3)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*10+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*11-y+@border/2) < (x-w*4)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*10+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*11-y-@border/2) > (x-w*4)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*10-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*11-y+@border/2) < (x-w*4)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*10-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*11-y-@border/2) > (x-w*4)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*10+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*11-y+@border/2) < (x-w*5)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*10+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*11-y-@border/2) > (x-w*5)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*10-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*11-y+@border/2) < (x-w*5)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*10-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*11-y-@border/2) > (x-w*5)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*10+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*11-y+@border/2) < (x-w*6)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*10+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*11-y-@border/2) > (x-w*6)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*10-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*11-y+@border/2) < (x-w*6)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*10-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*11-y-@border/2) > (x-w*6)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*10+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*11-y+@border/2) < (x-w*7)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*10+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*11-y-@border/2) > (x-w*7)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*10-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*11-y+@border/2) < (x-w*7)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*10-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*11-y-@border/2) > (x-w*7)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*10+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*11-y+@border/2) < (x-w*8)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*10+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*11-y-@border/2) > (x-w*8)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*10-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*11-y+@border/2) < (x-w*8)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*10-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*11-y-@border/2) > (x-w*8)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*10+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*11-y+@border/2) < (x-w*9)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*10+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*11-y-@border/2) > (x-w*9)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*10-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*11-y+@border/2) < (x-w*9)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*10-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*11-y-@border/2) > (x-w*9)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*10+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*11-y+@border/2) < (x-w*10)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*10+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*11-y-@border/2) > (x-w*10)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*10-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*11-y+@border/2) < (x-w*10)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*10-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*11-y-@border/2) > (x-w*10)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*10+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*11-y+@border/2) < (x-w*11)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*10+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*11-y-@border/2) > (x-w*11)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*10-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*11-y+@border/2) < (x-w*11)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*10-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*11-y-@border/2) > (x-w*11)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*10+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*11-y+@border/2) < (x-w*12)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*10+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*11-y-@border/2) > (x-w*12)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*10-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*11-y+@border/2) < (x-w*12)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*10-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*11-y-@border/2) > (x-w*12)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*10+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*11-y+@border/2) < (x-w*13)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*10+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*11-y-@border/2) > (x-w*13)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*10-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*11-y+@border/2) < (x-w*13)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*10-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*11-y-@border/2) > (x-w*13)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*10+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*11-y+@border/2) < (x-w*14)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*10+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*11-y-@border/2) > (x-w*14)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*10-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*11-y+@border/2) < (x-w*14)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*10-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*11-y-@border/2) > (x-w*14)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*10+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*11-y+@border/2) < (x-w*15)*(y-h*10-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*10+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*11-y-@border/2) > (x-w*15)*(y-h*10+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*10-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*11-y+@border/2) < (x-w*15)*(y-h*10-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*10-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*11-y-@border/2) > (x-w*15)*(y-h*10+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*11 && y <= h*12 ;row 12 if x <= w*1 if (x-w*0)*(y-h*11+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*12-y+@border/2) < (x-w*0)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*11+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*12-y-@border/2) > (x-w*0)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*11-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*12-y+@border/2) < (x-w*0)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*11-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*12-y-@border/2) > (x-w*0)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*11+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*12-y+@border/2) < (x-w*1)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*11+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*12-y-@border/2) > (x-w*1)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*11-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*12-y+@border/2) < (x-w*1)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*11-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*12-y-@border/2) > (x-w*1)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*11+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*12-y+@border/2) < (x-w*2)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*11+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*12-y-@border/2) > (x-w*2)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*11-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*12-y+@border/2) < (x-w*2)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*11-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*12-y-@border/2) > (x-w*2)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*11+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*12-y+@border/2) < (x-w*3)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*11+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*12-y-@border/2) > (x-w*3)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*11-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*12-y+@border/2) < (x-w*3)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*11-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*12-y-@border/2) > (x-w*3)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*11+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*12-y+@border/2) < (x-w*4)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*11+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*12-y-@border/2) > (x-w*4)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*11-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*12-y+@border/2) < (x-w*4)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*11-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*12-y-@border/2) > (x-w*4)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*11+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*12-y+@border/2) < (x-w*5)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*11+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*12-y-@border/2) > (x-w*5)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*11-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*12-y+@border/2) < (x-w*5)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*11-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*12-y-@border/2) > (x-w*5)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*11+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*12-y+@border/2) < (x-w*6)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*11+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*12-y-@border/2) > (x-w*6)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*11-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*12-y+@border/2) < (x-w*6)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*11-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*12-y-@border/2) > (x-w*6)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*11+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*12-y+@border/2) < (x-w*7)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*11+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*12-y-@border/2) > (x-w*7)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*11-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*12-y+@border/2) < (x-w*7)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*11-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*12-y-@border/2) > (x-w*7)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*11+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*12-y+@border/2) < (x-w*8)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*11+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*12-y-@border/2) > (x-w*8)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*11-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*12-y+@border/2) < (x-w*8)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*11-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*12-y-@border/2) > (x-w*8)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*11+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*12-y+@border/2) < (x-w*9)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*11+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*12-y-@border/2) > (x-w*9)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*11-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*12-y+@border/2) < (x-w*9)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*11-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*12-y-@border/2) > (x-w*9)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*11+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*12-y+@border/2) < (x-w*10)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*11+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*12-y-@border/2) > (x-w*10)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*11-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*12-y+@border/2) < (x-w*10)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*11-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*12-y-@border/2) > (x-w*10)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*11+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*12-y+@border/2) < (x-w*11)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*11+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*12-y-@border/2) > (x-w*11)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*11-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*12-y+@border/2) < (x-w*11)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*11-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*12-y-@border/2) > (x-w*11)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*11+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*12-y+@border/2) < (x-w*12)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*11+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*12-y-@border/2) > (x-w*12)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*11-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*12-y+@border/2) < (x-w*12)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*11-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*12-y-@border/2) > (x-w*12)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*11+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*12-y+@border/2) < (x-w*13)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*11+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*12-y-@border/2) > (x-w*13)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*11-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*12-y+@border/2) < (x-w*13)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*11-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*12-y-@border/2) > (x-w*13)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*11+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*12-y+@border/2) < (x-w*14)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*11+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*12-y-@border/2) > (x-w*14)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*11-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*12-y+@border/2) < (x-w*14)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*11-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*12-y-@border/2) > (x-w*14)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*11+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*12-y+@border/2) < (x-w*15)*(y-h*11-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*11+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*12-y-@border/2) > (x-w*15)*(y-h*11+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*11-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*12-y+@border/2) < (x-w*15)*(y-h*11-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*11-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*12-y-@border/2) > (x-w*15)*(y-h*11+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > h*12 && y <= h*13 ;row 13 if x <= w*1 if (x-w*0)*(y-h*12+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*13-y+@border/2) < (x-w*0)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*12+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*13-y-@border/2) > (x-w*0)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*12-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*13-y+@border/2) < (x-w*0)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*12-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*13-y-@border/2) > (x-w*0)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*12+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*13-y+@border/2) < (x-w*1)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*12+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*13-y-@border/2) > (x-w*1)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*12-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*13-y+@border/2) < (x-w*1)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*12-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*13-y-@border/2) > (x-w*1)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*12+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*13-y+@border/2) < (x-w*2)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*12+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*13-y-@border/2) > (x-w*2)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*12-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*13-y+@border/2) < (x-w*2)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*12-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*13-y-@border/2) > (x-w*2)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*12+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*13-y+@border/2) < (x-w*3)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*12+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*13-y-@border/2) > (x-w*3)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*12-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*13-y+@border/2) < (x-w*3)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*12-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*13-y-@border/2) > (x-w*3)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*12+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*13-y+@border/2) < (x-w*4)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*12+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*13-y-@border/2) > (x-w*4)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*12-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*13-y+@border/2) < (x-w*4)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*12-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*13-y-@border/2) > (x-w*4)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*12+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*13-y+@border/2) < (x-w*5)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*12+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*13-y-@border/2) > (x-w*5)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*12-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*13-y+@border/2) < (x-w*5)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*12-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*13-y-@border/2) > (x-w*5)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*12+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*13-y+@border/2) < (x-w*6)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*12+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*13-y-@border/2) > (x-w*6)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*12-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*13-y+@border/2) < (x-w*6)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*12-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*13-y-@border/2) > (x-w*6)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*12+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*13-y+@border/2) < (x-w*7)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*12+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*13-y-@border/2) > (x-w*7)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*12-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*13-y+@border/2) < (x-w*7)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*12-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*13-y-@border/2) > (x-w*7)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*12+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*13-y+@border/2) < (x-w*8)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*12+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*13-y-@border/2) > (x-w*8)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*12-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*13-y+@border/2) < (x-w*8)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*12-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*13-y-@border/2) > (x-w*8)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*12+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*13-y+@border/2) < (x-w*9)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*12+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*13-y-@border/2) > (x-w*9)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*12-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*13-y+@border/2) < (x-w*9)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*12-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*13-y-@border/2) > (x-w*9)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*12+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*13-y+@border/2) < (x-w*10)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*12+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*13-y-@border/2) > (x-w*10)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*12-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*13-y+@border/2) < (x-w*10)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*12-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*13-y-@border/2) > (x-w*10)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*12+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*13-y+@border/2) < (x-w*11)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*12+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*13-y-@border/2) > (x-w*11)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*12-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*13-y+@border/2) < (x-w*11)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*12-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*13-y-@border/2) > (x-w*11)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*12+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*13-y+@border/2) < (x-w*12)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*12+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*13-y-@border/2) > (x-w*12)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*12-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*13-y+@border/2) < (x-w*12)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*12-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*13-y-@border/2) > (x-w*12)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*12+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*13-y+@border/2) < (x-w*12)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*12+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*13-y-@border/2) > (x-w*12)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*12-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*13-y+@border/2) < (x-w*12)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*12-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*13-y-@border/2) > (x-w*12)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*12+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*13-y+@border/2) < (x-w*13)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*12+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*13-y-@border/2) > (x-w*13)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*12-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*13-y+@border/2) < (x-w*13)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*12-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*13-y-@border/2) > (x-w*13)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*12+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*13-y+@border/2) < (x-w*14)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*12+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*13-y-@border/2) > (x-w*14)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*12-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*13-y+@border/2) < (x-w*14)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*12-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*13-y-@border/2) > (x-w*14)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*12+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*13-y+@border/2) < (x-w*15)*(y-h*12-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*12+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*13-y-@border/2) > (x-w*15)*(y-h*12+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*12-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*13-y+@border/2) < (x-w*15)*(y-h*12-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*12-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*13-y-@border/2) > (x-w*15)*(y-h*12+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif y > h*13 && y <= h*14 ;row 14 if x <= w*1 if (x-w*0)*(y-h*13+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*14-y+@border/2) < (x-w*0)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*13+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*14-y-@border/2) > (x-w*0)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*13-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*14-y+@border/2) < (x-w*0)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*13-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*14-y-@border/2) > (x-w*0)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*13+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*14-y+@border/2) < (x-w*1)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*13+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*14-y-@border/2) > (x-w*1)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*13-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*14-y+@border/2) < (x-w*1)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*13-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*14-y-@border/2) > (x-w*1)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*13+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*14-y+@border/2) < (x-w*2)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*13+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*14-y-@border/2) > (x-w*2)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*13-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*14-y+@border/2) < (x-w*2)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*13-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*14-y-@border/2) > (x-w*2)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*13+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*14-y+@border/2) < (x-w*3)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*13+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*14-y-@border/2) > (x-w*3)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*13-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*14-y+@border/2) < (x-w*3)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*13-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*14-y-@border/2) > (x-w*3)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*13+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*14-y+@border/2) < (x-w*4)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*13+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*14-y-@border/2) > (x-w*4)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*13-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*14-y+@border/2) < (x-w*4)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*13-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*14-y-@border/2) > (x-w*4)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*13+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*14-y+@border/2) < (x-w*5)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*13+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*14-y-@border/2) > (x-w*5)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*13-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*14-y+@border/2) < (x-w*5)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*13-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*14-y-@border/2) > (x-w*5)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*13+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*14-y+@border/2) < (x-w*6)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*13+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*14-y-@border/2) > (x-w*6)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*13-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*14-y+@border/2) < (x-w*6)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*13-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*14-y-@border/2) > (x-w*6)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*13+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*14-y+@border/2) < (x-w*7)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*13+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*14-y-@border/2) > (x-w*7)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*13-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*14-y+@border/2) < (x-w*7)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*13-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*14-y-@border/2) > (x-w*7)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*13+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*14-y+@border/2) < (x-w*8)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*13+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*14-y-@border/2) > (x-w*8)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*13-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*14-y+@border/2) < (x-w*8)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*13-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*14-y-@border/2) > (x-w*8)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*13+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*14-y+@border/2) < (x-w*9)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*13+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*14-y-@border/2) > (x-w*9)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*13-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*14-y+@border/2) < (x-w*9)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*13-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*14-y-@border/2) > (x-w*9)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*13+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*14-y+@border/2) < (x-w*10)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*13+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*14-y-@border/2) > (x-w*10)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*13-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*14-y+@border/2) < (x-w*10)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*13-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*14-y-@border/2) > (x-w*10)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*13+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*14-y+@border/2) < (x-w*11)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*13+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*14-y-@border/2) > (x-w*11)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*13-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*14-y+@border/2) < (x-w*11)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*13-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*14-y-@border/2) > (x-w*11)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*13+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*14-y+@border/2) < (x-w*12)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*13+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*14-y-@border/2) > (x-w*12)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*13-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*14-y+@border/2) < (x-w*12)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*13-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*14-y-@border/2) > (x-w*12)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*13+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*14-y+@border/2) < (x-w*13)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*13+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*14-y-@border/2) > (x-w*13)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*13-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*14-y+@border/2) < (x-w*13)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*13-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*14-y-@border/2) > (x-w*13)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*13+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*14-y+@border/2) < (x-w*14)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*13+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*14-y-@border/2) > (x-w*14)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*13-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*14-y+@border/2) < (x-w*14)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*13-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*14-y-@border/2) > (x-w*14)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*13+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*14-y+@border/2) < (x-w*15)*(y-h*13-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*13+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*14-y-@border/2) > (x-w*15)*(y-h*13+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*13-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*14-y+@border/2) < (x-w*15)*(y-h*13-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*13-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*14-y-@border/2) > (x-w*15)*(y-h*13+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > h*14 && y <= h*15 ;row 15 if x <= w*1 if (x-w*0)*(y-h*14+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*15-y+@border/2) < (x-w*0)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*14+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*15-y-@border/2) > (x-w*0)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*14-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*15-y+@border/2) < (x-w*0)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*14-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*15-y-@border/2) > (x-w*0)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*14+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*15-y+@border/2) < (x-w*1)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*14+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*15-y-@border/2) > (x-w*1)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*14-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*15-y+@border/2) < (x-w*1)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*14-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*15-y-@border/2) > (x-w*1)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*14+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*15-y+@border/2) < (x-w*2)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*14+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*15-y-@border/2) > (x-w*2)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*14-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*15-y+@border/2) < (x-w*2)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*14-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*15-y-@border/2) > (x-w*2)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*14+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*15-y+@border/2) < (x-w*3)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*14+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*15-y-@border/2) > (x-w*3)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*14-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*15-y+@border/2) < (x-w*3)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*14-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*15-y-@border/2) > (x-w*3)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*14+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*15-y+@border/2) < (x-w*4)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*14+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*15-y-@border/2) > (x-w*4)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*14-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*15-y+@border/2) < (x-w*4)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*14-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*15-y-@border/2) > (x-w*4)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*14+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*15-y+@border/2) < (x-w*5)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*14+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*15-y-@border/2) > (x-w*5)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*14-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*15-y+@border/2) < (x-w*5)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*14-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*15-y-@border/2) > (x-w*5)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*14+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*15-y+@border/2) < (x-w*6)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*14+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*15-y-@border/2) > (x-w*6)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*14-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*15-y+@border/2) < (x-w*6)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*14-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*15-y-@border/2) > (x-w*6)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*14+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*15-y+@border/2) < (x-w*7)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*14+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*15-y-@border/2) > (x-w*7)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*14-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*15-y+@border/2) < (x-w*7)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*14-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*15-y-@border/2) > (x-w*7)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*14+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*15-y+@border/2) < (x-w*8)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*14+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*15-y-@border/2) > (x-w*8)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*14-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*15-y+@border/2) < (x-w*8)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*14-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*15-y-@border/2) > (x-w*8)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*14+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*15-y+@border/2) < (x-w*9)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*14+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*15-y-@border/2) > (x-w*9)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*14-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*15-y+@border/2) < (x-w*9)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*14-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*15-y-@border/2) > (x-w*9)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*14+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*15-y+@border/2) < (x-w*10)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*14+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*15-y-@border/2) > (x-w*10)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*14-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*15-y+@border/2) < (x-w*10)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*14-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*15-y-@border/2) > (x-w*10)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*14+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*15-y+@border/2) < (x-w*11)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*14+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*15-y-@border/2) > (x-w*11)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*14-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*15-y+@border/2) < (x-w*11)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*14-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*15-y-@border/2) > (x-w*11)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*14+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*15-y+@border/2) < (x-w*12)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*14+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*15-y-@border/2) > (x-w*12)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*14-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*15-y+@border/2) < (x-w*12)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*14-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*15-y-@border/2) > (x-w*12)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*14+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*15-y+@border/2) < (x-w*13)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*14+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*15-y-@border/2) > (x-w*13)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*14-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*15-y+@border/2) < (x-w*13)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*14-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*15-y-@border/2) > (x-w*13)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*14+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*15-y+@border/2) < (x-w*14)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*14+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*15-y-@border/2) > (x-w*14)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*14-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*15-y+@border/2) < (x-w*14)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*14-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*15-y-@border/2) > (x-w*14)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*14+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*15-y+@border/2) < (x-w*15)*(y-h*14-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*14+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*15-y-@border/2) > (x-w*15)*(y-h*14+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*14-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*15-y+@border/2) < (x-w*15)*(y-h*14-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*14-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*15-y-@border/2) > (x-w*15)*(y-h*14+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif elseif y > h*15 && y <= h*16 ;row 16 if x <= w*1 if (x-w*0)*(y-h*15+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*16-y+@border/2) < (x-w*0)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*0)*(y-h*15+@border/2) < ratio*(x-w*0)^2 && (w*1-x)*(h*16-y-@border/2) > (x-w*0)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*15-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*16-y+@border/2) < (x-w*0)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*0)*(y-h*15-@border/2) > ratio*(x-w*0)^2 && (w*1-x)*(h*16-y-@border/2) > (x-w*0)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*1 && x <= w*2 if (x-w*1)*(y-h*15+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*16-y+@border/2) < (x-w*1)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*1)*(y-h*15+@border/2) < ratio*(x-w*1)^2 && (w*2-x)*(h*16-y-@border/2) > (x-w*1)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*15-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*16-y+@border/2) < (x-w*1)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*1)*(y-h*15-@border/2) > ratio*(x-w*1)^2 && (w*2-x)*(h*16-y-@border/2) > (x-w*1)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*2 && x <= w*3 if (x-w*2)*(y-h*15+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*16-y+@border/2) < (x-w*2)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*2)*(y-h*15+@border/2) < ratio*(x-w*2)^2 && (w*3-x)*(h*16-y-@border/2) > (x-w*2)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*15-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*16-y+@border/2) < (x-w*2)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*2)*(y-h*15-@border/2) > ratio*(x-w*2)^2 && (w*3-x)*(h*16-y-@border/2) > (x-w*2)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*3 && x <= w*4 if (x-w*3)*(y-h*15+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*16-y+@border/2) < (x-w*3)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*3)*(y-h*15+@border/2) < ratio*(x-w*3)^2 && (w*4-x)*(h*16-y-@border/2) > (x-w*3)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*15-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*16-y+@border/2) < (x-w*3)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*3)*(y-h*15-@border/2) > ratio*(x-w*3)^2 && (w*4-x)*(h*16-y-@border/2) > (x-w*3)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*4 && x <= w*5 if (x-w*4)*(y-h*15+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*16-y+@border/2) < (x-w*4)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*4)*(y-h*15+@border/2) < ratio*(x-w*4)^2 && (w*5-x)*(h*16-y-@border/2) > (x-w*4)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*15-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*16-y+@border/2) < (x-w*4)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*4)*(y-h*15-@border/2) > ratio*(x-w*4)^2 && (w*5-x)*(h*16-y-@border/2) > (x-w*4)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*5 && x <= w*6 if (x-w*5)*(y-h*15+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*16-y+@border/2) < (x-w*5)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*5)*(y-h*15+@border/2) < ratio*(x-w*5)^2 && (w*6-x)*(h*16-y-@border/2) > (x-w*5)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*15-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*16-y+@border/2) < (x-w*5)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*5)*(y-h*15-@border/2) > ratio*(x-w*5)^2 && (w*6-x)*(h*16-y-@border/2) > (x-w*5)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*6 && x <= w*7 if (x-w*6)*(y-h*15+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*16-y+@border/2) < (x-w*6)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*6)*(y-h*15+@border/2) < ratio*(x-w*6)^2 && (w*7-x)*(h*16-y-@border/2) > (x-w*6)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*15-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*16-y+@border/2) < (x-w*6)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*6)*(y-h*15-@border/2) > ratio*(x-w*6)^2 && (w*7-x)*(h*16-y-@border/2) > (x-w*6)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*7 && x <= w*8 if (x-w*7)*(y-h*15+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*16-y+@border/2) < (x-w*7)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*7)*(y-h*15+@border/2) < ratio*(x-w*7)^2 && (w*8-x)*(h*16-y-@border/2) > (x-w*7)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*15-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*16-y+@border/2) < (x-w*7)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*7)*(y-h*15-@border/2) > ratio*(x-w*7)^2 && (w*8-x)*(h*16-y-@border/2) > (x-w*7)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*8 && x <= w*9 if (x-w*8)*(y-h*15+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*16-y+@border/2) < (x-w*8)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*8)*(y-h*15+@border/2) < ratio*(x-w*8)^2 && (w*9-x)*(h*16-y-@border/2) > (x-w*8)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*15-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*16-y+@border/2) < (x-w*8)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*8)*(y-h*15-@border/2) > ratio*(x-w*8)^2 && (w*9-x)*(h*16-y-@border/2) > (x-w*8)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*9 && x <= w*10 if (x-w*9)*(y-h*15+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*16-y+@border/2) < (x-w*9)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*9)*(y-h*15+@border/2) < ratio*(x-w*9)^2 && (w*10-x)*(h*16-y-@border/2) > (x-w*9)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*15-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*16-y+@border/2) < (x-w*9)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*9)*(y-h*15-@border/2) > ratio*(x-w*9)^2 && (w*10-x)*(h*16-y-@border/2) > (x-w*9)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*10 && x <= w*11 if (x-w*10)*(y-h*15+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*16-y+@border/2) < (x-w*10)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*10)*(y-h*15+@border/2) < ratio*(x-w*10)^2 && (w*11-x)*(h*16-y-@border/2) > (x-w*10)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*15-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*16-y+@border/2) < (x-w*10)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*10)*(y-h*15-@border/2) > ratio*(x-w*10)^2 && (w*11-x)*(h*16-y-@border/2) > (x-w*10)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*11 && x <= w*12 if (x-w*11)*(y-h*15+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*16-y+@border/2) < (x-w*11)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*11)*(y-h*15+@border/2) < ratio*(x-w*11)^2 && (w*12-x)*(h*16-y-@border/2) > (x-w*11)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*15-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*16-y+@border/2) < (x-w*11)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*11)*(y-h*15-@border/2) > ratio*(x-w*11)^2 && (w*12-x)*(h*16-y-@border/2) > (x-w*11)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*12 && x <= w*13 if (x-w*12)*(y-h*15+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*16-y+@border/2) < (x-w*12)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*12)*(y-h*15+@border/2) < ratio*(x-w*12)^2 && (w*13-x)*(h*16-y-@border/2) > (x-w*12)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*15-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*16-y+@border/2) < (x-w*12)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*12)*(y-h*15-@border/2) > ratio*(x-w*12)^2 && (w*13-x)*(h*16-y-@border/2) > (x-w*12)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*13 && x <= w*14 if (x-w*13)*(y-h*15+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*16-y+@border/2) < (x-w*13)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*13)*(y-h*15+@border/2) < ratio*(x-w*13)^2 && (w*14-x)*(h*16-y-@border/2) > (x-w*13)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*15-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*16-y+@border/2) < (x-w*13)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*13)*(y-h*15-@border/2) > ratio*(x-w*13)^2 && (w*14-x)*(h*16-y-@border/2) > (x-w*13)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*14 && x <= w*15 if (x-w*14)*(y-h*15+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*16-y+@border/2) < (x-w*14)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*14)*(y-h*15+@border/2) < ratio*(x-w*14)^2 && (w*15-x)*(h*16-y-@border/2) > (x-w*14)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*15-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*16-y+@border/2) < (x-w*14)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*14)*(y-h*15-@border/2) > ratio*(x-w*14)^2 && (w*15-x)*(h*16-y-@border/2) > (x-w*14)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif elseif x > w*15 && x <= w*16 if (x-w*15)*(y-h*15+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*16-y+@border/2) < (x-w*15)*(y-h*15-@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif elseif (x-w*15)*(y-h*15+@border/2) < ratio*(x-w*15)^2 && (w*16-x)*(h*16-y-@border/2) > (x-w*15)*(y-h*15+@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*15-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*16-y+@border/2) < (x-w*15)*(y-h*15-@border/2) if x1 <= w2 z = s2*@shrink2*fn2(z)+p+@shift2 else z = -s2*@shrink2*fn2(z)+p-@shift2 endif elseif (x-w*15)*(y-h*15-@border/2) > ratio*(x-w*15)^2 && (w*16-x)*(h*16-y-@border/2) > (x-w*15)*(y-h*15+@border/2) if x1 <= w2 z = s1*@shrink1*fn1(z)+p+@shift1 else z = -s1*@shrink1*fn1(z)+p-@shift1 endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif else if x1 <= w2 z = @shrinkb*@borderfn(z)+p else z = -@shrinkb*@borderfn(z)+p endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && ((|real(z)|)%@mod) <= @bailout) || \ (@test == 2 && ((|imag(z)|)%@mod) <= @bailout) || \ (@test == 3 && (sqr(real(z))%@mod) <= @bailout) || \ (@test == 4 && (sqr(imag(z))%@mod) <= @bailout) || \ (@test == 5 && (sqr(flip(z))) <= @bailout) || \ (@test == 6 && (sqr(conj(z))) <= @bailout) || \ (@test == 7 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 10 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 11 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 12 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 13 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 18 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 19 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Diag-Only" heading caption = "GRIDSIZE (max 16x16):" endheading float param checksH caption = "Horizontal" default = 4 max = 16 min = 1 endparam float param checksV caption = "Vertical" hint = "Max gridsize 10x10 for fit all, 6.5x6.5 for fit even only" default = 4 max = 16 min = 1 endparam heading caption = "FUNCTION:" endheading func fn1 caption = "Function 1" default = sqr() endfunc float param shrink1 caption = " - shrink it" default = 1 endparam float param shift1 caption = " - shift it" default = 1 endparam param switch1 enum = "This way..." "...or that way" caption = " - switch" default = 0 endparam func fn2 caption = "Function 2" default = sqr() endfunc float param shrink2 caption = " - shrink it" default = 2 endparam float param shift2 caption = " - shift it" default = 1 endparam param switch2 enum = "This way..." "...or that way" caption = " - switch" default = 0 endparam heading caption = "BORDER:" endheading float param border caption = " - thickness" default = 2 endparam func borderfn caption = " - function" default = zero() endfunc float param shrinkb caption = " - shrink it" default = 1 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real mod" "imag mod" "sqr real mod" "sqr imag mod" \ "flip" "conj" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 14 visible = @test >= 14 endfunc int param mod caption = " - modifier" default = 2 enabled = @test > 0 && @test <= 4 visible = @test > 0 && @test <= 4 endparam param bailout caption = " - value" default = 128 min = 1 endparam } ManGrid { ;up to 32x32 grid init: z = 0 p = #pixel if @switchodd == 0 && @sizeit == 0 so = 1 elseif @switchodd == 1 && @sizeit == 0 so = -1 elseif @switchodd == 0 && @sizeit == 1 so = (@divW+@divH)/2 elseif @switchodd == 1 && @sizeit == 1 so = -(@divW+@divH)/2 endif if @switcheven == 0 && @sizeit == 0 se = 1 elseif @switcheven == 1 && @sizeit == 0 se = -1 elseif @switcheven == 0 && @sizeit == 1 se = (@divW+@divH)/2 elseif @switcheven == 1 && @sizeit == 1 se = -(@divW+@divH)/2 endif if #width > #height && #width - #height > #height/3 float lti = 1.5 float ltr = #width/#height*lti else float ltr = 2 float lti = #height/#width*ltr endif float segW = #width/@divW float segH = #height/@divH if @quarters == 1 && #y < @divH/2*segH && #x < @divW/2*segW @ang = @ang+180 elseif @quarters == 1 && #y < @divH/2*segH && #x > @divW/2*segW @ang = @ang-90 @shift1 = flip(conj(-@shift1)) @shift2 = flip(conj(-@shift2)) elseif @quarters == 1 && #y > @divH/2*segH && #x < @divW/2*segW @ang = @ang+90 @shift1 = flip(conj(@shift1)) @shift2 = flip(conj(@shift2)) elseif @quarters == 1 && #y > @divH/2*segH && #x > @divW/2*segW @ang = @ang @shift1 = -@shift1 @shift2 = -@shift2 endif complex m = (1,0) complex n = (0,1) float ang = #pi*@ang/360.0 float ca = cos(ang) float sa = sin(ang) float r0c0 = real(m)*ca-real(n)*sa float r0c1 = real(m)*sa+real(n)*ca float r1c0 = imag(m)*ca-imag(n)*sa float r1c1 = imag(m)*sa+imag(n)*ca if @mirror == 1 && #x < #width/2 se = se*-1 so = so*-1 else se = se so = so endif loop: x1 = real(z) y1 = imag(z) t = x1 x1 = x1*r0c0 + y1*r1c0 y1 = t*r0c1 + y1*r1c1 z = x1 + flip(y1) if #y >= @borderH/2 && #y <= segH - @borderH/2 ;@borderH = height (vertical) border if #x >= @borderW/2 && #x <= segW - @borderW/2 ;@borderW = width (horizontal) border z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divw - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 endif elseif #y >= segH + @borderH/2 && #y <= 2*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 endif elseif #y >= 2*segH + @borderH/2 && #y <= 3*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 endif elseif #y >= 3*segH + @borderH/2 && #y <= 4*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 endif elseif #y >= 4*segH + @borderH/2 && #y <= 5*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 endif elseif #y >= 5*segH + @borderH/2 && #y <= 6*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 endif elseif #y >= 6*segH + @borderH/2 && #y <= 7*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 endif elseif #y >= 7*segH + @borderH/2 && #y <= 8*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 endif elseif #y >= 8*segH + @borderH/2 && #y <= 9*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 endif elseif #y >= 9*segH + @borderH/2 && #y <= 10*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 endif elseif #y >= 10*segH + @borderH/2 && #y <= 11*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 endif elseif #y >= 11*segH + @borderH/2 && #y <= 12*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 endif elseif #y >= 12*segH + @borderH/2 && #y <= 13*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 endif elseif #y >= 13*segH + @borderH/2 && #y <= 14*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 endif elseif #y >= 14*segH + @borderH/2 && #y <= 15*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 endif elseif #y >= 15*segH + @borderH/2 && #y <= 16*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 endif elseif #y >= 16*segH + @borderH/2 && #y <= 17*segH - @borderH/2 ;@borderH = height (vertical) border if #x >= @borderW/2 && #x <= segW - @borderW/2 ;@borderW = width (horizontal) border z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divw - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-33*lti/@divH))+@shift2 endif elseif #y >= 17*segH + @borderH/2 && #y <= 18*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-35*lti/@divH))+@shift1 endif elseif #y >= 18*segH + @borderH/2 && #y <= 19*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-37*lti/@divH))+@shift2 endif elseif #y >= 19*segH + @borderH/2 && #y <= 20*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-39*lti/@divH))+@shift1 endif elseif #y >= 20*segH + @borderH/2 && #y <= 21*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-41*lti/@divH))+@shift2 endif elseif #y >= 21*segH + @borderH/2 && #y <= 22*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-43*lti/@divH))+@shift1 endif elseif #y >= 22*segH + @borderH/2 && #y <= 23*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-45*lti/@divH))+@shift2 endif elseif #y >= 23*segH + @borderH/2 && #y <= 24*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-47*lti/@divH))+@shift1 endif elseif #y >= 24*segH + @borderH/2 && #y <= 25*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-49*lti/@divH))+@shift2 endif elseif #y >= 25*segH + @borderH/2 && #y <= 26*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-51*lti/@divH))+@shift1 endif elseif #y >= 26*segH + @borderH/2 && #y <= 27*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-53*lti/@divH))+@shift2 endif elseif #y >= 27*segH + @borderH/2 && #y <= 28*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-55*lti/@divH))+@shift1 endif elseif #y >= 28*segH + @borderH/2 && #y <= 29*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-57*lti/@divH))+@shift2 endif elseif #y >= 29*segH + @borderH/2 && #y <= 30*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-59*lti/@divH))+@shift1 endif elseif #y >= 30*segH + @borderH/2 && #y <= 31*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 33*ltr/@divw - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift1 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-61*lti/@divH))+@shift2 endif elseif #y >= 31*segH + @borderH/2 && #y <= 32*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 16*segW + @borderW/2 && #x <= 17*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 33*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 17*segW + @borderW/2 && #x <= 18*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 35*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 18*segW + @borderW/2 && #x <= 19*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 37*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 19*segW + @borderW/2 && #x <= 20*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 39*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 20*segW + @borderW/2 && #x <= 21*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 41*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 21*segW + @borderW/2 && #x <= 22*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 43*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 22*segW + @borderW/2 && #x <= 23*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 45*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 23*segW + @borderW/2 && #x <= 24*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 47*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 24*segW + @borderW/2 && #x <= 25*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 49*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 25*segW + @borderW/2 && #x <= 26*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 51*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 26*segW + @borderW/2 && #x <= 27*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 53*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 27*segW + @borderW/2 && #x <= 28*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 55*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 28*segW + @borderW/2 && #x <= 29*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 57*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 29*segW + @borderW/2 && #x <= 30*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 59*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 elseif #x >= 30*segW + @borderW/2 && #x <= 31*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 61*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift2 elseif #x >= 31*segW + @borderW/2 && #x <= 32*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 63*ltr/@divW - flip(conj(lti-63*lti/@divH))+@shift1 endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && ((|real(z)|)%@mod) <= @bailout) || \ (@test == 2 && ((|imag(z)|)%@mod) <= @bailout) || \ (@test == 3 && (sqr(real(z))%@mod) <= @bailout) || \ (@test == 4 && (sqr(imag(z))%@mod) <= @bailout) || \ (@test == 5 && (sqr(flip(z))) <= @bailout) || \ (@test == 6 && (sqr(conj(z))) <= @bailout) || \ (@test == 7 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 10 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 11 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 12 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 13 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 18 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 19 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "ManGrid" method = multipass int param divW caption = "Horiz. Divisions (max 32)" default = 8 endparam int param divH caption = "Vert. Divisions (max 32)" default = 8 endparam param ang caption = "Rotation (degrees)" default = 0.0 endparam param quarters enum = "Off" "On" default = 0 caption = "Quarterise" endparam param sizeit enum = "...not sized" "...sized" default = 1 caption = "Adjust size (all)" endparam param mirror enum = "...off" "...on" default = 0 caption = "Mirror (all)" endparam heading caption = "BORDERS" endheading float param borderH caption = " - horizontal" default = 1 endparam float param borderW caption = " - vertical" default = 1 endparam heading caption = "FUNCTION 1 (odd)" endheading func fn1 caption = " - function" default = sqr() endfunc float param shrinkodd caption = " - shrink" default = 1 endparam complex param shift1 caption = " - shift" default = (0,0) endparam param switchodd enum = "One way..." "...or the other" default = 0 caption = " - switch fn1" endparam heading caption = "FUNCTION 2 (even)" endheading func fn2 caption = " - function" default = sqr() endfunc float param shrinkeven caption = " - shrink" default = 1 endparam complex param shift2 caption = " - shift" default = (0,0) endparam param switcheven enum = "One way..." "...or the other" default = 1 caption = " - switch fn2" endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real mod" "imag mod" "sqr real mod" "sqr imag mod" \ "flip" "conj" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 14 visible = @test >= 14 endfunc int param mod caption = " - modifier" default = 2 enabled = @test <= 4 visible = @test <= 4 endparam param bailout caption = " - value" default = 128 min = 1 endparam } CSM7 { init: z = @start p = fn2(#pixel) if @switch == 0 s = 1 else s = -1 endif loop: z = s*fn1(z)+p+fn3(p) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "CSM4" magn = 0.7 param start caption = "Z start" default = (0,0) endparam func fn1 default = sqr() caption = "Function" endfunc func fn2 default = cos() caption = "1st pixel function" endfunc func fn3 default = cos() caption = "2nd pixel function" endfunc param switch enum = "One way..." "...or the other" default = 1 caption = "Switch" endparam heading caption = "BAILOUT:" endheading param bailout caption = " - value" default = 128 min = 1 endparam param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc } 1Man4e { ; thanks to Dave Makin (Makin' Magic - http://website.lineone.net/~dave_makin/) ; for the rotation code ; init: z = 0 p = #pixel loop: float ang = atan2(#z) % 6*sin(@mod) float ca = cos(ang) float sa = sin(ang) m = (1,0) n = (0,1) float r0c0 = real(m)*ca-real(n)*sa float r0c1 = real(m)*sa+real(n)*ca float r1c0 = imag(m)*ca-imag(n)*sa float r1c1 = imag(m)*sa+imag(n)*ca x1 = real(z) y1 = imag(z) t = x1 x1 = x1*r0c0 + y1*r1c0 y1 = t*r0c1 + y1*r1c1 z = x1 + flip(y1) z = @shrink*fn1(z) + p + @shift bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Twins" center = (-0.97,0) magn = 30 angle = 90 param ang caption = "Rotation (degrees)" default = 90 endparam float param mod caption = "Modulus" default = 0.003 endparam func fn1 default = sqr() caption = "Function 1" endfunc float param shrink caption = " - shrink" default = 1.2 endparam float param shift caption = " - shift" default = -0.5 endparam ; func fn2 ; default = sqr() ; caption = "Function 2" ; endfunc ; float param shrink2 ; caption = " - shrink" ; default = 2 ; endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 12 visible = @test >= 12 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } 1Man4f { ; thanks to Dave Makin (Makin' Magic - http://website.lineone.net/~dave_makin/) ; for the rotation code ; init: z = 0 p = #pixel if @twins == 0 float mod = 0 else float mod = @mod endif loop: float ang = atan2(#z) % 6*sin(mod) float ca = cos(ang) float sa = sin(ang) m = (1,0) n = (0,1) float r0c0 = real(m)*ca-real(n)*sa float r0c1 = real(m)*sa+real(n)*ca float r1c0 = imag(m)*ca-imag(n)*sa float r1c1 = imag(m)*sa+imag(n)*ca x1 = real(z) y1 = imag(z) t = x1 x1 = x1*r0c0 + y1*r1c0 y1 = t*r0c1 + y1*r1c1 z = x1 + flip(y1) z = @shrink*fn1(z) + p + @shift bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "Twins_too" center = (-0.97,0) magn = 30 angle = 90 maxiter = 500 param twins caption = "Twins?" enum = "No" "Yes" default = 0 endparam float param mod caption = " - separation" default = 0.003 visible = @twins == 1 enabled = @twins == 1 endparam func fn1 default = sqr() caption = "Function" endfunc float param shrink caption = " - shrink" default = 1.2 endparam float param shift caption = " - shift" default = -0.5 endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 12 visible = @test >= 12 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } Four-X-7 { ; thanks to Mark Jeronimus for the boolean idea ; it simplifies this a lot init: p = #pixel z = 0 x = #x y = #y a = #width/@divH b = #height/@divV w = #width ratio = #height/#width if @respace == 0 if #width > #height && #width - #height > #height/3 float lti = @lti ;(Respace = Choose) float ltr = #width/#height*@lti else float ltr = @ltr float lti = #height/#width*@ltr endif else ;(Respace = Set) if #width > #height && #width - #height > #height/3 float lti = 1.5 float ltr = #width/#height*lti else float ltr = 2 float lti = #height/#width*ltr endif endif if @sizeit == 1 s = 2+(@divH*@divV)/(@divH+@divV) else s = 1 endif if @switchbak == 0 s = s else s = -s endif row1 = y <= b-@borderH/2 row2 = y > b+@borderH/2 && y <= 2*b-@borderH/2 row3 = y > 2*b+@borderH/2 && y <= 3*b-@borderH/2 row4 = y > 3*b+@borderH/2 && y <= 4*b-@borderH/2 row5 = y > 4*b+@borderH/2 && y <= 5*b-@borderH/2 row6 = y > 5*b+@borderH/2 && y <= 6*b-@borderH/2 row7 = y > 6*b+@borderH/2 && y <= 7*b-@borderH/2 row8 = y > 7*b+@borderH/2 && y <= 8*b-@borderH/2 row9 = y > 8*b+@borderH/2 && y <= 9*b-@borderH/2 row10 = y > 9*b+@borderH/2 && y <= 10*b-@borderH/2 row11 = y > 10*b+@borderH/2 && y <= 11*b-@borderH/2 row12 = y > 11*b+@borderH/2 && y <= 12*b-@borderH/2 row13 = y > 12*b+@borderH/2 && y <= 13*b-@borderH/2 row14 = y > 13*b+@borderH/2 && y <= 14*b-@borderH/2 row15 = y > 14*b+@borderH/2 && y <= 15*b-@borderH/2 row16 = y > 15*b+@borderH/2 && y <= 16*b-@borderH/2 row17 = y > 16*b+@borderH/2 && y <= 17*b-@borderH/2 row18 = y > 17*b+@borderH/2 && y <= 18*b-@borderH/2 row19 = y > 18*b+@borderH/2 && y <= 19*b-@borderH/2 row20 = y > 19*b+@borderH/2 && y <= 20*b-@borderH/2 row21 = y > 20*b+@borderH/2 && y <= 21*b-@borderH/2 row22 = y > 21*b+@borderH/2 && y <= 22*b-@borderH/2 row23 = y > 22*b+@borderH/2 && y <= 23*b-@borderH/2 row24 = y > 23*b+@borderH/2 && y <= 24*b-@borderH/2 row25 = y > 24*b+@borderH/2 && y <= 25*b-@borderH/2 row26 = y > 25*b+@borderH/2 && y <= 26*b-@borderH/2 row27 = y > 26*b+@borderH/2 && y <= 27*b-@borderH/2 row28 = y > 27*b+@borderH/2 && y <= 28*b-@borderH/2 row29 = y > 28*b+@borderH/2 && y <= 29*b-@borderH/2 row30 = y > 29*b+@borderH/2 && y <= 30*b-@borderH/2 row31 = y > 30*b+@borderH/2 && y <= 31*b-@borderH/2 row32 = y > 31*b+@borderH/2 && y <= 32*b-@borderH/2 col1 = x <= a-@borderV/2 col2 = x > a+@borderV/2 && x <= 2*a-@borderV/2 col3 = x > 2*a+@borderV/2 && x <= 3*a-@borderV/2 col4 = x > 3*a+@borderV/2 && x <= 4*a-@borderV/2 col5 = x > 4*a+@borderV/2 && x <= 5*a-@borderV/2 col6 = x > 5*a+@borderV/2 && x <= 6*a-@borderV/2 col7 = x > 6*a+@borderV/2 && x <= 7*a-@borderV/2 col8 = x > 7*a+@borderV/2 && x <= 8*a-@borderV/2 col9 = x > 8*a+@borderV/2 && x <= 9*a-@borderV/2 col10 = x > 9*a+@borderV/2 && x <= 10*a-@borderV/2 col11 = x > 10*a+@borderV/2 && x <= 11*a-@borderV/2 col12 = x > 11*a+@borderV/2 && x <= 12*a-@borderV/2 col13 = x > 12*a+@borderV/2 && x <= 13*a-@borderV/2 col14 = x > 13*a+@borderV/2 && x <= 14*a-@borderV/2 col15 = x > 14*a+@borderV/2 && x <= 15*a-@borderV/2 col16 = x > 15*a+@borderV/2 && x <= 16*a-@borderV/2 col17 = x > 16*a+@borderV/2 && x <= 17*a-@borderV/2 col18 = x > 17*a+@borderV/2 && x <= 18*a-@borderV/2 col19 = x > 18*a+@borderV/2 && x <= 19*a-@borderV/2 col20 = x > 19*a+@borderV/2 && x <= 20*a-@borderV/2 col21 = x > 20*a+@borderV/2 && x <= 21*a-@borderV/2 col22 = x > 21*a+@borderV/2 && x <= 22*a-@borderV/2 col23 = x > 22*a+@borderV/2 && x <= 23*a-@borderV/2 col24 = x > 23*a+@borderV/2 && x <= 24*a-@borderV/2 col25 = x > 24*a+@borderV/2 && x <= 25*a-@borderV/2 col26 = x > 25*a+@borderV/2 && x <= 26*a-@borderV/2 col27 = x > 26*a+@borderV/2 && x <= 27*a-@borderV/2 col28 = x > 27*a+@borderV/2 && x <= 28*a-@borderV/2 col29 = x > 28*a+@borderV/2 && x <= 29*a-@borderV/2 col30 = x > 29*a+@borderV/2 && x <= 30*a-@borderV/2 col31 = x > 30*a+@borderV/2 && x <= 31*a-@borderV/2 col32 = x > 31*a+@borderV/2 && x <= 32*a-@borderV/2 complex m = (1,0) complex n = (0,1) float ang = #pi*@ang/360.0 float ca = cos(ang) float sa = sin(ang) float r0c0 = real(m)*ca-real(n)*sa float r0c1 = real(m)*sa+real(n)*ca float r1c0 = imag(m)*ca-imag(n)*sa float r1c1 = imag(m)*sa+imag(n)*ca x1 = real(z) y1 = imag(z) t = x1 x1 = x1*r0c0 + y1*r1c0 y1 = t*r0c1 + y1*r1c1 z = x1 + flip(y1) loop: x1 = real(z) y1 = imag(z) t = x1 x1 = x1*r0c0 + y1*r1c0 y1 = t*r0c1 + y1*r1c1 z = x1 + flip(y1) if row1 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-lti/@divV))+flip(@split1)+@moveLR endif elseif row2 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-3*lti/@divV))-flip(@split1)+@moveLR endif elseif row3 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-5*lti/@divV))+flip(@split1)+@moveLR endif elseif row4 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-7*lti/@divV))-flip(@split1)+@moveLR endif elseif row5 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-9*lti/@divV))+flip(@split1)+@moveLR endif elseif row6 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-11*lti/@divV))-flip(@split1)+@moveLR endif elseif row7 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-13*lti/@divV))+flip(@split1)+@moveLR endif elseif row8 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-15*lti/@divV))-flip(@split1)+@moveLR endif elseif row9 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-17*lti/@divV))+flip(@split1)+@moveLR endif elseif row10 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-19*lti/@divV))-flip(@split1)+@moveLR endif elseif row11 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-21*lti/@divV))+flip(@split1)+@moveLR endif elseif row12 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-23*lti/@divV))-flip(@split1)+@moveLR endif elseif row13 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-25*lti/@divV))+flip(@split1)+@moveLR endif elseif row14 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-27*lti/@divV))-flip(@split1)+@moveLR endif elseif row15 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-29*lti/@divV))+flip(@split1)+@moveLR endif elseif row16 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-31*lti/@divV))-flip(@split1)+@moveLR endif elseif row17 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-33*lti/@divV))+flip(@split1)+@moveLR endif elseif row18 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-35*lti/@divV))-flip(@split1)+@moveLR endif elseif row19 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-37*lti/@divV))+flip(@split1)+@moveLR endif elseif row20 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-39*lti/@divV))-flip(@split1)+@moveLR endif elseif row21 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-41*lti/@divV))+flip(@split1)+@moveLR endif elseif row22 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-43*lti/@divV))-flip(@split1)+@moveLR endif elseif row23 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-45*lti/@divV))+flip(@split1)+@moveLR endif elseif row24 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-47*lti/@divV))-flip(@split1)+@moveLR endif elseif row25 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-49*lti/@divV))+flip(@split1)+@moveLR endif elseif row26 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-51*lti/@divV))-flip(@split1)+@moveLR endif elseif row27 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-53*lti/@divV))+flip(@split1)+@moveLR endif elseif row28 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-55*lti/@divV))-flip(@split1)+@moveLR endif elseif row29 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-57*lti/@divV))+flip(@split1)+@moveLR endif elseif row30 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-59*lti/@divV))-flip(@split1)+@moveLR endif elseif row31 if col1 z = -s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col2 z = s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col3 z = -s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col4 z = s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col5 z = -s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col6 z = s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col7 z = -s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col8 z = s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col9 z = -s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col10 z = s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col11 z = -s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col12 z = s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col13 z = -s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col14 z = s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col15 z = -s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col16 z = s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col17 z = -s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col18 z = s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col19 z = -s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col20 z = s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col21 z = -s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col22 z = s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col23 z = -s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col24 z = s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col25 z = -s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col26 z = s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col27 z = -s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col28 z = s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col29 z = -s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col30 z = s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col31 z = -s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR elseif col32 z = s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-61*lti/@divV))+flip(@split1)+@moveLR endif elseif row32 if col1 z = s*@shrink*fn1(z)+p+ltr-ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col2 z = -s*@shrink*fn1(z)+p+ltr-3*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col3 z = s*@shrink*fn1(z)+p+ltr-5*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col4 z = -s*@shrink*fn1(z)+p+ltr-7*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col5 z = s*@shrink*fn1(z)+p+ltr-9*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col6 z = -s*@shrink*fn1(z)+p+ltr-11*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col7 z = s*@shrink*fn1(z)+p+ltr-13*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col8 z = -s*@shrink*fn1(z)+p+ltr-15*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col9 z = s*@shrink*fn1(z)+p+ltr-17*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col10 z = -s*@shrink*fn1(z)+p+ltr-19*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col11 z = s*@shrink*fn1(z)+p+ltr-21*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col12 z = -s*@shrink*fn1(z)+p+ltr-23*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col13 z = s*@shrink*fn1(z)+p+ltr-25*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col14 z = -s*@shrink*fn1(z)+p+ltr-27*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col15 z = s*@shrink*fn1(z)+p+ltr-29*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col16 z = -s*@shrink*fn1(z)+p+ltr-31*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col17 z = s*@shrink*fn1(z)+p+ltr-33*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col18 z = -s*@shrink*fn1(z)+p+ltr-35*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col19 z = s*@shrink*fn1(z)+p+ltr-37*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col20 z = -s*@shrink*fn1(z)+p+ltr-39*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col21 z = s*@shrink*fn1(z)+p+ltr-41*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col22 z = -s*@shrink*fn1(z)+p+ltr-43*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col23 z = s*@shrink*fn1(z)+p+ltr-45*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col24 z = -s*@shrink*fn1(z)+p+ltr-47*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col25 z = s*@shrink*fn1(z)+p+ltr-49*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col26 z = -s*@shrink*fn1(z)+p+ltr-51*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col27 z = s*@shrink*fn1(z)+p+ltr-53*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col28 z = -s*@shrink*fn1(z)+p+ltr-55*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col29 z = s*@shrink*fn1(z)+p+ltr-57*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col30 z = -s*@shrink*fn1(z)+p+ltr-59*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col31 z = s*@shrink*fn1(z)+p+ltr-61*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR elseif col32 z = -s*@shrink*fn1(z)+p+ltr-63*ltr/@divH-flip(conj(lti-63*lti/@divV))-flip(@split1)+@moveLR endif endif bailout: |z| < @bailout default: title = "Four-X-7" func fn1 default = flip() caption = "Function 1" endfunc int param divH default = 4 caption = "Columns" endparam int param divV default = 4 caption = "Rows" endparam float param borderV default = 0 caption = "Vert. border" endparam float param borderH default = 0 caption = "Horiz. border" endparam param respace enum = "Choose" "Set" default = 0 caption = "Respace" endparam param sizeit enum = "...not sized" "...sized" default = 0 caption = "Adjust size (all)" visible = @respace == 0 enabled = @respace == 0 endparam float param lti default = 1.5 caption = " - V/space" visible = @respace == 0 enabled = @respace == 0 endparam float param ltr default = 2 caption = " - H/space" visible = @respace == 0 enabled = @respace == 0 endparam param ang caption = " - rotation (degrees)" default = 0.0 endparam float param shrink default = 1 caption = " - shrink" endparam float param moveLR default = 0 caption = " - move left/right" visible = @respace == 0 enabled = @respace == 0 endparam float param split1 default = 0 caption = " - vert. split" visible = @respace == 0 enabled = @respace == 0 endparam param switchbak enum = "Flipped" "Unflipped" default = 0 caption = " - switch" endparam float param bailout default = 4 caption = "Bailout" endparam } ManGrid8 { init: z = 0 p = #pixel if @switchodd == 0 && @sizeit == 0 so = 1 elseif @switchodd == 1 && @sizeit == 0 so = -1 elseif @switchodd == 0 && @sizeit == 1 so = (@divW+@divH)/2 elseif @switchodd == 1 && @sizeit == 1 so = -(@divW+@divH)/2 endif if @switcheven == 0 && @sizeit == 0 se = 1 elseif @switcheven == 1 && @sizeit == 0 se = -1 elseif @switcheven == 0 && @sizeit == 1 se = @divW elseif @switcheven == 1 && @sizeit == 1 se = -@divW endif if #width > #height && #width - #height > #height/3 float lti = 1.5 float ltr = #width/#height*lti else float ltr = 2 float lti = #height/#width*ltr endif float segW = #width/@divW float segH = #height/@divH complex m = (1,0) complex n = (0,1) if @quarters == 1 && #y < @divH/2*segH && #x < @divW/2*segW @ang = @ang+180 elseif @quarters == 1 && #y < @divH/2*segH && #x >= @divW/2*segW @ang = @ang-90 @shift1 = flip(conj(-@shift1)) @shift2 = flip(conj(-@shift2)) elseif @quarters == 1 && #y >= @divH/2*segH && #x < @divW/2*segW @ang = @ang+90 @shift1 = flip(conj(@shift1)) @shift2 = flip(conj(@shift2)) elseif @quarters == 1 && #y >= @divH/2*segH && #x >= @divW/2*segW @ang = @ang @shift1 = -@shift1 @shift2 = -@shift2 endif float ang = #pi*@ang/360.0 float ca = cos(ang) float sa = sin(ang) float r0c0 = real(m)*ca-real(n)*sa float r0c1 = real(m)*sa+real(n)*ca float r1c0 = imag(m)*ca-imag(n)*sa float r1c1 = imag(m)*sa+imag(n)*ca if @mirror == 1 && #x < #width/2 se = se*-1 so = so*-1 else se = se so = so endif loop: x1 = real(z) y1 = imag(z) t = x1 x1 = x1*r0c0 + y1*r1c0 y1 = t*r0c1 + y1*r1c1 z = x1 + flip(y1) if #y >= @borderH/2 && #y <= segH - @borderH/2 ;@borderH = height (vertical) border if #x >= @borderW/2 && #x <= segW - @borderW/2 ;@borderW = width (horizontal) border z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divw - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-lti/@divH))+@shift2 endif elseif #y >= segH + @borderH/2 && #y <= 2*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-3*lti/@divH))+@shift1 endif elseif #y >= 2*segH + @borderH/2 && #y <= 3*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-5*lti/@divH))+@shift2 endif elseif #y >= 3*segH + @borderH/2 && #y <= 4*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-7*lti/@divH))+@shift1 endif elseif #y >= 4*segH + @borderH/2 && #y <= 5*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-9*lti/@divH))+@shift2 endif elseif #y >= 5*segH + @borderH/2 && #y <= 6*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-11*lti/@divH))+@shift1 endif elseif #y >= 6*segH + @borderH/2 && #y <= 7*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-13*lti/@divH))+@shift2 endif elseif #y >= 7*segH + @borderH/2 && #y <= 8*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-15*lti/@divH))+@shift1 endif elseif #y >= 8*segH + @borderH/2 && #y <= 9*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-17*lti/@divH))+@shift2 endif elseif #y >= 9*segH + @borderH/2 && #y <= 10*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-19*lti/@divH))+@shift1 endif elseif #y >= 10*segH + @borderH/2 && #y <= 11*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-21*lti/@divH))+@shift2 endif elseif #y >= 11*segH + @borderH/2 && #y <= 12*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-23*lti/@divH))+@shift1 endif elseif #y >= 12*segH + @borderH/2 && #y <= 13*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-25*lti/@divH))+@shift2 endif elseif #y >= 13*segH + @borderH/2 && #y <= 14*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-27*lti/@divH))+@shift1 endif elseif #y >= 14*segH + @borderH/2 && #y <= 15*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift1 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-29*lti/@divH))+@shift2 endif elseif #y >= 15*segH + @borderH/2 && #y <= 16*segH - @borderH/2 if #x >= @borderW/2 && #x <= segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= segW + @borderW/2 && #x <= 2*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 3*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 2*segW + @borderW/2 && #x <= 3*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 5*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 3*segW + @borderW/2 && #x <= 4*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 7*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 4*segW + @borderW/2 && #x <= 5*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 9*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 5*segW + @borderW/2 && #x <= 6*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 11*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 6*segW + @borderW/2 && #x <= 7*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 13*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 7*segW + @borderW/2 && #x <= 8*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 15*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 8*segW + @borderW/2 && #x <= 9*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 17*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 9*segW + @borderW/2 && #x <= 10*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 19*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 10*segW + @borderW/2 && #x <= 11*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 21*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 11*segW + @borderW/2 && #x <= 12*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 23*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 12*segW + @borderW/2 && #x <= 13*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 25*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 13*segW + @borderW/2 && #x <= 14*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 27*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 elseif #x >= 14*segW + @borderW/2 && #x <= 15*segW - @borderW/2 z = se*@shrinkeven*fn2(z) + p + ltr - 29*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift2 elseif #x >= 15*segW + @borderW/2 && #x <= 16*segW - @borderW/2 z = so*@shrinkodd*fn1(z) + p + ltr - 31*ltr/@divW - flip(conj(lti-31*lti/@divH))+@shift1 endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && ((|real(z)|)%@mod) <= @bailout) || \ (@test == 2 && ((|imag(z)|)%@mod) <= @bailout) || \ (@test == 3 && (sqr(real(z))%@mod) <= @bailout) || \ (@test == 4 && (sqr(imag(z))%@mod) <= @bailout) || \ (@test == 5 && (sqr(flip(z))) <= @bailout) || \ (@test == 6 && (sqr(conj(z))) <= @bailout) || \ (@test == 7 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 10 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 11 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 12 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 13 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 14 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 15 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) || \ (@test == 16 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)+imag(z)))) <= @bailout*10)) || \ (@test == 17 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 18 && (sqr(@fun(real(z)+imag(z))) && 1/(sqr(@fun(-real(z)-imag(z)))) <= @bailout*10)) || \ (@test == 19 && (sqr(@fun(real(z)-imag(z))) && 1/(sqr(@fun(real(z)+imag(z)))) <= @bailout*10)) default: title = "ManGrid8" int param divW caption = "Horizontal Divisions" default = 8 endparam int param divH caption = "Vertical Divisions" default = 8 endparam param ang caption = "Rotation (degrees)" default = 0.0 endparam param quarters enum = "Off" "On" default = 0 caption = "Quarterise" endparam param sizeit enum = "...not sized" "...sized" default = 0 caption = "Adjust size (all)" endparam param mirror enum = "...off" "...on" default = 0 caption = "Mirror (all)" endparam heading caption = "BORDERS" endheading float param borderH caption = " - horizontal" default = 1 endparam float param borderW caption = " - vertical" default = 1 endparam heading caption = "FUNCTION 1 (odd)" endheading func fn1 caption = " - function" default = ident() endfunc float param shrinkodd caption = " - shrink" default = 1 endparam complex param shift1 caption = " - shift" default = (0,0) endparam param switchodd enum = "One way..." "...or the other" default = 0 caption = " - switch fn1" endparam heading caption = "FUNCTION 2 (even)" endheading func fn2 caption = " - function" default = zero() endfunc float param shrinkeven caption = " - shrink" default = 1 endparam complex param shift2 caption = " - shift" default = (0,0) endparam param switcheven enum = "One way..." "...or the other" default = 0 caption = " - switch fn2" endparam heading caption = "BAILOUT:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real mod" "imag mod" "sqr real mod" "sqr imag mod" \ "flip" "conj" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn1(r+i)" "fn1(r-i)" \ "1/fn1(i-r)" "1/fn1(r-i)" "-1/fn1(-r-i)" "-1/fn1(r+i)" endparam func fun default = log() caption = " - function" enabled = @test >= 14 visible = @test >= 14 endfunc int param mod caption = " - modifier" default = 2 enabled = @test <= 4 visible = @test <= 4 endparam param bailout caption = " - value" default = 128 min = 1 endparam } diags6a { init: z = 0 float x = (#width/2-#x) float y = (#height/2-#y) complex p = #pixel float ang = atan(y/x) float segs = 2*#pi/@segs float rings = #height/@rings/1.66 loop: if x*y > 0 if ang > 0 && ang < segs || \ ang > 2*segs && ang < 3*segs || \ ang > 4*segs && ang < 5*segs || \ ang > 6*segs && ang < 7*segs || \ ang > 8*segs && ang < 9*segs || \ ang > 10*segs && ang < 11*segs || \ ang > 12*segs && ang < 13*segs || \ ang > 14*segs && ang < 15*segs || \ ang > 16*segs && ang < 17*segs || \ ang > 18*segs && ang < 19*segs || \ ang > 20*segs && ang < 21*segs || \ ang > 22*segs && ang < 23*segs || \ ang > 24*segs && ang < 25*segs || \ ang > 26*segs && ang < 27*segs || \ ang > 28*segs && ang < 29*segs || \ ang > 30*segs && ang < 31*segs || \ ang > 32*segs && ang < 33*segs || \ ang > 34*segs && ang < 35*segs || \ ang > 36*segs && ang < 37*segs || \ ang > 38*segs && ang < 39*segs || \ ang > 40*segs && ang < 41*segs || \ ang > 42*segs && ang < 43*segs || \ ang > 44*segs && ang < 45*segs || \ ang > 46*segs && ang < 47*segs || \ ang > 48*segs && ang < 49*segs || \ ang > 50*segs && ang < 51*segs || \ ang > 52*segs && ang < 53*segs || \ ang > 54*segs && ang < 55*segs || \ ang > 56*segs && ang < 57*segs || \ ang > 58*segs && ang < 59*segs || \ ang > 60*segs && ang < 61*segs || \ ang > 62*segs && ang < 63*segs || \ ang > 64*segs && ang < 65*segs || \ ang > 66*segs && ang < 67*segs || \ ang > 68*segs && ang < 69*segs || \ ang > 70*segs && ang < 71*segs || \ ang > 72*segs && ang < 73*segs || \ ang > 74*segs && ang < 75*segs || \ ang > 76*segs && ang < 77*segs || \ ang > 78*segs && ang < 79*segs || \ ang > 80*segs && ang < 81*segs || \ ang > 82*segs && ang < 83*segs || \ ang > 84*segs && ang < 85*segs || \ ang > 86*segs && ang < 87*segs || \ ang > 88*segs && ang < 89*segs || \ ang > 90*segs && ang < 91*segs || \ ang > 92*segs && ang < 93*segs || \ ang > 94*segs && ang < 95*segs || \ ang > 96*segs && ang < 97*segs || \ ang > 98*segs && ang < 99*segs || \ ang > 100*segs && ang < 101*segs if sqrt(x^2+y^2) > 0*rings && sqrt(x^2+y^2) < 1*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 1*rings && sqrt(x^2+y^2) < 2*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 2*rings && sqrt(x^2+y^2) < 3*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 3*rings && sqrt(x^2+y^2) < 4*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 4*rings && sqrt(x^2+y^2) < 5*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 5*rings && sqrt(x^2+y^2) < 6*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 6*rings && sqrt(x^2+y^2) < 7*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 7*rings && sqrt(x^2+y^2) < 8*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 8*rings && sqrt(x^2+y^2) < 9*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 9*rings && sqrt(x^2+y^2) < 10*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 10*rings && sqrt(x^2+y^2) < 11*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 11*rings && sqrt(x^2+y^2) < 12*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 12*rings && sqrt(x^2+y^2) < 13*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 13*rings && sqrt(x^2+y^2) < 14*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 14*rings && sqrt(x^2+y^2) < 15*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 15*rings && sqrt(x^2+y^2) < 16*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 16*rings && sqrt(x^2+y^2) < 17*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 17*rings && sqrt(x^2+y^2) < 18*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 18*rings && sqrt(x^2+y^2) < 19*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 19*rings && sqrt(x^2+y^2) < 20*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 20*rings && sqrt(x^2+y^2) < 21*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 21*rings && sqrt(x^2+y^2) < 22*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 22*rings && sqrt(x^2+y^2) < 23*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 23*rings && sqrt(x^2+y^2) < 24*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 24*rings && sqrt(x^2+y^2) < 25*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 25*rings && sqrt(x^2+y^2) < 26*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 26*rings && sqrt(x^2+y^2) < 27*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 27*rings && sqrt(x^2+y^2) < 28*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 28*rings && sqrt(x^2+y^2) < 29*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 29*rings && sqrt(x^2+y^2) < 30*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 30*rings && sqrt(x^2+y^2) < 31*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 31*rings && sqrt(x^2+y^2) < 32*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 32*rings && sqrt(x^2+y^2) < 33*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 33*rings && sqrt(x^2+y^2) < 34*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 34*rings && sqrt(x^2+y^2) < 35*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 35*rings && sqrt(x^2+y^2) < 36*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 36*rings && sqrt(x^2+y^2) < 37*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 37*rings && sqrt(x^2+y^2) < 38*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 38*rings && sqrt(x^2+y^2) < 39*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 39*rings && sqrt(x^2+y^2) < 40*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 40*rings && sqrt(x^2+y^2) < 41*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 41*rings && sqrt(x^2+y^2) < 42*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 42*rings && sqrt(x^2+y^2) < 43*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 43*rings && sqrt(x^2+y^2) < 44*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 44*rings && sqrt(x^2+y^2) < 45*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 45*rings && sqrt(x^2+y^2) < 46*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 46*rings && sqrt(x^2+y^2) < 47*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 47*rings && sqrt(x^2+y^2) < 48*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 48*rings && sqrt(x^2+y^2) < 49*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 49*rings && sqrt(x^2+y^2) < 50*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 50*rings && sqrt(x^2+y^2) < 51*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 51*rings && sqrt(x^2+y^2) < 52*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 52*rings && sqrt(x^2+y^2) < 53*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 53*rings && sqrt(x^2+y^2) < 54*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 54*rings && sqrt(x^2+y^2) < 55*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 55*rings && sqrt(x^2+y^2) < 56*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 56*rings && sqrt(x^2+y^2) < 57*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 57*rings && sqrt(x^2+y^2) < 58*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 58*rings && sqrt(x^2+y^2) < 59*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 59*rings && sqrt(x^2+y^2) < 60*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 60*rings && sqrt(x^2+y^2) < 61*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 61*rings && sqrt(x^2+y^2) < 62*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 62*rings && sqrt(x^2+y^2) < 63*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 63*rings && sqrt(x^2+y^2) < 64*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 64*rings && sqrt(x^2+y^2) < 65*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 65*rings && sqrt(x^2+y^2) < 66*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 66*rings && sqrt(x^2+y^2) < 67*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 67*rings && sqrt(x^2+y^2) < 68*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 68*rings && sqrt(x^2+y^2) < 69*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 69*rings && sqrt(x^2+y^2) < 70*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 70*rings && sqrt(x^2+y^2) < 71*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 71*rings && sqrt(x^2+y^2) < 72*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 72*rings && sqrt(x^2+y^2) < 73*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif endif else if sqrt(x^2+y^2) > 0*rings && sqrt(x^2+y^2) < 1*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 1*rings && sqrt(x^2+y^2) < 2*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 2*rings && sqrt(x^2+y^2) < 3*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 3*rings && sqrt(x^2+y^2) < 4*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 4*rings && sqrt(x^2+y^2) < 5*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 5*rings && sqrt(x^2+y^2) < 6*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 6*rings && sqrt(x^2+y^2) < 7*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 7*rings && sqrt(x^2+y^2) < 8*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 8*rings && sqrt(x^2+y^2) < 9*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 9*rings && sqrt(x^2+y^2) < 10*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 10*rings && sqrt(x^2+y^2) < 11*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 11*rings && sqrt(x^2+y^2) < 12*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 12*rings && sqrt(x^2+y^2) < 13*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 13*rings && sqrt(x^2+y^2) < 14*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 14*rings && sqrt(x^2+y^2) < 15*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 15*rings && sqrt(x^2+y^2) < 16*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 16*rings && sqrt(x^2+y^2) < 17*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 17*rings && sqrt(x^2+y^2) < 18*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 18*rings && sqrt(x^2+y^2) < 19*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 19*rings && sqrt(x^2+y^2) < 20*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 20*rings && sqrt(x^2+y^2) < 21*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 21*rings && sqrt(x^2+y^2) < 22*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 22*rings && sqrt(x^2+y^2) < 23*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 23*rings && sqrt(x^2+y^2) < 24*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 24*rings && sqrt(x^2+y^2) < 25*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 25*rings && sqrt(x^2+y^2) < 26*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 26*rings && sqrt(x^2+y^2) < 27*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 27*rings && sqrt(x^2+y^2) < 28*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 28*rings && sqrt(x^2+y^2) < 29*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 29*rings && sqrt(x^2+y^2) < 30*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 30*rings && sqrt(x^2+y^2) < 31*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 31*rings && sqrt(x^2+y^2) < 32*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 32*rings && sqrt(x^2+y^2) < 33*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 33*rings && sqrt(x^2+y^2) < 34*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 34*rings && sqrt(x^2+y^2) < 35*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 35*rings && sqrt(x^2+y^2) < 36*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 36*rings && sqrt(x^2+y^2) < 37*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 37*rings && sqrt(x^2+y^2) < 38*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 38*rings && sqrt(x^2+y^2) < 39*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 39*rings && sqrt(x^2+y^2) < 40*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 40*rings && sqrt(x^2+y^2) < 41*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 41*rings && sqrt(x^2+y^2) < 42*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 42*rings && sqrt(x^2+y^2) < 43*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 43*rings && sqrt(x^2+y^2) < 44*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 44*rings && sqrt(x^2+y^2) < 45*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 45*rings && sqrt(x^2+y^2) < 46*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 46*rings && sqrt(x^2+y^2) < 47*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 47*rings && sqrt(x^2+y^2) < 48*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 48*rings && sqrt(x^2+y^2) < 49*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 49*rings && sqrt(x^2+y^2) < 50*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 50*rings && sqrt(x^2+y^2) < 51*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 51*rings && sqrt(x^2+y^2) < 52*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 52*rings && sqrt(x^2+y^2) < 53*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 53*rings && sqrt(x^2+y^2) < 54*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 54*rings && sqrt(x^2+y^2) < 55*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 55*rings && sqrt(x^2+y^2) < 56*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 56*rings && sqrt(x^2+y^2) < 57*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 57*rings && sqrt(x^2+y^2) < 58*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 58*rings && sqrt(x^2+y^2) < 59*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 59*rings && sqrt(x^2+y^2) < 60*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 60*rings && sqrt(x^2+y^2) < 61*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 61*rings && sqrt(x^2+y^2) < 62*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 62*rings && sqrt(x^2+y^2) < 63*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 63*rings && sqrt(x^2+y^2) < 64*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 64*rings && sqrt(x^2+y^2) < 65*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 65*rings && sqrt(x^2+y^2) < 66*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 66*rings && sqrt(x^2+y^2) < 67*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 67*rings && sqrt(x^2+y^2) < 68*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 68*rings && sqrt(x^2+y^2) < 69*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 69*rings && sqrt(x^2+y^2) < 70*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif elseif sqrt(x^2+y^2) > 70*rings && sqrt(x^2+y^2) < 71*rings if #x < #width/2 z = @shrink1*fn1(z)+p+flip(@split1)+@split1a else z = -@shrink1*fn1(z)+p-flip(@split1)-@split1a endif elseif sqrt(x^2+y^2) > 71*rings && sqrt(x^2+y^2) < 72*rings if #x < #width/2 z = @shrink2*fn2(z)+p-flip(@split2)-@split2a else z = -@shrink2*fn2(z)+p+flip(@split2)+@split2a endif endif endif elseif x*y <= 0 if ang < 0 && ang > -1*segs || \ ang < -2*segs && ang > -3*segs || \ ang < -4*segs && ang > -5*segs || \ ang < -6*segs && ang > -7*segs || \ ang < -8*segs && ang > -9*segs || \ ang < -10*segs && ang > -11*segs || \ ang < -12*segs && ang > -13*segs || \ ang < -14*segs && ang > -15*segs || \ ang < -16*segs && ang > -17*segs || \ ang < -18*segs && ang > -19*segs || \ ang < -20*segs && ang > -21*segs || \ ang < -22*segs && ang > -23*segs || \ ang < -24*segs && ang > -25*segs || \ ang < -26*segs && ang > -27*segs || \ ang < -28*segs && ang > -29*segs || \ ang < -30*segs && ang > -31*segs || \ ang < -32*segs && ang > -33*segs || \ ang < -34*segs && ang > -35*segs || \ ang < -36*segs && ang > -37*segs || \ ang < -38*segs && ang > -39*segs || \ ang < -40*segs && ang > -41*segs || \ ang < -42*segs && ang > -43*segs || \ ang < -44*segs && ang > -45*segs || \ ang < -46*segs && ang > -47*segs || \ ang < -48*segs && ang > -49*segs || \ ang < -50*segs && ang > -51*segs || \ ang < -52*segs && ang > -53*segs || \ ang < -54*segs && ang > -55*segs || \ ang < -56*segs && ang > -57*segs || \ ang < -58*segs && ang > -59*segs || \ ang < -60*segs && ang > -61*segs || \ ang < -62*segs && ang > -63*segs || \ ang < -64*segs && ang > -65*segs || \ ang < -66*segs && ang > -67*segs || \ ang < -68*segs && ang > -69*segs || \ ang < -70*segs && ang > -71*segs || \ ang < -72*segs && ang > -73*segs || \ ang < -74*segs && ang > -75*segs || \ ang < -76*segs && ang > -77*segs || \ ang < -78*segs && ang > -79*segs || \ ang < -80*segs && ang > -81*segs || \ ang < -82*segs && ang > -83*segs || \ ang < -84*segs && ang > -85*segs || \ ang < -86*segs && ang > -87*segs || \ ang < -88*segs && ang > -89*segs || \ ang < -90*segs && ang > -91*segs || \ ang < -92*segs && ang > -93*segs || \ ang < -94*segs && ang > -95*segs || \ ang < -96*segs && ang > -97*segs || \ ang < -98*segs && ang > -99*segs || \ ang < -100*segs if sqrt(x^2+y^2) > 0*rings && sqrt(x^2+y^2) < 1*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 1*rings && sqrt(x^2+y^2) < 2*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 2*rings && sqrt(x^2+y^2) < 3*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 3*rings && sqrt(x^2+y^2) < 4*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 4*rings && sqrt(x^2+y^2) < 5*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 5*rings && sqrt(x^2+y^2) < 6*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 6*rings && sqrt(x^2+y^2) < 7*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 7*rings && sqrt(x^2+y^2) < 8*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 8*rings && sqrt(x^2+y^2) < 9*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 9*rings && sqrt(x^2+y^2) < 10*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 10*rings && sqrt(x^2+y^2) < 11*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 11*rings && sqrt(x^2+y^2) < 12*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 12*rings && sqrt(x^2+y^2) < 13*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 13*rings && sqrt(x^2+y^2) < 14*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 14*rings && sqrt(x^2+y^2) < 15*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 15*rings && sqrt(x^2+y^2) < 16*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 16*rings && sqrt(x^2+y^2) < 17*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 17*rings && sqrt(x^2+y^2) < 18*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 18*rings && sqrt(x^2+y^2) < 19*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 19*rings && sqrt(x^2+y^2) < 20*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 20*rings && sqrt(x^2+y^2) < 21*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 21*rings && sqrt(x^2+y^2) < 22*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 22*rings && sqrt(x^2+y^2) < 23*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 23*rings && sqrt(x^2+y^2) < 24*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 24*rings && sqrt(x^2+y^2) < 25*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 25*rings && sqrt(x^2+y^2) < 26*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 26*rings && sqrt(x^2+y^2) < 27*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 27*rings && sqrt(x^2+y^2) < 28*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 28*rings && sqrt(x^2+y^2) < 29*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 29*rings && sqrt(x^2+y^2) < 30*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 30*rings && sqrt(x^2+y^2) < 31*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 31*rings && sqrt(x^2+y^2) < 32*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 32*rings && sqrt(x^2+y^2) < 33*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 33*rings && sqrt(x^2+y^2) < 34*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 34*rings && sqrt(x^2+y^2) < 35*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 35*rings && sqrt(x^2+y^2) < 36*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 36*rings && sqrt(x^2+y^2) < 37*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 37*rings && sqrt(x^2+y^2) < 38*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 38*rings && sqrt(x^2+y^2) < 39*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 39*rings && sqrt(x^2+y^2) < 40*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 40*rings && sqrt(x^2+y^2) < 41*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 41*rings && sqrt(x^2+y^2) < 42*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 42*rings && sqrt(x^2+y^2) < 43*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 43*rings && sqrt(x^2+y^2) < 44*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 44*rings && sqrt(x^2+y^2) < 45*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 45*rings && sqrt(x^2+y^2) < 46*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 46*rings && sqrt(x^2+y^2) < 47*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 47*rings && sqrt(x^2+y^2) < 48*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 48*rings && sqrt(x^2+y^2) < 49*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 49*rings && sqrt(x^2+y^2) < 50*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 50*rings && sqrt(x^2+y^2) < 51*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 51*rings && sqrt(x^2+y^2) < 52*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 52*rings && sqrt(x^2+y^2) < 53*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 53*rings && sqrt(x^2+y^2) < 54*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 54*rings && sqrt(x^2+y^2) < 55*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 55*rings && sqrt(x^2+y^2) < 56*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 56*rings && sqrt(x^2+y^2) < 57*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 57*rings && sqrt(x^2+y^2) < 58*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 58*rings && sqrt(x^2+y^2) < 59*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 59*rings && sqrt(x^2+y^2) < 60*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 60*rings && sqrt(x^2+y^2) < 61*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 61*rings && sqrt(x^2+y^2) < 62*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 62*rings && sqrt(x^2+y^2) < 63*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 63*rings && sqrt(x^2+y^2) < 64*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 64*rings && sqrt(x^2+y^2) < 65*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 65*rings && sqrt(x^2+y^2) < 66*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 66*rings && sqrt(x^2+y^2) < 67*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 67*rings && sqrt(x^2+y^2) < 68*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 68*rings && sqrt(x^2+y^2) < 69*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 69*rings && sqrt(x^2+y^2) < 70*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 70*rings && sqrt(x^2+y^2) < 71*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 71*rings && sqrt(x^2+y^2) < 72*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif endif else if sqrt(x^2+y^2) > 0*rings && sqrt(x^2+y^2) < 1*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 1*rings && sqrt(x^2+y^2) < 2*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 2*rings && sqrt(x^2+y^2) < 3*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 3*rings && sqrt(x^2+y^2) < 4*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 4*rings && sqrt(x^2+y^2) < 5*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 5*rings && sqrt(x^2+y^2) < 6*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 6*rings && sqrt(x^2+y^2) < 7*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 7*rings && sqrt(x^2+y^2) < 8*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 8*rings && sqrt(x^2+y^2) < 9*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 9*rings && sqrt(x^2+y^2) < 10*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 10*rings && sqrt(x^2+y^2) < 11*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 11*rings && sqrt(x^2+y^2) < 12*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 12*rings && sqrt(x^2+y^2) < 13*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 13*rings && sqrt(x^2+y^2) < 14*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 14*rings && sqrt(x^2+y^2) < 15*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 15*rings && sqrt(x^2+y^2) < 16*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 16*rings && sqrt(x^2+y^2) < 17*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 17*rings && sqrt(x^2+y^2) < 18*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 18*rings && sqrt(x^2+y^2) < 19*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 19*rings && sqrt(x^2+y^2) < 20*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 20*rings && sqrt(x^2+y^2) < 21*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 21*rings && sqrt(x^2+y^2) < 22*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 22*rings && sqrt(x^2+y^2) < 23*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 23*rings && sqrt(x^2+y^2) < 24*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 24*rings && sqrt(x^2+y^2) < 25*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 25*rings && sqrt(x^2+y^2) < 26*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 26*rings && sqrt(x^2+y^2) < 27*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 27*rings && sqrt(x^2+y^2) < 28*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 28*rings && sqrt(x^2+y^2) < 29*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 29*rings && sqrt(x^2+y^2) < 30*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 30*rings && sqrt(x^2+y^2) < 31*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 31*rings && sqrt(x^2+y^2) < 32*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 32*rings && sqrt(x^2+y^2) < 33*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 33*rings && sqrt(x^2+y^2) < 34*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 34*rings && sqrt(x^2+y^2) < 35*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 35*rings && sqrt(x^2+y^2) < 36*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 36*rings && sqrt(x^2+y^2) < 37*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 37*rings && sqrt(x^2+y^2) < 38*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 38*rings && sqrt(x^2+y^2) < 39*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 39*rings && sqrt(x^2+y^2) < 40*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 40*rings && sqrt(x^2+y^2) < 41*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 41*rings && sqrt(x^2+y^2) < 42*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 42*rings && sqrt(x^2+y^2) < 43*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 43*rings && sqrt(x^2+y^2) < 44*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 44*rings && sqrt(x^2+y^2) < 45*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 45*rings && sqrt(x^2+y^2) < 46*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 46*rings && sqrt(x^2+y^2) < 47*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 47*rings && sqrt(x^2+y^2) < 48*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 48*rings && sqrt(x^2+y^2) < 49*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 49*rings && sqrt(x^2+y^2) < 50*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 50*rings && sqrt(x^2+y^2) < 51*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 51*rings && sqrt(x^2+y^2) < 52*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 52*rings && sqrt(x^2+y^2) < 53*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 53*rings && sqrt(x^2+y^2) < 54*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 54*rings && sqrt(x^2+y^2) < 55*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 55*rings && sqrt(x^2+y^2) < 56*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 56*rings && sqrt(x^2+y^2) < 57*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 57*rings && sqrt(x^2+y^2) < 58*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 58*rings && sqrt(x^2+y^2) < 59*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 59*rings && sqrt(x^2+y^2) < 60*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 60*rings && sqrt(x^2+y^2) < 61*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 61*rings && sqrt(x^2+y^2) < 62*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 62*rings && sqrt(x^2+y^2) < 63*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 63*rings && sqrt(x^2+y^2) < 64*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 64*rings && sqrt(x^2+y^2) < 65*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 65*rings && sqrt(x^2+y^2) < 66*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 66*rings && sqrt(x^2+y^2) < 67*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 67*rings && sqrt(x^2+y^2) < 68*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 68*rings && sqrt(x^2+y^2) < 69*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 69*rings && sqrt(x^2+y^2) < 70*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 70*rings && sqrt(x^2+y^2) < 71*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif elseif sqrt(x^2+y^2) > 71*rings && sqrt(x^2+y^2) < 72*rings if #x < #width/2 z = @shrink3*fn3(z)+p+flip(@split3)+@split3a else z = -@shrink3*fn3(z)+p-flip(@split3)-@split3a endif elseif sqrt(x^2+y^2) > 72*rings && sqrt(x^2+y^2) < 73*rings if #x < #width/2 z = @shrink4*fn4(z)+p-flip(@split4)-@split4a else z = -@shrink4*fn4(z)+p+flip(@split4)+@split4a endif endif endif endif bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "Diags_Six" method = multipass periodicity = 0 heading caption = "Segments:" endheading float param segs caption = " (min 8, max 400)" default = 16 ; min = 8 max = 400 endparam float param rings caption = "Rings" default = 32 endparam heading caption = "Functions 1 & 2 (TL & BR):" endheading func fn1 caption = " - function 1" default = sqr() endfunc float param shrink1 caption = " - shrink" default = 1 endparam float param split1 caption = " - split U/D" default = 0 endparam float param split1a caption = " - split R/L" default = 0 endparam func fn2 caption = " - function 2" default = sqr() endfunc float param shrink2 caption = " - shrink" default = 2 endparam float param split2 caption = " - split U/D" default = 0 endparam float param split2a caption = " - split R/L" default = 0 endparam heading caption = "Functions 3 & 4 (TR & BL):" endheading func fn3 caption = " - function 3" default = sqr() endfunc float param shrink3 caption = " - shrink" default = 2 endparam float param split3 caption = " - split U/D" default = 0 endparam float param split3a caption = " - split R/L" default = 0 endparam func fn4 caption = " - function 4" default = sqr() endfunc float param shrink4 caption = " - shrink" default = 1 endparam float param split4 caption = " - split U/D" default = 0 endparam float param split4a caption = " - split R/L" default = 0 endparam heading caption = "Bailout:" endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam } CorneredMandelbrot { ; ...fractal jammed into a corner? init: z = 0 complex p = #pixel loop: z = @shrink*(fn1(z)-fn2(p)+fn3(z))-@factor*fn4(p) bailout: (@test == 0 && |z| <= @bailout) || \ (@test == 1 && sqr(real(z)) <= @bailout) || \ (@test == 2 && sqr(imag(z)) <= @bailout) || \ (@test == 3 && (sqr(real(z)) <= @bailout && sqr(imag(z)) < @bailout)) || \ (@test == 4 && (sqr(real(z)) <= @bailout || sqr(imag(z)) < @bailout)) || \ (@test == 5 && (sqr(abs(real(z)/imag(z))) <= @bailout)) || \ (@test == 6 && (sqr(abs(imag(z)/real(z))) <= @bailout)) || \ (@test == 7 && (sqr(abs(real(z)*imag(z))) <= @bailout)) || \ (@test == 8 && (sqr(abs(real(z)^imag(z))) <= @bailout)) || \ (@test == 9 && (sqr(abs(imag(z)^real(z))) <= @bailout)) || \ (@test == 10 && (sqr(real(z) + imag(z)) <= @bailout)) || \ (@test == 11 && (sqr(real(z) - imag(z)) <= @bailout)) || \ (@test == 12 && (sqr(@fun(real(z)+imag(z))) <= @bailout)) || \ (@test == 13 && (sqr(@fun(real(z)-imag(z))) <= @bailout)) default: title = "CorneredMandelbrot" angle = 37.0 magn = 1.4 center = (-0.85,0.16) func fn1 caption = "Function 1" default = sqr() endfunc func fn2 caption = "Function 2" default = abs() endfunc func fn3 caption = "Function 3" default = sqr() endfunc func fn4 caption = "Function 4" default = conj() endfunc float param shrink default = 1 endparam float param factor default = 0.6 endparam heading caption = "BAILOUT:" ; (bailout test is taken from fractint.ufm - spider - with some additions by me) endheading param test caption = " - test" default = 0 enum = "z<=value" "real" "imag" "and" "or" "real/imag" "imag/real" \ "real*imag" "real^imag" "imag^real" "man+" "man-" "fn(man+)" "fn(man-)" endparam func fun default = log() caption = " - function" enabled = @test == 12 || @test == 13 visible = @test == 12 || @test == 13 endfunc param bailout caption = " - value" default = 4.0 min = 1 endparam }