⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fractal.java

📁 Java编写的分形程序
💻 JAVA
字号:
/*作者:连惠城 Keep my name anytime please!请保留作者名字*/import java.awt.*;import java.applet.*;import java.awt.event.*;class FractalCanvas extends Canvas{     String str="Julia";//default str="Julia"     public FractalCanvas()     {          this.setBackground(Color.blue);     }     public void repaint(String s) {         if (s=="Julia"){            str="Julia";          }         if (s=="Mandelbrot") {            str="Mandelbrot";         }         repaint();     }     ////////////     ///////////     public void paint(Graphics g) {          /////////////////          ///begin of julis          if( str=="Julia")          {		int a=350;                int b=350;                double p=-0.12;                double q=0.74;                //double p=-0.1;                //double q=0.69;                int M=100;                int K=255;                double xMin=-1.5;                double yMin=-1.5;                double xMax=1.5;                double yMax=1.5;               double deltaX=(xMax-xMin)/(a-1);               double deltaY=(yMax-yMin)/(b-1);		for(int i=0;i<a;i++)                  for( int j=0;j<b;j++)                  {                     double x0=xMin+i*deltaX;                     double y0=yMin+j*deltaY;                     int k=0;                     int color=0;                     //int cr=0;                    // int cg=0;                     //int cb=0;                     double tempX;                     double tempY;                     double r;                     for(k=1;k<K;k++)                     {                        tempX=x0;                        tempY=y0;                        x0=tempX*tempX-tempY*tempY+p;                        y0=2*tempX*tempY+q;                      //  k=k+1;                        r=x0*x0+y0*y0;                        if(r>M){                         color=(k)*250*250*250;//128*128;                         // cr=k&15;//11111111=255                         // cg=k&240;//1111111100000000=65280                         // cb=k&3840;//&16711680;//1111111100000000=16711680                         break;                         }                        //if(r<=M){                        // continue;                        //}                      }                    //int ratio=400/16;//=256                    g.setColor(new Color(color));                    if(k==K){                       g.setColor(Color.darkGray);                     }                    g.drawLine(i,j,i,j);                  }//end for              }//end of julia              ////////////////          /////////////////          ///begin of Mandelbrot          if( str=="Mandelbrot")          {		int a=350;                int b=350;                double pMin=-2.25;                double qMin=-1.5;                double pMax=0.75;                double qMax=1.5;                int M=100;                int K=255;                double xMin=-1.5;                double yMin=-1.5;                double xMax=1.5;                double yMax=1.5;                double deltaP,deltaQ;                deltaP=(pMax-pMin)/(a-1);                deltaQ=(qMax-qMin)/(b-1);		for(int i=0;i<a;i++)                  for( int j=0;j<b;j++)                  {                     double p0=pMin+i*deltaP;                     double q0=qMin+j*deltaQ;                     double x0=0;                     double y0=0;                     int k=0;                     int color=0;                     //int cr=0;                    // int cg=0;                     //int cb=0;                     double tempX;                     double tempY;                     double r;                     for(k=1;k<K;k++)                     {                        tempX=x0;                        tempY=y0;                        x0=tempX*tempX-tempY*tempY+p0;                        y0=2*tempX*tempY+q0;                      //  k=k+1;                        r=x0*x0+y0*y0;                        if(r>M){                         color=(k)*250*250*25;                         break;                         }                        //if(r<=M){                        // continue;                        //}                      }                    //int ratio=400/16;//=256                    g.setColor(new Color(color));                    if(k==K){                       g.setColor(Color.darkGray);                     }                    g.drawLine(i,j,i,j);                  }//end for              }//end of Mandelbrot              ////////////////       //////////////////////       ////////////////////	}//end of paint}/**\\\\\\\\\\\\*\\\\\\\\\\\\\\\\*\\\\\\\\\\\\\\\\\*/public class Fractal extends Applet{	ControlPanel controlPanel;	FractalCanvas fractalCanvas;       // StrPanel strPanel;	public void init()	{	   setLayout(new BorderLayout());           fractalCanvas=new FractalCanvas();	   controlPanel=new ControlPanel(fractalCanvas);          // strPanel=new StrPanel();           add("South",controlPanel);          // add("North",strPanel);	   add("Center",fractalCanvas);	}}/**\\\\\\\\\\\\*\\\\\\\\\\\\\\\\*\\\\\\\\\\\\\\\\\*//*class StrPanel extends Panel { public StrPanel(){    add(new Label("制作:连惠城  时间:2002.4.26",1)); }}*//**\\\\\\\\\\\\*\\\\\\\\\\\\\\\\*\\\\\\\\\\\\\\\\\*/class ControlPanel extends Panel implements ActionListener{     Button btnJulia;     Button btnMandelbrot;     FractalCanvas fractalCanvas;     public  ControlPanel(FractalCanvas fractalCanvas)     {      this.setBackground(new Color(90000));      this.fractalCanvas=fractalCanvas;   //   setLayout(new GridLayout(1,4,10,3));            add(new Label("         "));//null            btnJulia = new Button("Julia");      add(btnJulia);      btnJulia.addActionListener(this);      btnMandelbrot = new Button("Mandelbrot");      add(btnMandelbrot);      btnMandelbrot.addActionListener(this);            Label label=new Label("制作:连惠城 02/4/26 ");      label.setForeground(Color.yellow);      label.setFont(new Font("",0,12));      add(label);      //setLayout(new BorderLayout());     }   public void actionPerformed(ActionEvent ev)   {        String label=ev.getActionCommand();        if(label.equals("Julia"))        {            fractalCanvas.repaint("Julia");        }        if(label.equals("Mandelbrot"))        {            fractalCanvas.repaint("Mandelbrot");        }   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -