import java.applet.Applet; import java.awt.*; import java.awt.event.*; import java.applet.*; import java.awt.geom.*; import java.math.*; public class Links { public static void slider(Manager M) { M.T.SOURCE.y=M.C.getOffsetY(1); stripToTorus(M); } public static void gridToTorus(Manager M) { int f=M.C.getFocus(); int xx=M.K.IS[0].val; int yy=M.K.IS[1].val; Complex z=TorusMap.map(xx,yy,M.C.getOffsetX(f),M.C.getOffsetY(f)); double x1=z.x; double x2=z.y; M.PC1.SOURCE=new Complex(x1,x2); M.PC1.repaint(); M.K.repaint(); } public static void gridToStrip(Manager M) { int f=M.C.getFocus(); int xx=M.K.IS[0].val; int yy=M.K.IS[1].val; Complex z=TorusMap.gridToStrip(xx,yy,M.C.getOffsetX(f),M.C.getOffsetY(f)); double x1=z.x; double x2=z.y; M.T.SOURCE=new Complex(x1,x2); } public static void stripToTorus(Manager M) { Complex z1=new Complex(M.T.SOURCE); double y=z1.y; y=y-2*Math.floor(y/2); M.C.CON_P.PARAMETER[0]=y; M.C.CON_P.PARAMETER[1]=GroupAction.map(y); Complex w1=TorusMap.stripToTorus(z1); M.PC1.SOURCE=new Complex(w1); M.PC1.repaint(); M.PC2.repaint(); M.C.repaint(); M.K.repaint(); } /**This links the renorm partition slice to the original slice.**/ public static void renormLink(Manager M,int type) { double h1=M.C.getOffsetY(1); double h2=M.C.getOffsetY(2); int[] test=new int[0]; Complex z1=M.PC1.SOURCE; Complex z2=M.PC2.SOURCE; Vector V1=new Vector(z1.x,z1.y,h1); Vector V2=new Vector(z2.x,z2.y,h2); if(type==1) test=DataRenorm.indexA(V1); if(type==2) test=DataRenorm.indexB(V2); if((test!=null)&&(type==1)) { Vector W1=DataRenorm.AtoB(test[0],test[1],test[2],V1); M.PC2.SOURCE=new Complex(W1.x[0],W1.x[1]); } if((test!=null)&&(type==2)) { Vector W2=DataRenorm.BtoA(h1,test[0],test[1],V2); M.PC1.SOURCE=new Complex(W2.x[0],W2.x[1]); } } }