/* * Coupled Map Lattices * Por Rogério Neves * LSI- USP */ import java.awt.*; import java.awt.Graphics; import java.awt.Color; import java.applet.Applet; import java.util.Random; public class cml extends Applet implements Runnable { Random rnd = new Random(); Thread tread; int i,j,cont; int Xx=100,Xy=100; double[][] X; double E=.4; double mu=3.85; int step=8; int delay=10; char map='g'; public synchronized void init() { String par; // Get Parameters par = getParameter("xsize"); if (par!=null) Xx = Integer.parseInt(par); par = getParameter("ysize"); if (par!=null) Xy = Integer.parseInt(par); par = getParameter("cc"); if (par!=null) E = Double.valueOf(par).doubleValue(); par = getParameter("mu"); if (par!=null) mu = Double.valueOf(par).doubleValue(); par = getParameter("step"); if (par!=null) step = Integer.parseInt(par); par = getParameter("delay"); if (par!=null) delay = Integer.parseInt(par); par = getParameter("palette"); if (par!=null) map = par.toLowerCase().charAt(0); X = new double [Xx][Xy]; // Initializes X randomly for(i=0;i.5) c=1; g.setColor(Color.getHSBColor((float)1,(float)0,c)); } g.fillRect(1+i*w,1+j*h,w,h); } } public void start() { setEnabled(true); tread = new Thread(this); tread.start(); } public void stop() { setEnabled(false); tread = null; } public void dispose() { } public void run() { Thread me = Thread.currentThread(); while (tread == me) { try { Thread.currentThread().sleep(delay); } catch (InterruptedException e) { } cont++; // Main Interactor for(i=0;i0)&(i0)&(jstep) { repaint(); cont=1; } } } public void update(Graphics g) { paint(g); } public String getAppletInfo() { return "Logistic Map for\nTime-series\nBy Rogério Neves."; } public String[][] getParameterInfo() { String[][] info = { {"xsize", "integer number", "The cell matrix x size in pixels."}, {"ysize", "integer number", "The cell matrix y size in pixels."}, {"cc", "double between 0 and 1", "The 8-neighbour coupling constant."}, {"mu", "double between 0 and 1", "The cell time-series parameter."}, {"step", "integer greater than 0", "The Nth. interaction to show, 1=show every frame"}, {"delay", "integer greater than 0", "The frame sleep time in microseconds"}, {"palette", "string", "The color oscheme to use (binary, gray, color, hot."} }; return info; } }