import java.awt.Canvas;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Menu;
import java.awt.MenuBar;
import java.awt.MenuItem;import javax.swing.JFrame;
import javax.swing.JPanel;
public class IFSDEMO extends JFrame { /**
 * @param args
 */
public void paint(Graphics g){
double x,y,newx,newy;
double a,b,c,d,e,f;
double p;
long N=100000;
double map[][];

x=0;
y=0;

map=new double[4][7];
map[0][0] =  0;   map[1][0] =  0.85;   map[2][0] =  0.09;   
    map[0][1] =  0;   map[1][1] =  0.02;   map[2][1] =-0.28;   
    map[0][2] =  0;   map[1][2] =-0.02;   map[2][2] =0.3;   
    map[0][3] =  0.25;   map[1][3] =  0.83;   map[2][3] =  0.11;   
    map[0][4] =  0;   map[1][4] =  0;   map[2][4] =  0;   
    map[0][5] =  -0.14;   map[1][5] =  1;   map[2][5] =  0.6;   
    map[0][6] =  0.02; map[1][6] =  0.84; map[2][6] =  0.07; 
    
    map[3][0] =-0.09;      
    map[3][1] = 0.28;  
    map[3][2] =  0.3;   
    map[3][3] =  0.09;   
    map[3][4] =  0;   
    map[3][5] =  0.7;  
    map[3][6] =  0.07; 
    
    while(N>0)
    {
     p=Math.random();
     if(p<=map[0][6])
     {
     a=map[0][0];
b=map[0][1];
c=map[0][2];
d=map[0][3];
e=map[0][4];
f=map[0][5];
     }
     else if(p<=map[0][6]+map[1][6])
     {
     a=map[1][0];
b=map[1][1];
c=map[1][2];
d=map[1][3];
e=map[1][4];
f=map[1][5];
     }
     else if(p<=map[0][6]+map[1][6]+map[2][6])
     {
     a=map[2][0];
b=map[2][1];
c=map[2][2];
d=map[2][3];
e=map[2][4];
f=map[2][5];
     }
     else 
     {
     a=map[3][0];
b=map[3][1];
c=map[3][2];
d=map[3][3];
e=map[3][4];
f=map[3][5];
     }
     newx=a*x+b*y+e;
     newy=c*x+b*y+f;
     x=newx;
     y=newy;
     g.drawLine((int)x, (int)y,(int)x,(int)y);
    }
}

public IFSDEMO()
{
setTitle("IFS演示系统");
this.setBackground(new Color(255,255,255));
MenuBar mb=new MenuBar();
setMenuBar(mb);

Menu menuFile=new Menu("文件");
Menu menuInit=new Menu("初始元");
Menu menuHelp=new Menu("帮助");
mb.add(menuFile);
mb.add(menuInit);
mb.add(menuFile);

MenuItem miOpen=new MenuItem("打开");
MenuItem miSave=new MenuItem("保存");
MenuItem miExit=new MenuItem("退出");

menuFile.add(miOpen);
menuFile.add(miSave);
menuFile.add(miExit);
}

public static void main(String[] args) {
// TODO Auto-generated method stub
JFrame f=new IFSDEMO();
f.setSize(600,800);
f.setVisible(true);
}
}