0324 画图总结

课前复习:
参数传递的三种方法:
方法和变量
向对象中传入数据一般有两次机会,第一次机会是建立在对象时通过构造方法将数据传入,另一次机会就是在类中定义一系列的public的方法或者变量。然后再建立完对象后,通过对象实例逐个赋值。
构造器

回调函数

课中联系:
分形画图的代码
xn+1 = sin(a yn) + c cos(a xn)
yn+1 = sin(b xn) + d cos(b yn)
where a, b, c, d are variabies that define each attractor.


<!--EndFragment-->Java代码
package 画点;

import javax.swing.JFrame;


public class Point extends JFrame {
public void initUI(){
this.setSize(500,400);
this.setVisible(true);

java.awt.Graphics g = this.getGraphics();

//创建我们已经实现的监听器对象
Pointadd pa = new Pointadd(g);
//把监听器对象,加给界面
this.addMouseListener(pa);


}
public static void main(String[] args){
Point pt = new Point();
pt.initUI();
}


}

Java代码
package 画点;
import java.awt.Graphics;
import java.awt.event.MouseEvent;

//实现Mouse监听器,放开时画线
public class Pointadd implements java.awt.event.MouseListener{

private double a=1.5f,b=-1.8f,c=1.6f,d=0.9f,x1,y1,x2,y2;
private java.awt.Graphics g;//画布

public Pointadd(Graphics g){
this.g=g;
}

/**
* Invoked when a mouse button has been pressed on a component.
*/
public void mousePressed(MouseEvent e){


}

public void mouseReleased(MouseEvent e){
for(int i=0;i<100000;i++){

this.x2=Math.sin(a*y1)+c*Math.cos(b*x1);
this.y2=Math.sin(b*x1)+d*Math.cos(a*y1);


int x3=(int)(x2*170)+500;
int y3=(int)(y2*170)+400;
g.drawLine(x3, y3,x3,y3);
x1=x2;
y1=y2;

}

}

/**
* Invoked when the mouse enters a component.
*/
public void mouseEntered(MouseEvent e){

}

/**
* Invoked when the mouse button has been clicked (pressed
* and released) on a component.
*/
public void mouseClicked(MouseEvent e){

}
/**
* Invoked when the mouse exits a component.
*/
public void mouseExited(MouseEvent e){

}
}



课后感想:(容我矫情一下=。=)
后来又通过别的方法画其他的图形,突然感觉到代码的神奇,无法言语的神秘。在我的印象里,代码的复写总是冗长而无味的,因此一直望而生畏,觉得没有能力来应付这么复杂而无规律的代码,看着队友都在一个个眼睛发亮不停歇的敲代码,我无法体会其中的乐趣。因为自己总是在学习一件新事物的时候入门总是太慢,总是在学过之后才能体会到其中的真谛,从开始艰难的下定决心要走下去这条路,到现在一直被别人推着前进,从最初没有上进心到现在开始思考未来,开始知道要为自己争取一个未来。我不想给放纵自己一个冠冕堂皇的理由,比如心情不好,比如天气不好,比如时间不够,比如自己最近很疲惫。慢慢的开始规范自己,其实到现在也有好多地方模糊,不过既然选择了这条路,又有什么理由不走的精彩呢。人不逼自己一把,总不知道的自己潜在实力有多大~所以我要做一个文艺充满生活乐趣懂得幽默的技术女,彻底打破大家传统印象中对程序员的枯燥无味的定义。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值