我学分形

今天蓝杰培训第一天,我跟另外两个同学一起来的,胡哥跟我说。。。反正就是我要知道我自己学会分形和数据结构了,不然还要跟下一组一起重新上。证明方法就是写两篇博客,好,我写,我要跟25组。
初次听说要讲分形,我以为是要讲多深奥的内容,结果,给我的感觉就是用公式算坐标画图,不过,就是用这么简单地方法,各种艺术美的图形形形色色地展现在了我们眼前。
所谓分形,分形是其组成部分以某种方式与整体具有相似的形。如果一个图形及其组成部分以某种方式与整体相似,我们就将该图形叫做分形。
首先创建一个画板,在画板上我们添加一个按钮,对这个按钮加一个监听器,这样当我们点击按钮的时候就可以执行我们想做的了。

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Drawing extends JFrame {
/**
* @param qing
*/
private static Graphics g;

public static void main(String[] args) {
Drawing dr = new Drawing();
dr.initUI();

}

// 设置窗体属性
public void initUI() {
this.setSize(900, 700);
this.setDefaultCloseOperation(3);
this.setTitle("画板");
this.setLayout(new FlowLayout());
JButton jb = new JButton("画图");
this.add(jb);
ActionListener al = new ActionListener() {
// 动作事件的处理方法
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("画图")){
double x1=0,y1=0,x2,y2;
for(int i=0;i<1000000;i++){
Color cl=new Color(i/10000,200-2*i/10000,255-i/10000);
g.setColor(cl);
x2=y1-Math.signum(x1)*Math.sqrt(Math.abs(4*x1-60));
y2=1-x1;
g.drawLine((int)(x2+300),(int)(y2+300),(int)(x2+300),(int)(y2+300));
x1=x2;
y1=y2;
}
}

}

};
jb.addActionListener(al);
this.setVisible(true);

g = this.getGraphics();

}
}
编写分形,主要是要找到所化图形的规律,运用一定的规则
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值