第一步操作永远都是创建一个界面
public class DrawUI extends JFrame {
public void initUI(){
this.setTitle("通过迭代画图");
this.setSize(800,800);
this.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
this.setVisible(true);
}
}
创建的类通过继承自JFrame类,可以直接调用父类的方法,无需创建窗体对象。
接下来重写父类中的方法paint
在这个方法内调用绘制图形的方法(DrawPicture),该方法在下文会有写,调用这个方法就可以将方法内的图形画出来,我们也可以选择在paint方法内写,直接显示。
在这里是创建一个方法,通过调用来显示
public void paint(Graphics g)//重绘图形
{
super.paint(g);
DrawPicture(g);
}
在窗体上绘制分形图形(是以数学函数公式为基础的)
上图为公式和参数值
public void DrawPicture(Graphics g){
double x=0d,y=0d;
double a=-1.8,b=-2.0,c=-0.5,d=-0.9;
double nx=Math.sin(a*y)+c*Math.cos(a*x);
double ny=Math.sin(b*x)+d*Math.cos(b*y);
x=nx;
y=ny;
int px=(int)(x*100);
int py=(int)(y*100);
g.fillRect(px+400,py+400,1,1);
}
}
效果图:
代码:
public void DrawPic