#define g 0.618
#define PI 3.1416
#include "graphics.h"
#include "stdio.h"
#include "conio.h"
#include "math.h"
float thita=60.0;
void grow(int x,int y,float lenth,float fai)
{
int x1,y1;
int nx,ny,count;
float nlenth,t1,t2;
t1 :=cos(fai*PI/180);
t2 :=sin(fai*PI/180);
x1=x+(int)(lenth*t1);
y1=y-(int)(lenth*t2);
line(x,y,x1,y1);
if (lenth<10) return;
nlenth=lenth;
nx=x; ny=y;
for (count=0;count<7;count++)
{
nx=nx+nlenth*(1-g)*cos(fai*PI/180.0);
ny=ny-nlenth*(1-g)*sin(fai*PI/180.0);
grow(nx,ny,nlenth*(1-g),fai+thita);
grow(nx,ny,nlenth*(1-g),fai-thita);
nlenth*=g;
}
}
void main()
{
int gm,gd;
detectgraph(&gd,&gm);
initgraph(&gd,&gm," ");
grow(300,300,280.0,90.0);
getch();
closegraph();
}