2011年11月3日

[OPENGL]碎形

這裡拜用OPENGL畫出來的圖

CJ把他當作這周的加分題交了...



碎形,所謂的碎形就是

遞回的方式產生規律圖案拼湊而成的

大家可以去google看看碎形,會找到很多

最簡單的碎形

大概就是費波那契樹吧...

(這一張是CJ高中時手繪的...)

已下附上程式碼


void fractale(float x,float y,float r)
{   if(r<1);
else
{
float i=0;
glBegin(GL_LINE_LOOP);
for(i=360;i>0;i=i-30)
   {
glVertex2f(x+r*cos(pi*i/180),y+r*sin(pi*i/180));
}
glEnd();
fractale(x+r*cos(pi*0),y+r*sin(pi*0),r/3);
fractale(x+r*cos(pi*1/2),y+r*sin(pi*1/2),r/3);
fractale(x+r*cos(pi),y+r*sin(pi),r/3);
fractale(x+r*cos(pi*3/2),y+r*sin(pi*3/2),r/3);
}
}


使用時請自行指定x,y座標以及圖型半徑r
請呼叫函式之前加上顏色的宣告,不然畫出來的東西會看不到...


沒有留言: