利用Java的畫圖闆,可以創造出很多有趣的圖形,利用幾組簡單的公式和幾個點便可以完成。是不是很簡單呢?
分形的思想較為簡單,隻需要了解相應的函數便可以繪出(至于那些公式是怎麼來的,是那些數學家們的事了)。
第一組公式:

第二組公式:
利用這一組公式,可以畫出樹和樹葉的形狀,隻要向其中傳遞不同的參數就可以了。
看到那顆彎彎的樹葉了沒有?畫那片樹葉要用到産生不同機率的随機數。
假設我們要産生的随機數為1,2,3;它們産生的機率分别為0.5,0.4,0.1;
我們首先産生1-10的随機數n,當n>5時,産生1;當1<n<5時,産生2;當n=1時,産生1;這樣,就相當于産生了不同機率的随機數。
何為遞歸?遞歸就是在本方法裡面調用本方法。一個簡單使用遞歸的例子就是求階乘。
上面的圖形就是用遞歸畫出來的,源代碼如下:
public void unique_5(int n,int x0,int y0,int dx,int dy,java.awt.Graphics g){
if(n==0)
return;
((java.awt.Graphics) g).setColor(cl);
int x1,y1,x2,y2;
x1=x0+dx;
x2=x0-dx;
y1=y0+dy;
y2=y0+dy;
g.drawLine(x1, y1, x2, y2);
g.drawLine(x0, y0, x2, y2);
g.drawLine(x0, y0, x1, y1);
g.drawLine((x0+x1)/2, (y0+y1)/2, (x0+x2)/2, (y0+y1)/2);
g.drawLine((x0+x1)/2, (y0+y1)/2, (x1+x2)/2, y2);
g.drawLine((x1+x2)/2, y2, (x0+x2)/2, (y0+y1)/2);
System.out.println(n);
unique_5(n-1,x0,y0,dx/2,dy/2,g);
unique_5(n-1,(x0+x1)/2,(y0+y1)/2,dx/2,dy/2,g);
unique_5(n-1,(x0+x2)/2,(y0+y2)/2,dx/2,dy/2,g);
}