0324 画图小结

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){ 
     
  } 





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