//www.timestocome.com import java.awt.*; import java.awt.event.*; import java.util.*; public class Chaos extends Frame implements WindowListener { int xdim = 500; int ydim = 500; int board[][] = new int[xdim][ydim]; public static void main(String[] args) { new Chaos(); } //set up frame and paint public Chaos() { super ( " Chaos Xn+1 = AXn(1-Xn) " ); setBounds ( 0, 0, xdim, ydim ); setVisible ( true ); addWindowListener ( this ); repaint (); } public void update(Graphics g) { paint(g); } public synchronized void paint(Graphics g) { //calculate Xn+1 = A * Xn ( 1 - Xn ); double start = 0.0; double end = 4.0; //after 4 orbit goes off to infinity double a = start + .6; double x=0.01; double y=0.0; int i=0, j=0; int count = 0; double aStart = a; //scale double scale = xdim/(end-aStart); double increment = (end-aStart)/xdim; //grid lines int middle = ydim/2; for ( int s=0; s= aStart ) && ( a